如何在ELK Kibana中添加额外的字段

时间:2016-07-04 03:21:57

标签: elasticsearch logstash filebeat

我正在使用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,以便我可以根据该字段过滤消息

1 个答案:

答案 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