通過采集器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配置
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類型,同時還支持stdinredistcpsyslog等類型。
paths 指定要監控的日志。可以指定具體的文件或者目錄,例如/log/nginx.log或者log/*。指定的文件或目錄會被映射進Docker目錄中。
注意 指定目錄需要指定為/*這種模糊匹配,且確保目錄下的文件類型和采集的類型一致。
enabled 設置配置是否生效:
  • true:生效
  • false:不生效
fields 指定可選字段。在該字段下,空格縮進兩格填寫需要添加的字段。例如,設置為alilogtype: usercenter_serverlog,表示在輸出的每條日志中加入該字段,用于標識該日志源的類別,在傳輸到下一層Logstash時,可以根據該字段類別對日志進行分類處理。

更多配置詳情請參見官方Log input文檔

Metricbeat配置

Metricbeat能夠以一種輕量型的方式,輸送各種系統和服務統計數據。通過在metricbeat.yml中指定metricbeat.modules,來指定module配置。MetricBeat配置
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臺云服務器ECS。
HeartBeat配置
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類型。支持icmptcphttp
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中添加特定參數,如下示例展示auditdfile_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