0

我的日志看起来像这样

00009139 2015-03-03 00:00:20.142  5254 11607 "HTTP First Line: GET /?main&legacy HTTP/1.1"

我尝试使用 grok 调试器来格式化这些信息,但没有成功。有没有办法使用 grok 获得这种格式?引用的字符串将是消息

所以我只是通过使用 grok 模式页面来使用以下格式。

%{NUMBER:Sequence} %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}? %{NUMBER:Process}%{NUMBER:Process2}%{WORD:Message}
4

2 回答 2

0

这是我能得到的最接近当前信息的信息。

%{INT}%{SPACE}%{TIMESTAMP_ISO8601}%{SPACE}%{INT:pid1}%{SPACE}%{INT:pid2}%{SPACE}%{GREEDYDATA:message}

使用上面的 grok 模式,这就是 grokdebugger “捕获”的内容:

{
  "INT": [
    [
      "00009139"
    ]
  ],
  "SPACE": [
    [
      " ",
      "  ",
      " ",
      " "
    ]
  ],
  "TIMESTAMP_ISO8601": [
    [
      "2015-03-03 00:00:20.142"
    ]
  ],
  "YEAR": [
    [
      "2015"
    ]
  ],
  "MONTHNUM": [
    [
      "03"
    ]
  ],
  "MONTHDAY": [
    [
      "03"
    ]
  ],
  "HOUR": [
    [
      "00",
      null
    ]
  ],
  "MINUTE": [
    [
      "00",
      null
    ]
  ],
  "SECOND": [
    [
      "20.142"
    ]
  ],
  "ISO8601_TIMEZONE": [
    [
      null
    ]
  ],
  "pid1": [
    [
      "5254"
    ]
  ],
  "pid2": [
    [
      "11607"
    ]
  ],
  "message": [
    [
      ""HTTP First Line: GET /?main&legacy HTTP/1.1""
    ]
  ]
}

希望我能有所帮助。

于 2015-05-12T15:34:20.337 回答
0

尝试%{WORD:Message}在 grok 的末尾替换为%{QS:message}.

希望这可以帮助 :)

于 2016-04-13T17:52:51.173 回答