fields.yml 文件是什么

fields.yml 文件是什么

这里我已经安装好了packetbeat。所以在学习配置的时候我在目录中 packetbeat看到了一个文件。我试图获取有关该文件的任何信息,但没有获取源......fields.yml/etc/packetbeat

请有人告诉我该文件如何工作,或发送任何文档?

答案1

首先,我不是 packetbeat 用户,但我使用过 heartbeat、winlogbeat、filebeat 等......

一般来说 fields.yml 包含您的节拍专门使用的字段。其中一些字段默认配置为某些值,例如“name”默认为服务器的主机名,@timestamp 跟踪时间,在 filebeat 的情况下,“事件日志记录生成时”。您可以在您正在使用的节拍的主 YAML 中手动填写其他字段。这方面的示例包括用于存储用户生成的字段的“字段”,以及允许您和弹性堆栈的其他部分标记数据以进行识别的“标签”,您可能已经看到过 Logstash 使用“_jsonparsefailure”标记事件或者您可以标记自己的数据,以便轻松地将其与特定系统或网络关联起来。然而,在大多数 Beats 中,fields.yml 中包含的大多数字段都是与您正在收集的信息类型相关的字段,主要的例外是 filebeat,因为它旨在保持灵活性。这意味着对于 winlogbeat、auditbeat、packetbeat 等。每个受支持事件的每个字段都包含在此文件中。

对此进行扩展以专门针对 Packetbeat,因为 packetbeat 仅生成包含预定义字段的事件(与 filebeat 不同),packetbeat 使用的所有可能字段都在 fields.yml 中列出。您可以在以下位置按协议查看这些字段:https://github.com/elastic/beats/tree/master/packetbeat/protos 在任何协议下,您都感兴趣,即.../icmp/_meta/fields.yml

您看到的编译后 fields.yml 是每个单独 fields.yml 文件的聚合。

我找不到很多与此相关的文档,就说为什么这个文件需要存在的明确原因。我的猜测是该yaml文件用于生成elasticsearch的索引模板,基于每个节拍,这就是为什么它存在于大多数节拍的配置目录中。

有关索引模板的相关阅读可以在这里找到: https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html

您可以通过以下方式获取索引映射到的字段:GET /index-name(如果您使用了节拍的索引模板)或使用本指南 https://www.elastic.co/guide/en/beats/packetbeat/master/packetbeat-template.html

相关内容