ELK 堆栈:服务器 - elasticsearch + logstash + kibana 客户端 - filebeat
我正在创建一个集中式日志记录系统。Logstash 向 Kibana 发送了多个重复且无法删除的字段:beat.hostname、beat.name、host。在任何地方,客户端上的计算机名称(默认情况下发送 filebeat)都以值的形式给出。
我删除了主机字段:
filter {
if [type] == "java" {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{DATA:thread} %{JAVACLASS:class} %{GREEDYDATA:log}" }
}
mutate {
remove_field => [ "beat.hostname", "beat.name", "host" ]
}
}
}
而且beat.hostname无法beat.name删除。怎么去掉这三个值让主机名显示一次???
文档说字段名称必须写在方括号中,不包括顶级字段:
也就是说,您需要将字段写为 [beat][hostname]、[beat][name]。