这是一个稍微改写的版本:
谁在吃我的田?(或者:我如何从我的节拍消息中获取更多自定义字段到灰色日志中)
我正在使用 filebeat 从一堆 docker 容器中收集日志,然后将它们发送到 graylog beats 输入。使用 tcpdump,我可以看到输入端口上的消息,包括 json 中 docker 和 aws 元数据字段的完整补充:
0x10e0: 223a 7b22 7265 6769 6f6e 223a 2265 752d ":{"region":"eu-
0x10f0: 6365 6e74 7261 6c2d 3122 2c22 6176 6169 central-1","avai
0x1100: 6c61 6269 6c69 7479 5f7a 6f6e 6522 3a22 lability_zone":"
0x1110: 6575 2d63 656e 7472 616c 2d31 6122 2c22 eu-central-1a","
0x1120: 696e 7374 616e 6365 5f69 6422 3a22 692d instance_id":"i-
0x1130: 3034 6237 3133 3630 3633 6436 6165 3064 04b7136063d6ae0d
0x1140: 6122 2c22 6d61 6368 696e 655f 7479 7065 a","machine_type
0x1150: 223a 226d 342e 6c61 7267 6522 2c22 7072 ":"m4.large","pr
0x1160: 6f76 6964 6572 223a 2265 6332 227d 7d2c ovider":"ec2"}},
但是,graylog 中的消息缺少其中的大部分,仅存在最少的字段(见下图)。我想知道我怎样才能让其余的出现?或者,更确切地说,我如何控制消息中实际存储的内容?
实际上,我只是误解了我对 graylog 的期望。然而,这已经过时了。graylog 3 中重写的节拍输入就像我想要的那样处理这些字段。