所以我需要编写一个过滤器,将字段名称中的所有句点更改为下划线。我喜欢变异,我可以做一些事情,而不是其他事情。这里是我在Kibana的当前输出。
查看那些说“packet.event-id”等字段?我需要重命名所有这些。这是我写的过滤器,我不知道它为什么不起作用
问题是我可以添加一个字段,并重命名“offset”WORKS。但是,当我尝试做包时,没有任何改变。我觉得这应该很简单,我很困惑为什么只有一个有句号的人不起作用。
我已经更新了Kibana中的索引,但仍然没有任何变化。有人有解决方案吗?
答案 0 :(得分:2)
当它们以Kibana中的点缀符号显示时,它是因为最初以json格式加载的文档有结构。
要使用logstash访问文档结构,您需要在重命名过滤器中使用[packet][event-id]
而不是packet.event-id
。
例如:
filter {
mutate {
rename => {
"[packet][event-id]" => "my_packet_event_id"
}
}
}
答案 1 :(得分:0)
您可以通过向filebeat.yml
添加几行配置直接在Filebeat中进行JSON解析。
filebeat.prospectors:
- paths:
- /var/log/snort/snort.alert
json.keys_under_root: true
json.add_error_key: true
json.message_key: log
您不需要重命名字段。如果您确实需要访问Logstash中的字段,则可以将该字段引用为[packet][length]
。有关语法的文档,请参阅Logstash field references。
顺便说一句,有de_dot替换字段名称中的点,但在这种情况下不应该应用。