그냥 올려봅니다.
[logstash config]
input {
http {
codec => json {
}
}
}
filter {
mutate {
add_filed => { "request_uri" => "%{headers[request_uri]}" }
replace => { "message" => "input http 사용 시 headers 내부 변수 접근(nested variables)" }
}
grok {
match => { "request_uri" => "%{URIPARAM:request}" }
}
}
output {
stdout { codec => rubydebug }
}
뭐 정말 별거 아닌고 모니터링 시스템 설계 하다가 prototype 구현을 해봐야 겠다 싶어서 대충 돌려보다 grok 에러가 발생해서 기록해 본겁니다.
[logstash http input 사용 시 출력 결과]
{
"message" => "",
"@version" => "1",
"@timestamp" => "2016-05-18T07:19:36.140Z",
"host" => "127.0.0.1",
"headers" => {
"request_method" => "GET",
"request_path" => "/",
"request_uri" => "/?message=test",
1 input {
"http_version" => "HTTP/1.1",
"http_host" => "127.0.0.1:8080",
"http_user_agent" => "curl/7.43.0",
"http_accept" => "*/*"
},
"tags" => [
[0] "_grokparsefailure"
]
}