當您安裝采集器(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