2015-11-07 2 views
0

Я пытаюсь сравнить значение поля (requestTime) из журнала, и среднего значение из Metrics фильтраLogstash - значение поля по сравнению с средним значением из показателей фильтрации

"requestTime" является «groked» из моего журнала по: %{INT:requestTime}

секция фильтра:

metrics { 
    timer => [ "requestPage", "%{requestTime}" ] 
    add_tag => "metric" 
} 

Выходной раздел:

if "metric" in [tags] { 
    if [requestTime] > "[requestPage.mean]" { 
     stdout { codec => rubydebug } 
    } 
} 

Выход Logstash после этого пуст - почему?

Как исправить по сравнению с "requestTime" и "requestPage.mean"?

EDIT

if "metric" in [tags] { 
    if [requestTime] > "[requestPage.mean]" { 
     stdout { codec => rubydebug } 
    } 
} 

или

if "metric" in [tags] { 
    if [requestTime] > [requestPage.mean] { 
     stdout { codec => rubydebug } 
    } 
} 

выше решений не работает.

Успех компиляции без ошибок, но вывод Logstash пуст.

ответ

0

У вас есть опечатка в конфигурации:

[requestTime] > [requestPage.mean]" 

Сначала необходимо удалить двойные кавычки в конце, а затем переименовать второе поле для [requestPage][mean]

Таким образом, ваша выходная конфигурация должна выглядеть следующим образом:

if "metric" in [tags] { 
    if [requestTime] > [requestPage][mean] { 
     stdout { codec => rubydebug } 
    } 
} 
+0

Ошибка при вводе данных - я редактирую сообщение. – matuszm92

+0

Смотрите мой ответ, вам нужно '[requestPage] [mean]', а не '[requestPage.mean]' – Val

+0

Я меняю его, но результат также пуст. – matuszm92