2016-10-03 186 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