如何覆盖 Kibana 中的字段值?
How to overwrite field value in Kibana?
我正在使用 Logstash 将数据输入 Elasticsearch,然后使用 Kibana 分析该数据。我有一个包含数字标识符的字段。这些都不容易阅读。如何让 Kibana 覆盖或显示更易于阅读的值?
更具体地说,我有一个 'ip.proto' 字段。当此字段包含 6 时,应显示为 'TCP'。当此字段包含 7 时,应显示为 'UDP'.
我不确定我需要修改 ELK 堆栈中的哪个工具才能实现此目的。
谢谢
您可以使用条件句和 mutate filter:
filter {
if [ip][proto] == "6" {
mutate {
replace => ["[ip][proto]", "TCP"]
}
} else if [ip][proto] == "7" {
mutate {
replace => ["[ip][proto]", "UDP"]
}
}
}
这很快就会变得笨拙,而 translate filter 更优雅(并且可能更快)。未经测试的示例:
filter {
translate {
field => "[ip][proto]"
dictionary => {
"6" => "TCP"
"7" => "UDP"
}
}
}
我正在使用 Logstash 将数据输入 Elasticsearch,然后使用 Kibana 分析该数据。我有一个包含数字标识符的字段。这些都不容易阅读。如何让 Kibana 覆盖或显示更易于阅读的值?
更具体地说,我有一个 'ip.proto' 字段。当此字段包含 6 时,应显示为 'TCP'。当此字段包含 7 时,应显示为 'UDP'.
我不确定我需要修改 ELK 堆栈中的哪个工具才能实现此目的。
谢谢
您可以使用条件句和 mutate filter:
filter {
if [ip][proto] == "6" {
mutate {
replace => ["[ip][proto]", "TCP"]
}
} else if [ip][proto] == "7" {
mutate {
replace => ["[ip][proto]", "UDP"]
}
}
}
这很快就会变得笨拙,而 translate filter 更优雅(并且可能更快)。未经测试的示例:
filter {
translate {
field => "[ip][proto]"
dictionary => {
"6" => "TCP"
"7" => "UDP"
}
}
}