Logstash输出:stdout上的标签

时间:2016-10-03 09:55:42

标签: output logstash

作为ELK的新手,我正在做很多测试以适应这种环境。 我想在CLI中打印Logstash生成的标签,但我没有找到。

有可能吗?我不想将它发送到elasticsearch,然后用Kibana查找数据,我只想知道标签是否在这里以及哪些标签。

以下是我正在尝试做的一个示例: 我正在使用http_poller从URL列表中获取数据,我想看看是否给出了正确的HTTPcode

input {
    http_poller {
        urls => {
            "url1" => "https://www.google.com"
            #"url2" => "https://www.facebook.com"
            #"url3" => "https://www.amazon.com"
            #"url4" => "http://www.google.com"
            #"url5" => "http://www.facebook.com"
            #"url6" => "http://www.amazon.com"
        }
    automatic_retries => 0
    #Check les URL toutes les 30sec
    interval => 30
    #Considere la requete en Timeout au bout de 8secondes
    request_timeout => 8
    tags => website_healthcheck
    }
}
filter{
    if [http_poller_metada][code] == 200{
            mutate{
                    add_tag => "Good request"
            }
    }
}
output {
#Debug
if "Good request" in [tags]{
    stdout{
        codec => rubydebug
    }
}

现在输出是不可读的(google的html页面),我只想阅读HttpCode。

对不起的解释感到抱歉,谢谢你的回答:)

1 个答案:

答案 0 :(得分:0)

解决方案是用标记字段替换message字段,这样您的输出中只会有httpCode。

mutate {
  replace => { "message" => "%{[http_poller_metada][code]}" }
}