通过Logtail采集日志时,如果Logtail机器组心跳状态异常,您可使用Logtail自动诊断工具或人工诊断方式排查问题。本文主要介绍Logtail机器组无心跳的排查思路。
排查流程
使用Logtail采集日志时,在服务器上安装Logtail后,Logtail会定时向服务端发送心跳包。如果机器组无心跳,说明客户端和服务端连接失败。日志服务提供自动诊断和人工诊断两种方式,您可以根据需求选择。
- 自动诊断:日志服务提供针对Linux服务器的Logtail自动诊断工具。更多信息,请参见Logtail自动诊断工具。
- 人工诊断:Logtail自动诊断工具未检查出问题或服务器为Windows系统时,请参见本文进行人工诊断。

步骤一:检查是否已安装Logtail
您可以通过查看Logtail状态确定是否已在目标服务器上安装Logtail。
- 查看Logtail状态。
- Linux服务器
执行如下命令,查看Logtail状态。
sudo /etc/init.d/ilogtaild status
如果系统返回如下信息,表示已安装Logtail。ilogtail is running
- Windows服务器
- 打开运行窗口,输入
services.msc
,打开服务窗口。 - 查看LogtailDaemon服务(Logtail 1.0.0.0及以上版本)或LogtailWorker服务(Logtail 0.x.x.x版本)的运行状态。
如果正在运行,表示已安装Logtail。
- 打开运行窗口,输入
- Linux服务器
- 根据Logtail状态进行操作。
- 如果已安装Logtail,请执行步骤二:检查Logtail安装参数和安装方式是否正确。
- 如果未安装Logtail,请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)进行安装。
重要 安装时,请务必选择支持安装Logtail的操作系统、按照日志服务Project所属地域选择安装参数以及根据网络类型选择安装方式。关于网络类型的更多信息,请参见 选择网络。
步骤二:检查Logtail安装参数和安装方式是否正确
安装Logtail时,需要为Logtail客户端指定正确的服务端访问入口,即根据日志服务Project所在地域选择Logtail安装参数,然后根据网络类型选择安装方式。如果安装参数或安装脚本错误,可能导致Logtail机器组无心跳。关于不同地域的服务入口,请参见服务入口。
Logtail配置文件
ilogtail_config.json中记录了Logtail安装参数及所选的安装方式,该文件路径说明如下:
- Linux操作系统:/usr/local/ilogtail/ilogtail_config.json
- Windows 32位操作系统:C:\Program Files\Alibaba\Logtail\ilogtail_config.json
- Windows 64位操作系统:C:\Program Files (x86)\Alibaba\Logtail\ilogtail_config.json
您可以根据下述步骤检查Logtail安装参数和安装方式。
- 检查ilogtail_config.json文件中客户端连接的服务入口所属地域与您Project所在地域是否一致。
- 检查ilogtail_config.json文件中配置的域名,确认是否根据服务器所属网络环境选择了正确的Logtail安装方式。
例如 ilogtail_config.json中记录Logtail配置的域名为
cn-hangzhou-intranet.log.aliyuncs.com
。- Linux操作系统
执行如下命令,检查网络连通性。
curl logtail.cn-hangzhou-intranet.log.aliyuncs.com
如果系统返回如下类似信息,表示网络连接成功。
{"Error":{"Code":"OLSInvalidMethod","Message":"The script name is invalid : /","RequestId":"5DD39230BE9910FC6CF17609"}}
- Windows操作系统
执行如下命令,检查网络连通性。
telnet logtail.cn-hangzhou-intranet.log.aliyuncs.com 80
如果系统返回如下类似信息,表示网络连接成功。
Trying 100*0*7*5... Connected to logtail.cn-hangzhou-intranet.log.aliyuncs.com. Escape character is '^]'.
- Linux操作系统
- 判断Logtail安装参数和安装方式是否正确。
- 如果未正确安装Logtail,请选择支持安装Logtail的操作系统、按照日志服务Project所属地域选择安装参数以及根据网络类型选择安装方式,进行重新安装。更多信息,请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)。
- 如果已正确安装Logtail,请执行步骤三:检查机器组IP地址是否正确。
步骤三:检查机器组IP地址是否正确
机器组中设置的IP地址必须和Logtail获取到的服务器IP地址一致,否则机器组将无心跳或无法采集日志。Logtail获取服务器IP地址的方式如下:
- 如果没有设置主机名绑定,则获取服务器中第一块网卡的IP地址。
- 如果在/etc/hosts文件中设置了主机名绑定,则会获取绑定的主机名对应的IP地址。
说明 您可以通过 hostname查看主机名。
您可以根据下述步骤检查机器组IP地址是否正确。
- 查看Logtail获取的IP地址。
app_info.json文件中的 ip字段记录了Logtail获取的IP地址,该文件路径说明如下:
- Linux操作系统:/usr/local/ilogtail/app_info.json
- Windows 32位操作系统:C:\Program Files\Alibaba\Logtail\app_info.json
- Windows 64位操作系统:C:\Program Files (x86)\Alibaba\Logtail\app_info.json
重要- 如果
app_info.json
文件中ip字段为空,Logtail将无法工作。您可以通过Logtail启动参数中的working_ip参数设置服务器的IP地址,然后重启Logtail。更多信息,请参见设置Logtail启动参数。 app_info.json
文件仅做记录,修改该文件并不会改变Logtail获取的IP地址。
- 查看机器组中的IP地址。
具体操作,请参见 管理机器组。
- 判断Logtail客户端获取的IP地址与机器组中设置的IP地址是否一致。
- 如果一致,请执行步骤四:检查是否已配置用户标识。
- 如果不一致,请根据Logtail客户端获取的IP地址,修改机器组中的IP地址。具体操作,请参见修改机器组。
- 如果机器组中配置的IP地址错误,请修改机器组中的IP地址,然后等待1分钟再查看机器组心跳状态。
- 如果修改了服务器上的网络配置(例如修改了/etc/hosts文件),则您需要重启Logtail以获取新的IP地址,并根据
app_info.json
文件中的ip
字段修改机器组中的IP地址。重启Logtail的方法如下所示。- Linux操作系统
sudo /etc/init.d/ilogtaild stop sudo /etc/init.d/ilogtaild start
- Windows操作系统
- 打开运行窗口,输入
services.msc
,打开服务窗口。 - 重启LogtailDaemon服务(Logtail 1.0.0.0及以上版本)或LogtailWorker服务(Logtail 0.x.x.x版本)。
- 打开运行窗口,输入
- Linux操作系统
步骤四:检查是否已配置用户标识
如果您的服务器是与日志服务属于不同账号的ECS、其他云厂商的服务器和自建IDC时,您要通过Logtail采集该服务器日志,需在服务器上安装Logtail后,手动配置日志服务所在阿里云账号ID为用户标识,表示该账号有权限通过Logtail采集该服务器日志。更多信息,请参见配置用户标识。
重要 必须是阿里云账号ID。如何获取,请参见
获取日志服务所在的阿里云账号ID。