Logstash grok模式[2017-08-19T12:47:43,822] [INFO] [logstash.agent]已成功启动Logstash API端点{:port => 9600}

时间:2017-08-19 09:56:53

标签: logstash-grok

任何人都可以为下面的行提供logstash grok模式。我想只采取时间戳。

[2017-08-19T12:47:43,822][INFO][logstash.agent] Successfully started Logstash API endpoint {:port=>9600}
[2017-08-19T12:49:47,213][WARN][logstash.agent] stopping pipeline {:id=>"main"}

2 个答案:

答案 0 :(得分:0)

我不确定你想要什么,但这里有两个可能的解决方案:

  • [%{GREEDYDATA:date1}] [%{LOGLEVEL:debugLevel}] [%{USERNAME:agentName}]%{GREEDYDATA:message} [%{TIMESTAMP_ISO8601:date2}] [%{LOGLEVEL:debugLevel2}] [ %{USERNAME:agentName2}]%{GREEDYDATA:message}

此grok模式将提取您日志中的所有信息,然后您决定是否要使用date1或date2字段

  • %{GREEDYDATA:垃圾} [%{TIMESTAMP_ISO8601:日期}]​​%{GREEDYDATA:垃圾}

这个只返回日志的第二个日期

希望它有所帮助!

答案 1 :(得分:0)

如果您只需要时间戳,则应执行以下操作:

\[%{TIMESTAMP_ISO8601:date}\]

https://grokconstructor.appspot.com上两条日志的结果: Result

如果你想匹配整个模式,这样的东西可能符合你的需求:

\[%{TIMESTAMP_ISO8601:date}\]\[%{LOGLEVEL:loglevel}\]\[%{GREEDYDATA:agent}\] %{GREEDYDATA:message}

结果: Results