我正在为 Java 应用程序使用 logstash 插件,使用 logback 将日志转发到我的 logstash 服务器。我已经设置了一个过滤器定义如下:
input {
tcp {
port => 2856
codec => json_lines
}
}
filter {
mutate {
convert => {
"tenantId" => "integer"
"userId" => "integer"
}
}
}
使用以下配置将日志转发到 Elasticsearch:
output {
elasticsearch {
hosts => ["127.0.0.1:9200"]
user => "user"
password => "secure"
}
}
索引只是进入 logstash-,当我检查 Elasticsearch 中的映射时,我看到以下内容:
"logstash-2016.04.25" : {
"mappings" : {
"logs" : {
"_all" : {
"omit_norms" : true,
"enabled" : true
},
"properties" : {
...
"userId" : {
"type" : "long"
},
"tenantId" : {
"type" : "long"
},
...
}
}
}
}
所以我可以看到这些字段被设置为适当的类型,但是当我检查 Kibana 时,它们既没有被分析也没有被定义为长值。我错过了什么?
假设这些是给定索引中的新字段,您需要告诉 Kibana刷新它的字段列表。