什麼是 fields.yml 文件
這裡我已經安裝了
packetbeat
。所以在學習配置的時候,我在目錄中packetbeat
看到了一個文件。我試圖獲取有關該文件的任何資訊,但沒有獲得源……fields.yml``/etc/packetbeat
請問誰能告訴我該文件是如何工作的,或發送任何文件?
首先,我不是packetbeat使用者,但我使用過heartbeat,winlogbeat,filebeat等……
一般來說,fields.yml 包含您的節拍專門使用的欄位。其中一些欄位預設配置為某些值,例如“name”預設為伺服器的主機名,@timestamp 跟踪時間,在 filebeat 的情況下,“事件日誌記錄的生成時間”。您可以在您正在使用的節拍的主 YAML 中手動填寫其他欄位。這方面的範例包括旨在儲存使用者生成的欄位的“欄位”,以及允許您和彈性堆棧的其他部分標記數據以進行辨識的“標籤”,您可能已經看到 logstash 使用“_jsonparsefailure”標記事件或者您可以標記您自己的數據以輕鬆地將其與特定係統或網路相關聯。然而,在大多數節拍中,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/主/packetbeat-template.html