【Beats】Filebeat配置及索引生命周期(十八)


  在Filebeat配置中,處理配置 輸入(filebeat.inputs)輸出(output),還可以配置一些其他配置,如:全局配置、常規配置、索引生命周期管理、處理器等

  文檔地址:https://www.elastic.co/guide/en/beats/filebeat/7.x/configuring-howto-filebeat.html

全局Filebeat配置選項

  這些選項位於filebeat名稱空間中。

  registry.path

  注冊表的根路徑,默認值:${path.data}/registry

  示例

1 filebeat.registry.path: registry

  registry.file_permissions

  要應用於注冊表數據文件的權限掩碼。默認值為0600。

  示例

1 filebeat.registry.file_permissions: 0600

   config_dir

  該config_dir選項必須指向主Filebeat配置文件所在目錄以外的目錄。如果指定的路徑不是絕對路徑,則將其視為相對於配置路徑。

  示例

1 filebeat.config_dir: path/to/configs

 

Filebeat常規配置

  所有Elastic Beats都支持這些選項。因為它們是通用選項,所以它們沒有命名空間。

  name

  Beats的名稱。如果此選項為空,hostname則使用服務器的。該名稱作為agent.name每個已發布交易中字段包括在內您可以使用該名稱對單個Beat發送的所有交易進行分組。

  示例

1 name: "my-shipper"

  tags

  Beat在tags每個已發布交易字段中包括的標簽列表標記使按不同邏輯屬性對服務器進行分組變得容易。例如,如果您有一個Web服務器群集,則可以在每個服務器上的Beat上添加“ webservers”標簽,然后在Kibana Web界面中使用過濾器和查詢來獲得整個服務器組的可視化效果。

  示例

1 tags: ["my-service", "hardware", "test"]

  fields

  您可以指定可選字段以將其他信息添加到輸出中。字段可以是標量值,數組,字典或它們的任何嵌套組合。默認情況下,您在此處指定的字段將被分組fields到輸出文檔中子詞典要將自定義字段存儲為頂級字段,請將fields_under_root選項設置為true。

  fields_under_root

  如果此選項設置為true,則自定義字段將作為頂級字段存儲在輸出文檔中,而不是分組在fields子詞典下。如果自定義字段名稱與其他字段名稱沖突,則自定義字段將覆蓋其他字段。

  示例

1 fields_under_root: true
2 fields:
3   instance_id: i-10a64379
4   region: us-east-1

 

測試常規配置

  完整測試配置如下:

 1 # 自定義測試配置文件test-nginx.yml
 2 
 3 # 輸入
 4 filebeat.inputs:
 5 - type: log
 6   enabled: true
 7   paths:
 8     - /data/logs/nginx-1.16.1/access.log
 9 name: "my-shipper"
10 # 增加標簽
11 tags: ["nginx"]
12 # 增加字段
13 fields:
14   instance_id: i-10a64379
15   region: us-east-1
16 # 表示字段加在根節點下
17 fields_under_root: true
18 
19 # 指定索引的分區數
20 setup.template.settings:
21   index.number_of_shards: 3
22 
23 
24 # 輸出到指定ES的配置
25 output.elasticsearch:
26   hosts: ["127.0.0.1:9200"]
27   username: "elastic"
28   password: "123456"

  運行Filebeat,ES獲取到數據如下:

 1 {
 2   "_index": "filebeat-7.6.1-2020.06.21-000001",
 3   "_type": "_doc",
 4   "_id": "Kwvb3HIBeBo_vUMF439C",
 5   "_version": 1,
 6   "_score": 0,
 7   "_source": {
 8     "@timestamp": "2020-06-22T16:28:16.600Z",
 9     "ecs": {
10       "version": "1.4.0"
11     },
12     "host": {
13       "name": "my-shipper"
14     },
15     "agent": {
16       "version": "7.6.1",
17       "name": "my-shipper",
18       "type": "filebeat",
19       "ephemeral_id": "84a6bd63-3880-4ef3-b0f9-604d9f1800a0",
20       "hostname": "H__D",
21       "id": "9f14c4db-2f85-4740-8183-36f475ffdfed"
22     },
23     "region": "us-east-1",
24     "input": {
25       "type": "log"
26     },
27     "tags": [
28       "nginx"
29     ],
30     "instance_id": "i-10a64379",
31     "log": {
32       "offset": 41026608,
33       "file": {
34         "path": "/data/logs/nginx-1.16.1/access.log"
35       }
36     },
37     "message": "127.0.0.1 - kibana [23/Jun/2020:00:28:16 +0800] \"GET /_nodes?filter_path=nodes.*.version%2Cnodes.*.http.publish_address%2Cnodes.*.ip HTTP/1.1\" 200 233 \"-\" \"-\""
38   },
39   "fields": {
40     "suricata.eve.timestamp": [
41       "2020-06-22T16:28:16.600Z"
42     ],
43     "@timestamp": [
44       "2020-06-22T16:28:16.600Z"
45     ]
46   },
47   "sort": [
48     0,
49     1592843296600
50   ]
51 }

  可以看到_source包含了 host.name、region、instance_id等字段

索引生命周期管理(ILM)

  使用Elasticsearch中的索引生命周期管理(ILM)功能來管理Filebeat索引的老化。例如,與其創建每日索引,該索引的大小可以根據Beats的數量和發送的事件數而變化,而當現有索引達到指定的大小或使用期限時,可以使用索引生命周期策略來自動過渡到新索引。

  從7.0版開始,Filebeat在連接到支持生命周期管理的群集時默認使用索引生命周期管理。Filebeat自動加載默認策略,並將其應用於Filebeat創建的任何索引。

  配置示例:  

1 setup.ilm.enabled: auto
2 setup.ilm.rollover_alias: "filebeat"
3 setup.ilm.pattern: "{now/d}-000001" 

 

  setup.ilm.enabled:對Filebeat創建的任何新索引啟用或禁用索引生命周期管理。有效值是truefalseauto。如果auto在7.0版和更高版本上指定了(默認值),則Filebeat如果在Elasticsearch中啟用了該功能並具有所需的許可證,則會自動使用索引生命周期管理;否則,Filebeat會創建每日索引。

  setup.ilm.rollover_alias:索引生命周期寫別名。默認值為 filebeat-%{[agent.version]}。設置此選項將更改別名。

  setup.ilm.pattern:滾動索引模式。默認值為%{now/d}-000001

  示例配置如下:

1 # 索引生命周期
2 setup.ilm.enabled: auto
3 setup.ilm.rollover_alias: "filebeat-nginx"
4 setup.ilm.pattern: "{now/d}-000001"

  啟動運行filebeat之后,es產生索引如下:

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM