Logstash 搭配 ceph 客户端与服务端分离

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} 和 ${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_aclient_b分开?

我是否需要为两者创建一个“独特”的模式?

答案1

我不确定您是否曾经想过如何做到这一点,但我正在寻找适合我自己的环境的东西,我认为唯一的方法是为每个客户端设置模式。

我已经在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 已匹配
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 已匹配
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

相关内容