使用 Logstash 过滤日志以创建新列
Filtering a log to create new columns with Logstash
我有一个自定义视频服务器,它以下列格式输出日志:
<12>May 18 10:35:53.551 myserver.com host:server: WARNING : call 117 (John Doe): video round trip time of 856 ms observed...
我需要能够在 Logstash 中使用 grok 来创建以下列:
呼叫 -> 117
姓名 -> John Doe
RTT -> 856 毫秒
但我是 Grok 和 Logstash 的新手。我该如何开始呢?
满足您要求的 Grok 模式:
\<%{INT:serialno}\>%{SYSLOGTIMESTAMP:timestamp} %{HOSTNAME:hostname} %{WORD:data}\:%{WORD:data}\: %{LOGLEVEL:log-level} \: %{GREEDYDATA:logmsg} %{INT:call} \(%{GREEDYDATA:name}\)\: %{GREEDYDATA:logmsg} %{INT:RTT} %{WORD:unit} %{GREEDYDATA:logmsg}
您可以使用任何 grok 调试器测试 grok 模式。我用过的是https://grokdebug.herokuapp.com/
这是输出的屏幕截图:
我有一个自定义视频服务器,它以下列格式输出日志:
<12>May 18 10:35:53.551 myserver.com host:server: WARNING : call 117 (John Doe): video round trip time of 856 ms observed...
我需要能够在 Logstash 中使用 grok 来创建以下列:
呼叫 -> 117
姓名 -> John Doe
RTT -> 856 毫秒
但我是 Grok 和 Logstash 的新手。我该如何开始呢?
满足您要求的 Grok 模式:
\<%{INT:serialno}\>%{SYSLOGTIMESTAMP:timestamp} %{HOSTNAME:hostname} %{WORD:data}\:%{WORD:data}\: %{LOGLEVEL:log-level} \: %{GREEDYDATA:logmsg} %{INT:call} \(%{GREEDYDATA:name}\)\: %{GREEDYDATA:logmsg} %{INT:RTT} %{WORD:unit} %{GREEDYDATA:logmsg}
您可以使用任何 grok 调试器测试 grok 模式。我用过的是https://grokdebug.herokuapp.com/
这是输出的屏幕截图: