通过 LogCollector 采集宿主机文本日志时,如果机器组中的宿主机心跳状态异常,会造成日志采集失败等问题。宿主机心跳异常时,您可以参考本文档逐步排查问题、恢复宿主机心跳状态。
LogCollector 是日志服务自研的日志采集客户端,用于快速上报宿主机日志数据。在宿主机上安装 LogCollector 之后,LogCollector 会定时向服务端发送心跳包。如果在日志服务控制台的机器组配置页面中显示机器无心跳,说明客户端和服务端连接失败。
在日志服务控制台的机器组详情页面,如果心跳状态信息区域中,某些 IP 地址对应的状态栏显示异常,表示此台宿主机 LogLollector 心跳状态异常,宿主机上的 LogCollector 客户端与服务端连接失败。
在心跳异常的状态下,宿主机上的 LogCollector 客户端无法将采集到的日志数据正常上报至服务端,导致日志无法正常采集到日志主题中,控制台上也无法实时查询并检索到新的日志数据。
登录宿主机后,执行以下命令查看 LogCollector 的运行状态。
systemctl status logcollectord.service
安装 LogCollector 之后,需要执行初始化脚本,在初始化时配置鉴权参数,用于鉴权和连接日志服务。如果参数配置错误,可能会造成 LogLollector 心跳异常。
执行以下命令打开配置文件,检查鉴权参数。
说明
如何查看 LogCollector 版本,请参考查看软件版本。
LogCollector v2.2.0 之前版本
cat /usr/local/filebeat-7.12.0/etc/filebeat.yml
LogCollector v2.2.0 及后续版本
cat /usr/local/logcollector/etc/logcollector.yml
鉴权参数相关说明如下。
参数 | 示例 | 说明 |
---|---|---|
endpoint | https://tls-cn-beijing.ivolces.com | |
secret_id | AKLY********* | 火山引擎账号或 IAM 账号的 Access Key ID。 |
secret_key | TUdZ******** | 火山引擎主账号或 IAM 用户的 Secret Access Key。 |
region | cn-beijing | 日志项目所在的地域。 |
说明
在 output.tls
中,不能同时配置 ip 和 label 参数,否则也会造成心跳失败。
配置文件示例如下。
如果鉴权参数配置错误,请修改后重启 LogCollector,稍后查看机器组状态。若控制台上 LogCollector 心跳状态仍然显示异常,请执行以下步骤继续排查。
LogCollector 1.0.1 版本开始支持机器组,如果宿主机中安装的 LogCollector 版本号不是 1.0.1 或后续版本,可能会出现 LogCollector 心跳异常的现象,服务端无法识别该 LogCollector。所以 LogCollector 心跳异常时需检查 LogCollector 的版本是否符合要求。
执行以下命令,查看 LogCollector 的版本。回显信息中会展示当前安装的 LogCollector 版本号。推荐使用最新版本的 LogCollector,详细说明请参考升级 LogCollector。
/usr/local/logcollector/logcollector --version
回显信息示例如下。
升级 LogCollector 的版本后,若控制台上宿主机心跳状态仍然显示异常,请执行以下步骤继续排查。
说明
IP 地址类型的机器组,请参考此步骤进行排查。
默认情况下,LogCollector 会读取所在宿主机第一块网卡的 IP 地址,并将其作为宿主机 IP 地址记录在文件 agent_info.json
中。在控制台创建 IP 地址类型的机器组时,您需要将 agent_info.json
中记录的 IP 地址作为宿主机的 IP 地址填写到机器组中,以此将指定宿主机加入到机器组。
如果机器组中配置的 IP 地址和 agent_info.json
中的 IP 地址不一致,控制台会显示此宿主机 LogCollector 心跳状态异常、无法采集日志。
您可以通过以下命令查看 agent_info.json
,检查 ip
字段中填写的 IP 地址与控制台显示的 IP 地址是否一致。
查看agent_info.json
。
cat /usr/local/logcollector/agent_info.json
回显信息中,ip
字段表示 LogCollector 获取的当前宿主机 IP 地址,即第一块网卡的 IP 地址。
{ "hostname": "logcollector-dnwwc", "ip": "10.56.*.*", "version": "2.2.1", "start_time": "2025.01.14 15:19:29" }
查看控制台配置的 IP 地址。
在机器组的详情页面可以查看机器组内所有宿主机的 IP 地址。如果此处配置的 IP 地址与 agent_info.json
中显示的 IP 地址不一致,请修改机器组配置,并稍后再次检查机器状态。
说明
机器标识地址类型的机器组,请参考此步骤进行排查。
在机器标识地址类型的机器组中,已配置的机器标识必须和 LogCollector 中配置的机器 Label 一致,否则机器组中没有 LogCollector 的心跳状态。
执行以下命令,查看 LogCollector 的配置文件。
cat /usr/local/logcollector/etc/logcollector.yml
系统回显信息中的 label
值为 LogCollector 中配置的机器 Label。如果此值与机器组中配置的机器标识不一致,请修改机器组配置,并稍后再次检查机器状态。