通过采集器YML配置,您可以根据需求修改对应的配置,并启用该配置,完成数据采集任务。本文介绍采集器YML文件的配置方法和配置参数详情。
前提条件
创建阿里云Elasticsearch实例,并开启实例的自动创建索引功能。创建实例的具体步骤请参见创建阿里云Elasticsearch实例。
出于安全考虑,阿里云Elasticsearch默认不允许自动创建索引。但是Beats目前依赖该功能,因此如果采集器Output选择为Elasticsearch,需要开启自动创建索引功能,详情请参见配置YML参数。
metricbeat.modules:
- module: system
metricsets: ["diskio","network"]
diskio.include_devices: []
period: 1sFilebeat配置
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.modules,来指定module配置。
metricbeat.modules:
- module: system
  metricsets: ["diskio","network"]
  enabled: true
  hosts: ["http://XX.XX.XX.XX/"]
  period: 10s
  fields:
    dc: west
  tags: ["tag"]| 配置 | 说明 | 
|---|---|
| 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.monitors,来指定监控的服务。 
                     
heartbeat.monitors:
- type: http
  name: ecs_monitor
  enabled: true
  urls: ["http://localhost:9200"]
  schedule: '@every 5s'
  fields:
    dc: west| 配置 | 说明 | 
|---|---|
| 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配置
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更多auditbeat.yml配置说明请参见官方Auditbeat配置文档;配置模块(module)详情请参见Modules。