通過採集器YML配置,您可以根據需求修改對應的配置,並啟用該配置,完成資料擷取任務。本文介紹採集器YML檔案的配置方法和配置參數詳情。
前提條件
建立Elasticsearch執行個體,並開啟執行個體的自動建立索引功能。建立執行個體的具體步驟請參見建立Elasticsearch執行個體。
出於安全考慮,Elasticsearch預設不允許自動建立索引。但是Beats目前依賴該功能,因此如果採集器Output選擇為Elasticsearch,需要開啟自動建立索引功能,詳情請參見配置YML參數。
說明 Beats中包含很多module供您使用,阿里雲Beats未直接提供這些module的單獨配置,如果需要使用這些module,請直接在相應的主設定檔中配置。例如,在Metricbeat中啟用system module,可以在metricbeat.yml配置中添加如下指令碼。
metricbeat.modules:
- module: system
metricsets: ["diskio","network"]
diskio.include_devices: []
period: 1s
Filebeat配置
通過在filebeat.yml中指定
filebeat.inputs
,來決定如何尋找或處理輸入資料來源。簡單的input配置如下。filebeat.inputs:
- type: log
enabled:true
paths:
- /opt/test/logs/t1.log
- /opt/test/logs/t2/*
fields:
alilogtype: usercenter_serverlog
重要
- 如果在採集ECS服務日誌時,指定了採集器Output,那麼不需要再在採集器YML配置中單獨設定Output,否則會提示ECS採集器安裝錯誤。
- 每個輸入源都以
-
開頭,可以指定多個-
,代表多個輸入源。
配置 | 說明 |
type | 輸入類型。預設是log類型,同時還支援stdin 、redis 、tcp 和syslog 等類型。 |
paths | 指定要監控的日誌。可以指定具體的檔案或者目錄,例如/log/nginx.log 或者log/* 。指定的檔案或目錄會被映射進Docker目錄中。重要 指定目錄需要指定為 /* 這種模糊比對,且確保目錄下的檔案類型和採集的類型一致。 |
enabled | 設定配置是否生效:
|
fields | 指定可選欄位。在該欄位下,空格縮排兩格填寫需要添加的欄位。例如,設定為alilogtype: usercenter_serverlog ,表示在輸出的每條日誌中加入該欄位,用於標識該日誌源的類別,在傳輸到下一層Logstash時,可以根據該欄位類別對日誌進行分類處理。 |
更多配置詳情請參見官方Log input文檔。
Metricbeat配置
Metricbeat能夠以一種輕量型的方式,輸送各種系統和服務統計資料。通過在metricbeat.yml中指定
metricbeat.modules
,來指定module
配置。metricbeat.modules:
- module: system
metricsets: ["diskio","network"]
enabled: true
hosts: ["http://XX.XX.XX.XX/"]
period: 10s
fields:
dc: west
tags: ["tag"]
重要 如果在採集ECS服務日誌時,指定了採集器Output,那麼不需要再在採集器YML配置中單獨設定Output,否則會提示ECS採集器安裝錯誤。
配置 | 說明 |
module | 要啟動並執行模組的名稱。支援的模組及相關說明請參見Modules。 |
metricsets | 指定要執行的metricsets列表。更多metricsets列表請參見Modules。 |
enabled | 設定配置是否生效。true 表示生效,false 表示不生效。 |
period | metricsets執行的頻率。如果無法訪問系統,metricbeat將為每個時間段返回一個錯誤資訊。 |
hosts | 可選,擷取主機列表資訊。 |
fields | 指定可選欄位。與metricset事件一起發送的欄位。 |
tags | 可選,與metricset一起發送的tag列表。 |
更多配置詳情請參見官方Metricbeat配置文檔。
Heartbeat配置
Heartbeat能夠以一種輕量型的方式,安裝在遠程伺服器,定期檢查服務的狀態並確定是否可用。與Metricbeat不同,Metricbeat檢測服務是啟動還是關閉狀態,Heartbeat檢測服務是否可訪問。
通過在heartbeat.yml中指定
heartbeat.monitors
,來指定監控的服務。 說明 Heartbeat只需要配置監控的服務即可,為保證可用性,建議至少部署2台Elastic Compute Service。
heartbeat.monitors:
- type: http
name: ecs_monitor
enabled: true
urls: ["http://localhost:9200"]
schedule: '@every 5s'
fields:
dc: west
重要 如果在採集ECS服務日誌時,指定了採集器Output,那麼不需要再在採集器YML配置中單獨設定Output,否則會提示ECS採集器安裝錯誤。
配置 | 說明 |
type | monitor類型。支援icmp 、tcp 、http 。 |
name | monitor名稱。該值顯示在monitor欄位下的Exported fields中,作為job name,type 欄位作為job type。 |
enabled | 設定配置是否生效。true 表示生效,false 表示不生效。 |
urls | 可選,用來連通的伺服器列表。 |
schedule | 指定任務計劃。設定為@every 5s ,表示從啟動Heartbeat開始,每5秒運行一次任務;設定為*/5 * * * * * * ,表示每5秒運行一次任務。 |
fields | 指定可選欄位。將該欄位添加到output中,作為附加資訊。 |
更多配置詳情請參見官方Heartbeat配置文檔。
Auditbeat配置
Auditbeat是輕量型的審計日誌採集器,可以收集Linux審計架構的資料,監控檔案的完整性。Auditbeat能夠組合相關訊息到一個事件裡,產生標準的結構化資料,方便分析,而且能夠與Logstash、Elasticsearch和Kibana無縫整合。
重要 Auditbeat依賴於作業系統的Linux Audit Framework,要求OS Kernel版本至少為3.14。且保證Auditd服務為stop狀態(可使用
service auditd status
命令查看)。通過在auditbeat.yml中指定auditbeat.modules
,來配置Auditbeat採集器。auditbeat.yml主要分為兩部分,一部分為模組,另一部分為輸出。 啟用特定模組,需要在auditbeat.yml中添加特定參數,如下樣本展示auditd
和file_integrity
配置。
auditbeat.modules:
- module: auditd
audit_rules: |
-w /etc/passwd -p wa -k identity
-a always,exit -F arch=b32 -S open,create,truncate,ftruncate,openat,open_by_handle_at -F exit=-EPERM -k access
- module: file_integrity
paths:
- /bin
- /usr/bin
- /sbin
- /usr/sbin
- /etc
重要 如果在採集ECS服務日誌時,指定了採集器Output,那麼不需要再在採集器YML配置中單獨設定Output,否則會提示ECS採集器安裝錯誤。
更多auditbeat.yml配置說明請參見官方Auditbeat配置文檔;配置模組(module
)詳情請參見Modules。