配置Logtail采集日志数据后,如果Logtail机器组心跳状态不正常,可使用Logtail自动诊断工具或人工诊断的方式排查问题。

如果使用Logtail采集日志,在服务器上安装Logtail之后,Logtail会定时向服务端发送心跳包。如果机器组状态页面显示机器无心跳,说明客户端和服务端未成功联通。日志服务提供 Logtail自动诊断工具和人工诊断步骤,您可以根据需求选择排查方式。
  • 自动诊断:日志服务提供Linux版Logtail自动诊断工具,排查步骤请参考Logtail自动诊断工具

  • 人工诊断:Logtail诊断工具未检查出问题、或服务器为Windows服务器,请参考本文档逐步排查。



1. 检查网络连通性

请执行以下命令查看网络连通性,确保网络正常。
  • 阿里云内网(经典网络/VPC)telnet logtail.cn-<region>-intranet.log.aliyuncs.com 80

  • 公网telnet logtail.cn-<region>.log.aliyuncs.com 80

例如,查看Linux ECS的网络连接性:
[root@***************** ~]# # telnet logtail.cn-hangzhou-intranet.log.aliyuncs.com 80 
Trying 100.100.17.95... 
Connected to logtail.cn-hangzhou-intranet.log.aliyuncs.com. 

如果连接成功,说明网络正常,请执行下一步检查。

2. 检查是否已安装Logtail

请执行以下命令查看客户端状态,如未安装Logtail客户端,请参考LinuxWindows,务必按照您日志服务Project所属Region以及网络类型进行安装。

查看Logtail安装状态:
  • Linux:
    sudo /etc/init.d/ilogtaild status 
    如果显示 ilogtail is running,表示已安装Logtail,例如:
    [root@****************~]# sudo /etc/init.d/ilogtaild status 
    ilogtail is running
  • Windows:
    1. 控制面板中单击管理工具,并单击服务
    2. 查看LogtailDaemon、LogtailWorker两个Windows Service的运行状态。如果正在运行,表示已安装Logtail。

如果Logtail正在运行,请执行下一步检查。

3. 检查Logtail是否正确安装

安装Logtail时,需要为客户端指定正确的服务端访问入口,即根据日志服务Project所在地域选择表 1,并根据网络类型选择不同的安装方式。如果安装参数或安装脚本错误,可能会导致Logtail机器无心跳。

Logtail配置文件 ilogtail_config.json中记录了Logtail安装参数及所选的安装方式,该文件的路径为:
  • Linux:/usr/local/ilogtail/ilogtail_config.json
  • Windows x64:C:\Program Files (x86)\Alibaba\Logtail\ilogtail_config.json
  • Windows x32:C:\Program Files\Alibaba\Logtail\ilogtail_config.json
  1. 检查安装参数。

    检查文件ilogtail_config.json中客户端连接的网络入口所属Region是否与您Project所在Region一致。

  2. 检查安装方式。

    Telnet测试ilogtail_config.json中配置的域名,检查是否根据服务器所属网络环境选择了正确的安装方式。

    例如,ilogtail_config.json中记录Logtail配置的域名为cn-hangzhou-intranet,则可以执行telnet logtail.cn-hangzhou-intranet.log.aliyuncs.com 80检查连通性,如果已联通,说明安装方式正确。

例如以下回显信息表明Logtail安装在华东一(杭州)地域的ECS中。

图 1. 检查Logtail是否正确安装


如果Logtail已正确安装,请执行下一步检查。

4. 检查机器组配置的IP地址是否正确

机器组中配置的IP地址必须和Logtail获取到的服务器地址一致,否则机器组无心跳、或无法采集到日志数据。

Logtail在机器上获取IP的方式:

  • 如果没有设置主机名绑定,会取服务器的第一块网卡IP。

  • 如果在文件/etc/hosts中设置了主机名绑定,需要确认绑定的IP。执行命令hostname可以查看主机名。

排查步骤

  1. 查看Logtail获取的IP地址。

    文件app_info.jsonip字段中记录了Logtail获取的IP地址,该文件的路径为:

    • Linux:/usr/local/ilogtail/app_info.json
    • Windows x64:C:\Program Files (x86)\Alibaba\Logtail\app_info.json
    • Windows x32:C:\Program Files\Alibaba\Logtail\app_info.json
    说明
    • 如果app_info.json文件中ip字段为空,Logtail无法工作。此时需为服务器设置IP地址并重启Logtail。
    • 文件app_info.json仅做记录,修改该文件并不会改变Logtail获取的IP地址。
    图 2. 查看Logtail获取的IP地址


  2. 查看机器组中配置的地址。

    机器组中配置的IP地址,请在日志服务控制台机器组列表页面单击查看状态

    图 3. 查看机器组

    如果服务端机器组内填写的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:在控制面板中单击管理工具 > 服务,找到并重启LogtailWorker。

机器组配置的IP地址的确为Logtail获取的IP地址,请执行下一步检查。

5. 检查非本账号下ECS是否已配置AliUid

如果您的ECS服务器和日志服务Project不在同一账号下、或服务器为其他云厂商服务器、自建IDC,则需要在服务器上配置AliUid,为安装Logtail的机器授权。

检查/etc/ilogtail/users目录下是否有账号ID同名文件。

如果没有,请创建同名文件。
  • Linux:
    touch /etc/ilogtail/users/1559122535028493
    touch /etc/ilogtail/users/1329232535020452
  • Windows:

    C:\LogtailData\users\1559122535028493

说明 账号ID请在阿里云控制台个人信息中查看。
图 4. 查看账号ID


如果您的问题仍未解决,请提工单到日志服务。工单中请提供您的Project、Logstore、机器组、app_info.json、ilogtail_config.json以及自助诊断工具的输出内容。