【发布时间】:2018-09-25 14:45:35
【问题描述】:
我想从 AWS WAF 的 json 日志中解析一些字段。在输入logstash使用:
s3 {
bucket => "XXXX"
access_key_id => "XXXX"
secret_access_key => "XXXX"
prefix => "waf/"
region => "XXX"
sincedb_path => "/tmp/s3.sincedb"
add_field => [ "lso_name", "NULL", "lsi_type", "s3", "lsi_name", "waf" ]
codec => "json"
}
我收到如下消息:
{
"httpSourceName"=>"CF",
"httpRequest"=> {
"clientIp"=>"XX.XX.XX.XX",
"httpMethod"=>"GET",
"requestId"=>"XXXX",
"uri"=>"XXX",
"headers"=>
[
{"name"=>"Host", "value"=>"test.exmaple.com"},
{"name"=>"user-agent", "value"=>"Mozilla/5.0"},
{"name"=>"accept", "value"=>"*/*"}
]
}
}
我正在尝试在 logstash 过滤器中解析该标头,但无法做到。
kibana 中的输出应该是这样的:
"httpRequest.headers.Host" => "test.example.com"
"httpRequest.headers.user-agent" => "Mozilla/5.0"
我尝试了json过滤甚至kv,但没有成功。
感谢您的回复。
【问题讨论】:
-
如果有两个同名的标题会发生什么?
-
我不确定,这甚至可能发生。
-
罕见情况。但是可以在 http 中接收具有相同名称的标头。 stackoverflow.com/questions/24502132/….
标签: logstash elastic-stack logstash-configuration