fluent - 在fluentd中如何解析日志并根据键值创建字段
问题描述
在fluentd中我如何解析这个日志并使用grok模式或json获取ip、方法和严重性等字段
{"log":"2019-08-09 06:54:36,774 INFO 10.2.1.200 [09/Aug/2019:06:54:36 +0000] \"GET / HTTP/1.1\" 200 205 \"-\" \"HCELB/2.0\"\n","stream":"stderr","time":"2019-08-09T06:54:36.77499244Z"}
解决方案
谢谢@gehbiszumeis 你的宝贵帮助,我自己做了修复它。对于未来任何需要的人
@type tail
path /var/log/containers/container-name-*.log
tag tag_name
read_from_head true
<parse>
@type multi_format
<pattern>
format json
</pattern>
</parse>
</source>
<filter tag_name>
@type parser
key_name log
reserve_data true
time_key time
time_format %Y-%m-%dT%H:%M:%S.%NZ
<parse>
@type grok
grok_failure_key grokfailure
<grok>
pattern %{TIMESTAMP_ISO8601:time} %{WORD:severity} %{GREEDYDATA:message}
</grok>
</parse>
</filter>
<filter tag_name>
@type record_transformer
remove_keys log,stream
<record>
type tag_name
</record>
</filter>
```
推荐阅读
- c++ - 指针行为将值设为 1
- python - 使用异步编程每秒打印按键
- angular - 过滤管不工作在角度
- square - Square Connect API 不返回商品数量
- python - ValueError:数据必须是一维的(神经网络)?
- node.js - API 网关 - ALB:主机名/IP 与证书的替代名称不匹配
- javascript - 具有透明/自动生成的客户端-服务器数据层的 JS Web 框架
- ibm-cloud - Watson 助手 我应该使用什么实体来捕获没有格式(任何文本)的投诉/请求文本?
- scala - 为了遍历这个 BTree 实现?
- excel - VBA在excel中获取自定义数据