Logstash - 字段值与指标过滤器的平均值进行比较

时间:2015-11-07 21:46:34

标签: elasticsearch logstash metrics

我尝试与日志中的字段值(requestTime)进行比较,以及Metrics过滤器的平均值

"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"进行比较?

修改

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

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

以上解决方案无效。

编译成功没有错误,但Logstash输出为空。

1 个答案:

答案 0 :(得分:0)

您的配置中有拼写错误:

[requestTime] > [requestPage.mean]"

首先需要删除末尾的双引号,然后将第二个字段重命名为[requestPage][mean]

因此您的输出配置应如下所示:

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