【发布时间】:2015-10-06 12:23:12
【问题描述】:
我有以下形式的 nginx 错误日志:-
2015/09/30 22:19:38 [错误] 32317#0: *23 [lua] response.lua:61: handler():Cassandra错误:唯一检查期间出错:Cassandra 错误:连接被拒绝,客户端:127.0.0.1,服务器:,请求:“POST /consumers/ HTTP/1.1”,主机:“localhost:8001”
如here 所述,我能够解析这些日志。
我的过滤器配置如下:-
filter {
grok {
match => {
"message" => [
"%{DATESTAMP:mydate} \[%{DATA:severity}\] (%{NUMBER:pid:int}#%{NUMBER}: \*%{NUMBER}|\*%{NUMBER}) %{GREEDYDATA:mymessage}",
"%{DATESTAMP:mydate} \[%{DATA:severity}\] %{GREEDYDATA:mymessage}",
"%{DATESTAMP:mydate} %{GREEDYDATA:mymessage}"
]
}
add_tag => ["nginx_error_pattern"]
}
if ("nginx_error_pattern" in [tags]) {
grok {
match => {
"mymessage" => [
"server: %{DATA:[request_server]},"
]
}
}
grok {
match => {
"mymessage" => [
"host: \"%{IPORHOST:[request_host]}:%{NUMBER:[port]}\""
]
}
}
grok {
match => {
"mymessage" => [
"request: \"%{WORD:[request_method]} %{DATA:[request_uri]} HTTP/%{NUMBER:[request_version]:float}\""
]
}
}
grok {
match => {
"mymessage" => [
"client: %{IPORHOST:[clientip]}",
"client %{IP:[clientip]} "
]
}
}
grok {
match => {
"mymessage" => [
"referrer: \"%{DATA:[request_referrer]}\""
]
}
}
}
}
mydate 的日期为:-
"mydate" => "15/09/30 22:19:38"
有人可以告诉我如何添加一个日期为2015-09-30 的字段(比如log_day)吗?
【问题讨论】:
标签: logstash logstash-grok logstash-configuration