2015-11-06 30 views
0

我正在使用ELK可視化連接到我的服務器的所有客戶端(通過膩子連接的計算機)IP地址的信息。 我正在使用'last'命令來獲取連接到我的服務器的所有機器的IP地址列表。logstash - 收集有關IP連接到服務器的信息

最後一個命令的輸出是如下

根PTS/0 32.97.110.56週一16年10月5日:44- 17點33分(19時03分)

根PTS/0 32.97.110.56週一10月5日18:06 - 18:19(00:12)

當我在kibana上推送這個信息時,使用logstash和elastic search我可以看到如下信息。

消息:根PTS/0 32.97.110.56週一10月5日16點44分 - 17時33分

我想通過空間分割的「信息」,這樣我可以爲每個在kibana不同的字段。 請給我建議我該怎麼做。 謝謝。

回答

0

grok過濾器可用於將消息解析爲更有用的查詢結構。

grok模式是正則表達式,但還包括一個library of common patterns可以使用,而不是從頭開始編寫自己的表達式。這種類型的簡單解析的有用模式是NOTSPACE,它匹配任何非空白字符。其他模式(如IP)也可以用於確保所選數據實際上是您的預期。

filter { 
    grok { 
    match => { 
     "message" => "^%{NOTSPACE:user} %{NOTSPACE:tty} %{IP:ip}" 
    } 
    named_captures_only => true 
    } 
} 
相關問題