标签: grok

nginx 错误日志 Grok 模式

我无法在grok 调试器中解析以下 nginx 错误日志消息。我有一种感觉,我应该使用一个愚蠢的技巧,但无法弄清楚它可能是什么。

2015/03/20 23:35:52 [错误] 8#0: *10241823 在记录请求时测试“/www”存在失败(2:没有这样的文件或目录),客户端:201.45.203.78,服务器:$domain,请求:“GET /ritikapuri_”

到目前为止,这是我的 Grok 模式:

(?<timestamp>%{YEAR}[./]%{MONTHNUM}[./]%{MONTHDAY} %{TIME}) \[%{LOGLEVEL:severity}\] %{POSINT:pid}#%{NUMBER}: %{GREEDYDATA:errormessage} client: %{IP:client}
Run Code Online (Sandbox Code Playgroud)

这种模式让我进入“服务器”部分,但我似乎无法解析其余部分,我不清楚为什么。

如果我使用另一个 %{GREEDYDATA} 模式来获取日志的末尾,它有时不会解析与上述不匹配的日志并给我一个 _grokparsefailure。

最好的方法是使用 if 语句来捕获 nginx 中日志消息的不同变体吗?

我已经遵循了包括这个在内的方法,但无法让它们工作。

nginx logging regex logstash grok

7
推荐指数
1
解决办法
8981
查看次数

标签 统计

grok ×1

logging ×1

logstash ×1

nginx ×1

regex ×1