当您安装采集器(Beats)时,遇到安装失败、心跳异常的情况时,可参考本文的方法进行排查解决。
操作步骤
- 排查安装Beats服务的ECS的操作系统是否是Aliyun Linux、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
- 查看Docker容器中的运行状态。