当您安装采集器(Beats)时,遇到安装失败、心跳异常的情况时,可参考本文的方法进行排查解决。
操作步骤
排查安装Beats服务的ECS的操作系统是否是Alibaba Cloud Linux (Alinux)、RedHat或CentOS。
排查安装Beats服务的ECS是否与Elasticsearch或Logstash实例处于同一专有网络下。
排查安装Beats服务的ECS是否安装了云助手和Docker。
您可以连接ECS实例,通过以下命令进行验证。
查看云助手服务状态
systemctl status aliyun.service
正常情况下,返回结果如下。
如果未安装云助手,可参见安装云助手客户端进行安装。
查看Docker状态
systemctl status docker
正常情况下,返回如下结果。
如果未安装Docker,可参见部署并使用Docker(Alibaba Cloud Linux 2)进行安装。
检查采集器的YML配置,确认是否已设置如下信息。
- type: log # Change to true to enable this input configuration. enabled: true # Paths that should be crawled and fetched. Glob based paths. paths: - /var/log/*.log
参数
说明
enabled
默认为false,使用时一定要设置为true。
paths
指定日志文件路径,可以采用模糊匹配,例如*.log。
重要paths与配置页面填写的Filebeat文件目录存在区别。Filebeat文件目录是Docker映射的目录,只有映射到采集目录下才能采集到paths指定的文件。建议二者保持一致。
在配置页面指定采集器Output后,YML配置下不能重新指定Output,否则会提示安装错误。
对于采集器YML中默认已经注释掉(#)的参数,需谨慎修改,比如与X-Pack相关的参数设置,否则会导致安装失败。
连接ECS实例,查看/opt/aliyunbeats/目录下,是否生成了对应的Beats实例,并确认是否存在conf、data、logs目录。
您也可以在logs目录下查看Beats日志,方便定位问题。
查看Beats所在容器的运行状态,并分析日志定位问题。
查看Docker容器中的运行状态。
docker ps -a | grep filebeat
当容器处于exited状态时,查看容器输出日志。
docker logs -f 容器id