通过采集器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