Есть стэк ELK с kibana на фронте. Хочу загружать туда json логи моего uwsgi.
Uwsgi на выходе выдает такой лог:
{"timestamp": "2019-03-05T15:00:32", "event": "uwsgi_request", "method": "GET", "uri": "/doc/%D0%A0%D0%B5%D0%BA%D0%B2%D0%B8%D0%B7%D0%B8%D1%82%D1%8B%20%D0%9E%D0%9E%D0%9E.xls", "proto": "HTTP/1.1", "status": 500, "referer": "-", "user_agent": "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)", "remote_addr": "141.8.142.12", "http_host": "myhost.com", "pid": 85188, "worker_id": 4, "core": 0, "async_switches": 1, "io_errors": 0, "rq_size": 0, "rs_time_ms": 41, "rs_size": 1092, "rs_header_size": 142, "rs_header_count": 4}
Пытался парсить стандартными средствами logstash, но на выходе ничего не оказывается
filter {
if [type] == "nginx_access" {
grok {
match => { "message" => "%{IPORHOST:remote_ip} - %{DATA:user} \[%{HTTPDATE:access_time}\] \"%{WORD:http_method} %{DATA:url} HTTP/%{NUMBER:http_version$
}
}
date {
match => [ "timestamp" , "dd/MMM/YYYY:HH:mm:ss Z" ]
}
geoip {
source => "remote_ip"
target => "geoip"
add_tag => [ "nginx-geoip" ]
}
else if [type] == "django" {
json {
source => "message"
}
}
}