首页 > 解决方案 > Filebeat 添加不需要的空白字段

问题描述

我的目标是使用 Filebeat 从不同服务器收集日志,并使用 ElasticSearch 和 Kibana 聚合/可视化它们。目前,我将 Logstash 从场景中排除。

到目前为止,我已经能够将 Filebeat 配置为实时推送日志,并且我能够通过 Kibana 界面确认日志确实被推送到 ElasticSearch。


问题:

问题在于 Filebeat(或 ElasticSearch)会自动将额外的空字段/属性添加到索引中。

我可以在 Kibana 界面上看到的一些字段:

aws.cloudtrail.user_identity.session_context.creation_date
azure.auditlogs.properties.activity_datetime
azure.enqueued_time
azure.signinlogs.properties.created_at
cef.extensions.agentReceiptTime
cef.extensions.deviceCustomDate1
cef.extensions.deviceCustomDate2
cef.extensions.deviceReceiptTime
cef.extensions.endTime
cef.extensions.fileCreateTime
cef.extensions.fileModificationTime
cef.extensions.flexDate1
...

它们都是空的字段。

当我使用 来检查该索引的映射时GET /[index]/_mapping,我可以看到大约 3000 个我没有真正添加的字段。我不确定这些字段是如何添加的以及如何删除它们。


再生产:

我使用的 Filebeat 和 ElasticSearch docker 图像:

elasticsearch:7.8.0
elastic/filebeat:7.8.0

在基础镜像之上,我放置了如下简单的基本配置文件:

# filebeat.yml

filebeat.inputs:
- type: log
  paths:
    - /path_to/my_log_file/metrics.log

output.elasticsearch:
  hosts: ["http://192.168.0.1:9200"]
# elasticsearch.yml

cluster.name: "docker-cluster"
network.host: 0.0.0.0

node.name: node-1

discovery.seed_hosts: ["127.0.0.1"]

cluster.initial_master_nodes: ["node-1"]

典型的日志消息如下所示:

2020-07-01 08:40:07,432 - CPUUtilization.Percent:50.0|#Level:Host|#hostname:a78f2ab3da65,timestamp:1593592807
2020-07-01 08:40:07,437 - DiskAvailable.Gigabytes:43.607460021972656|#Level:Host|#hostname:a78f2ab3da65,timestamp:1593592807

谢谢

标签: elasticsearchelastic-stackfilebeat

解决方案


进入Elastic Common Schema (ECS),天赐之物

当 Filebeat 启动时,它会安装一个索引模板,其中包含通用模式中的所有 ECS 字段,这就是为什么您会在索引映射中看到这么多字段的原因,但这并不是真正的问题。

然后,在 Kibana 界面上,您可以在 Table 视图(Discover 选项卡)上看到所有这些“空”字段。但是,如果您切换到 JSON 视图,您会发现这些字段实际上并不在文档中。Filebeat 不会将它们添加到您的文档中。您在表格视图中看到它们的原因是因为 Kibana 正在请求它们(使用docvalue_fields)。只需单击 Inspect 并查看 Kibana 发送到 Elasticsearch 的请求。

所以没什么好担心的,真的。

对于您的实际消息,如果您要解析CPUUtilization.Percent:50.0,您实际上可以将其存储到一个名为的标准 ECS 字段中"system.cpu.total.pct": 50,您可以在 Kibana 的 Metrics 应用程序中看到这些值随着时间的推移而演变。同样的事情DiskAvailable.Gigabytes:43.607460021972656


推荐阅读