我有一个通过filebeat进入我的logstash实例的主机名字段被传递给ElasticSearch,在那里它被视为分析字段。这会导致问题,因为字段本身需要在其整体中进行报告。
示例:了解有多少请求来到" prd-awshst-x-01"而不是把它们分成prd,awshst,x,01。
有没有人有一种轻量级的方法可以用于可视化?
谢谢,
答案 0 :(得分:1)
我们必须更新特定字段的已分析映射到not_analyzed。
PUT/ mapping url/
{
property:{
field:{
text:"not_analyzed"
}
}
}
更新属性后,请检查是否在映射网址上使用GET方法映射。
答案 1 :(得分:0)
根据帖子的标题,您已经知道需要将字段的映射更改为not_analyzed。
您应该设置一个模板,以便将来的索引包含此映射。
如果您想保留现有数据,则必须使用新映射将其重新索引到新索引中。
如果你正在使用默认的logstash模板,它可能会创建一个not_analyzed" .raw"您可以在kibana中进行可视化的字段。
答案 2 :(得分:0)
Filebeat提供的index template将主机名字段配置为not_analyzed。
您应该手动install the index template随Filebeat提供,然后配置Logstash以将数据写入Filebeat索引,如docs中所述。
这就是elasticsearch
输出的样子。如果您正在通过Logstash处理其他数据,那么您可能希望在此输出周围添加条件,以便仅通过此输出发送节拍事件。
output {
elasticsearch {
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}