Logstash 过滤插件 json kv
过滤插件(Filter)
过滤阶段:将日志格式化处理
常用插件:
• json • kv • grok • geoip • date
过滤插件:通用配置字段
过滤插件都支持的字段:
• add_field 如果过滤成功,添加一个字段到这个事件
• add_tags 如果过滤成功,添加任意数量的标签到这个事件
• remove_field 如果过滤成功,从这个事件移除任意字段
• remove_tag 如果过滤成功,从这个事件移除任意标签
过滤插件:JSON
JSON插件:接收一个json数据,将其展开为Logstash事件中的 数据结构,放到事件顶层。
常用字段:
• source 指定要解析的字段,一般是原始消息message字段
• target 将解析的结果放到指定字段,如果不指定,默认在 事件的顶层
示例:解析HTTP请求
修改logstash配置文件
vim /opt/elk/logstash/conf.d/test.conf
input { |
热加载配置
kill -HUP <logstash pid> |
模拟数据:
vim /var/log/test/2.log |
访问kibana:
这里只会展示以test-开头所有的索引,因为这里的索引是按照天进行存储的,这样就可以匹配所有的天,这样好处是清理索引历史的日志,就可以针对天删除索引了。也就是删除数据库一样。
可以看到kibana可以根据这些字段查询出我们所需要的数据
可以看到这些字段很重要,这些字段可以标识出日志当中有哪些关键字段,从而根据这些字段查询我们需要的数据。可以看到通过json过滤模块格式化处理解析为顶层的字段
参考连接:
https://blog.csdn.net/qq_34556414/article/details/111251732
过滤插件:KV
KV插件:接收一个键值数据,按照指定分隔符解析为Logstash 事件中的数据结构,放到事件顶层。 常用字段:
• field_split 指定键值分隔符,默认空
示例:解析URL中参数
vim /opt/elk/logstash/conf.d/test.conf
input { |
热加载配置
kill -HUP <logstash pid> |
模拟数据:
vim /var/log/test/2.log |
访问kibana: