通过采集器(Beats),您可以采集云服务器ECS(Elastic Compute Service)中的日志文件、网络数据、服务器指标等数据,发送到阿里云Elasticsearch或Logstash中进行监控、分析等操作。本文以Filebeat为例,介绍如何配置ECS服务日志采集。
前提条件
您已完成以下操作:
创建阿里云Elasticsearch实例或Logstash实例,本文以6.7.0版本为例。
具体操作,请参见创建阿里云Elasticsearch实例和创建阿里云Logstash实例。
开启Elasticsearch实例的自动创建索引功能。
出于安全考虑,阿里云Elasticsearch默认不允许自动创建索引。但Beats采集ECS服务日志时,需要依赖该功能,因此如果采集器Output选择为Elasticsearch,需要开启自动创建索引功能。具体操作,请参见配置YML参数。
创建ECS实例,且该ECS实例与Elasticsearch实例或Logstash实例处于同一专有网络下。
创建实例时,请选择Alibaba Cloud Linux (Alinux)、RedHat或CentOS这三种操作系统,因为Beats仅支持这三种操作系统。具体操作,请参见自定义购买实例。
重要Beats默认安装目录为/opt/aliyunbeats/。安装后,ECS上会生成conf、logs和data这3个目录,分别映射了配置文件、Beats日志文件和Beats数据文件。建议不要删除或修改这3个文件中的内容,否则可能出现异常或者导致数据不正确。当出现问题时,您可以在logs目录下查看Beats日志来定位问题。
在目标ECS实例上安装云助手和Docker服务。
具体操作,请参见安装云助手Agent和部署并使用Docker。
重要请使用社区版Docker(docker-ce),使用其他版本Docker(例如podman-docker),Beats将部署失败。
操作步骤
- 登录阿里云Elasticsearch控制台。
- 进入Beats数据采集中心。
- 在顶部菜单栏处,选择地域。
- 在左侧导航栏,单击Beats数据采集中心。
- 可选:首次进入Beats数据采集中心页面,需要在服务授权对话框中查看提示信息,无误后单击确认,授权系统创建服务关联角色。说明 Beats采集不同数据源中的数据时,依赖于服务关联角色以及角色规则。使用过程中请勿删除服务关联角色,否则会影响Beats使用。详细信息,请参见阿里云ES服务关联角色。
配置并启动ECS服务日志采集。
说明以下操作以Filebeat为例。
在创建采集器区域,将鼠标移至Filebeat上,单击ECS日志。
说明对于其他采集器,可直接单击采集器名称。例如创建Metricbeat采集器,可直接单击Metricbeat。
在采集器配置配置向导中,输入或选择采集器信息。
参数
说明
采集器名称
自定义输入采集器的名称。长度为1~30个字符,以大小写字母开头,可以包含字母、数字、下划线(_)或连字符(-)。
安装版本
目前Filebeat只支持6.8.5版本。
采集器Output
Filebeat采集内容的输出地址。直接关联已经创建的阿里云Elasticsearch或Logstash实例。访问协议需要与所选Elasticsearch实例保持一致。
重要不支持选择8.x版本的Elasticsearch实例。
用户名密码
如果采集器Output选择Elasticsearch,需要提供对应的用户名和密码,使Filebeat有权限向Elasticsearch实例中写入数据。用户名默认为elastic,密码在创建实例时设定,如果忘记可重置。重置密码的注意事项和操作步骤,请参见重置实例访问密码。
启用Monitoring
用来监控Filebeat的相关指标。如果采集器Output选择Elasticsearch,Monitor默认使用和采集器Output相同的阿里云Elasticsearch实例;如果采集器Output选择Logstash,则需要在配置文件中进行额外配置。
启用Kibana Dashboard
用来配置默认的Kibana Dashboard。由于阿里云Kibana配置在VPC内,因此需要在Kibana配置页面开通Kibana私网访问功能。具体操作,请参见配置Kibana公网或私网访问白名单。
填写Filebeat文件目录
Filebeat专有的配置项。由于阿里云采用Docker部署Beats,因此需要将您希望采集的目录映射到Docker内,填写时需要与
filebeat.yml
中的input.path
目录保持一致。如果为多级目录,只要指定任意一级目录即可,不支持匹配*
,例如:input.path: /var/log/*/*.log
,则Filebeat文件目录为/var/
或/var/log/
。重要路径可以指定为目录或完整路径,也可以模糊匹配路径下的某一类文件。
如果您需要采集多个目录的日志,可单击+添加,在文本框中输入待采集的路径,同时在采集器YML配置的paths参数中添加该路径。
采集器YML配置
采集器配置文件。参考以下脚本,确保日志采集为开启状态, 且paths指定的目录与您填写的Filebeat文件目录保持一致。
filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log
对于其他参数,请根据业务需求,修改对应配置,详情请参见采集器YML配置。
重要指定采集器Output后,不需要再在采集器YML配置中单独设置Output,否则会提示ECS采集器安装错误。
阿里云Filebeat不支持自定义索引名,系统会默认创建名称为filebeat-%{[agent.version]}-%{+yyyy.MM.dd}的索引,例如filebeat-6.8.5-2021.12.11。
单击下一步。
可选:首次进入采集器安装配置向导,需要单击前往授权。再在云资源访问授权页面,单击同意授权,为对应的Elasticsearch实例授予访问ECS的权限。
授权服务由访问控制(RAM)提供,确认授权后,系统将会为您自动创建AliyunElasticsearchAccessingOOSRole和AliyunOOSAccessingECS4ESRole系统角色,以上两个系统角色的默认系统策略分别是AliyunElasticsearchAccessingOOSRolePolicy和AliyunOOSAccessingECS4ESRolePolicy,使用过程中请勿删除系统角色和默认系统策略。
如果RAM控制台授权的默认策略或系统角色被删除,可通过云资源访问授权进行快捷授权,并为RAM用户授予以下自定义权限,否则会出现权限不足的报错。创建自定义权限的具体操作,请参见创建自定义权限策略。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "ram:CreateRole", "ram:AttachPolicyToRole", "ram:GetRole" ], "Resource": "acs:ram:*:*:role/*", "Condition": { "ForAllValues:StringEquals": { "ram:TrustedPrincipalTypes": "Service", "ram:ServiceNames": [ "elasticsearch.aliyuncs.com", "oos.aliyuncs.com" ] } } }, { "Effect": "Allow", "Action": "ram:AttachPolicyToRole", "Resource": "acs:ram:*:*:policy/*" }, { "Action": "ram:PassRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "acs:Service": "elasticsearch.aliyuncs.com" } } } ] }
在采集器安装配置向导中,选择需要操作的ECS实例。
说明采集器安装实例列表中会显示当前账号下,所有和采集器Output所选的Elasticsearch实例或Logstash实例处于同一个专有网络下的ECS,并且只有已经安装云助手及Docker服务的ECS才能安装采集器。
单击启动。
在启动成功对话框中,单击前往采集中心查看。在采集器列表中,查看创建成功的采集器。
等待采集器状态变为已生效,说明采集器创建成功。已生效后面的两个数字分别表示安装成功的ECS数和目标ECS数,如果ECS实例生效成功,则两边数字相等。
查看运行实例。
采集器创建成功后,您可以查看运行实例,判断采集器是否安装成功,并根据提示处理异常情况。
在采集器管理区域,单击对应采集器右侧操作列下的查看运行实例。
在查看运行实例页面,查看采集器安装情况。
采集器安装情况分为3种:心跳正常、心跳异常、安装失败。在心跳异常或者安装失败的情况下,您可以选择移除或者重试问题节点。如果重试失败,可参见Beats安装失败的排查与解决方法排查解决。
可选:查看Monitoring或Dashboard。
如果您在创建采集器时选中了启用Monitoring或启用Kibana Dashboard,那么Beats启动后,可以在对应Elasticsearch实例的Kibana中查看Monitor信息或Dashboard图表。
在采集器管理区域,选择对应采集器右侧操作列下的 。
在Kibana控制台登录页面,输入用户名和密码,单击登录。
在左侧导航栏,单击Dashboard,再单击对应指标,查看该指标的Dashboard图表。
在左侧导航栏,单击Monitoring,再单击对应监控项,查看该监控项的Monitoring信息。
相关文档
创建采集器的API文档:CreateCollector
常见问题
Beats如何采集多个目录下的日志?
在配置采集器时,单击+添加,在文本框中输入待采集的路径,同时在采集器YML配置的paths参数中添加该路径。
基于ECS安装阿里云Beats失败了,如何处理?
请参见Beats安装失败的排查与解决方法排查解决。