2016-10-03 148 views
0

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

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

这里是我想要做的一个例子:我使用http_poller从一个网址列表获取数据 ,我想看看是否正确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 
    } 
} 

现在输出是不可读的(谷歌的HTML页面),我想只读取HttpCode。

对不起穷人的解释,并感谢您的答案:)

回答

0

一种解决方案是标签领域,以取代message领域,所以你只能在你的输出httpCode。

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

它的工作原理,感谢您的帮助! – Yaiba