Logstash 匹配 ceph 客戶端和伺服器分離
所以我有一個新的logstash安裝,我正在嘗試部署logstash來處理日誌。
我正在經歷並將最終根據子系統對logstash過濾器進行分段,目前我正在解析osd日誌。
這是我正在使用的範例行:
2015-06-02 16:45:49.515277 7f4968cfe700 0 -- 10.16.64.68:6813/97613 >> 10.16.64.29:6805/35260 pipe(0x25e36500 sd=538 :6813 s=2 pgs=15426 cs=623 l=0 c=0x1586fa20).fault with nothing to send, going to standby
我的過濾器目前看起來像這樣:
%{TIMESTAMP_ISO8601:date} %{BASE16FLOAT:osd_epoch} %{NUMBER:error_bool} -- %{CEPH_HOST:client_A} %{FROMTO} %{CEPH_HOST:client_B}
在哪裡 $ {CEPH_HOST} and $ {FROMTO} 只是簡短的模式::
FROMTO (?:[<|>]){1,2} CEPH_HOST (%{IPORHOST:ip}\:%{POSINT:port}/%{POSINT:socket})
問題是 IP 現在似乎包含兩個地址。
"client_A": [ [ "10.16.64.68:6813/97613" ] ], "ip": [ [ "10.16.64.68", "10.16.64.29" ] ], "HOSTNAME": [ [ "10.16.64.68", "10.16.64.29"
我想摸索它,讓它
client_a
有一個 IP 並且client_b
有一個 IP。然而,這到底重要嗎?
我可以保持原樣嗎?
如果是這樣,我以後可以排序嗎?如果沒有,我該如何分割它
client_a
並client_b
分開?我需要為兩者創建一個“獨特”的模式嗎?
我不確定你是否知道如何做到這一點,但我正在為我自己的環境尋找類似的東西,我認為唯一的方法是為每個客戶端設置模式。
我已經在grok 建構子中測試了它們並且它們返回了有效欄位。
如果您只想為客戶端 A (10.16.64.68:6813/97613) 和客戶端 B (10.16.64.29:6805/35260) 設置一個欄位,這將起作用:
%{TIMESTAMP_ISO8601:date} %{BASE16FLOAT:osd_epoch} %{NUMBER:error_bool} -- (?<client_a>(%{IPORHOST}\:%{POSINT}/%{POSINT})) %{FROMTO} (?<client_b>(%{IPORHOST}\:%{POSINT}/%{POSINT}))
2015-06-02 16:45:49.515277 7f4968cfe700 0 – 10.16.64.68:6813/97613 10.16.64.29:6805/35260 MATCHED
client_a: 10.16.64.68:6813/97613
client_b: 10.16.64.29:6805/35260
error_bool: 0
日期:2015-06-02·16:45:49.515277
osd_epoch: 7f4968cfe700
如果您還想要該連接的每個元素(客戶端 a/b IP、客戶端 a/b 埠、客戶端 a/b 套接字)的單獨欄位,則此模式應該有效:
%{TIMESTAMP_ISO8601:date} %{BASE16FLOAT:osd_epoch} %{NUMBER:error_bool} -- (?<client_a>(%{IPORHOST:client_a_ip}\:%{POSINT:client_a_port}/%{POSINT:client_a_socket})) %{FROMTO} (?<client_b>(%{IPORHOST:client_b_ip}\:%{POSINT:client_b_port}/%{POSINT:client_b_socket}))
2015-06-02 16:45:49.515277 7f4968cfe700 0 – 10.16.64.68:6813/97613 10.16.64.29:6805/35260 MATCHED
client_a: 10.16.64.68:6813/97613
client_b: 10.16.64.29:6805/35260
client_a_ip: 10.16 .64.68
client_b_ip: 10.16.64.29
client_a_port: 6813
client_b_port: 6805
client_a_socket: 97613
client_b_socket: 35260
error_bool: 0
日期: 2015-06-02·16:45:49.515277
osd_epoch: 7f4968cfe700