我正在使用ELK和kibana。
我也在使用filebeat将数据发送到Logstash。
我创建了这样的
{
"mappings": {
"_default_": {
"properties": {
"msg":{"type":"string", "index":"not_analyzed"}
}
},
"log": {
"properties": {
"@timestamp":{"type":"date","format":"strict_date_optional_time||epoch_millis"},
"@version":{"type":"string"},
"beat": {
"properties": {
"hostname":{"type":"string"},
"name":{"type":"string"},
}
},
"count":{"type":"long"},
"host":{"type":"string"},
"input_type":{"type":"string"},
"message":{"type":"string"},
"msg":{"type":"string","index":"not_analyzed"},
"offset":{"type":"long"},
"source":{"type":"string"},
"type":{"type":"string"}
}
}
}
}';
我想知道,就像beat一样有2个字段,比如主机名和名字。是否可以添加更多字段,例如我在kibana中可以看到的environment: dev
,以便我可以根据该字段过滤消息
答案 0 :(得分:1)
是的,您可以在filebeat.yml
配置中specify additional fields。将创建这些新字段。您有两种选择,您可以指定fields
和/或fields_under_root
。
如果您使用前者(见下文),您的自定义字段中的新fields
子组将显示在您的文档中,您将能够在Kibana中使用fields.environment: dev
过滤邮件。
fields:
environment: dev
如果您使用后者(见下文),您的自定义字段将显示在文档的顶层,您将能够在Kibana中使用environment: dev
过滤邮件。
fields_under_root: true