Я пытаюсь сравнить два файла журнала haproxy и nginx, используя стек ELK, особенно время отклика в logta sh Я создал два отдельных файла конфигурации в logsta sh для haproxy и nginx, В haproxy I Я получаю время отклика в миллисекундах, например: 2334 и nginx Я получаю его в секундах, например: 1,23.
Я хочу преобразовать время отклика nginx в миллисекундах, я пытался преобразовать он использует фильтр ruby, но не получает правильные результаты, и я думаю, что он конфликтует с моим текущим индексом эластичного поиска, созданным для haproxy.
Ниже приведены два моих файла конфигурации:
Haproxy logsta sh Conf:
input {
beats {
port => 5044
}
}
filter {
grok {
match => { "message" => "%{MONTH:month} %{MONTHDAY:date} %{TIME:time} %{WORD:[source]} %{WORD:[app]}\[%{DATA:[class]}\]: %{IPORHOST:[UE_IP]}:%{NUMBER:[UE_Port]} %{IPORHOST:[NATTED_IP]}:%{NUMBER:[NATTED_Source_Port]} %{IPORHOST:[NATTED_IP]}:%{NUMBER:[NATTED_Destination_Port]} %{IPORHOST:[WAN_IP]}:%{NUMBER:[WAN_Port]} \[%{HAPROXYDATE:[accept_date]}\] %{NOTSPACE:[frontend_name]}~ %{NOTSPACE:[backend_name]} %{NOTSPACE:[ty_name]}/%{NUMBER:[response_time]:int} %{NUMBER:[http_status_code]} %{NUMBER:[response_bytes]:int} - - ---- %{NOTSPACE:[df]} %{NOTSPACE:[df]} %{DATA:[domain_name]} %{DATA:[cache_status]} %{DATA:[domain_name]} %{URIPATHPARAM:[content]} HTTP/%{NUMBER:[http_version]}" }
add_tag => [ "response_time", "response_time" ]
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
output {
elasticsearch { hosts => ["localhost:9200"] }
# stdout {
# codec => rubydebug
# }
}
Nginx logsta sh conf file
input {
beats {
port => 5045
}
}
filter {
grok {
match => { "message" => "%{IPORHOST:clientip} - - \[%{HTTPDATE:timestamp}\] \"%{WORD:verb} %{URIPATHPARAM:content} HTTP/%{NUMBER:httpversion}\" %{NUMBER:response} %{NUMBER:response_bytes:int} \"-\" \"%{GREEDYDATA:junk}\" %{NUMBER:response_time}"}
}
ruby {
code => "event.set('response_time', event.get('response_time').to_i * 1000)"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
stdout { codec => rubydebug }
}