本文主要介绍如何系统排查主机场景下的机器组无心跳问题。
机器组安装示例
安装方式 | 适用场景 |
仅当服务器为阿里云ECS,且ECS与Project属于同一个阿里云账号,所属地域也相同时适用。 | |
当服务器为阿里云ECS,且ECS与Project属于同一个阿里云账号,但不属于同一个地域时适用。 | |
当服务器为阿里云ECS,且ECS与Project属于同一个地域,但不属于同一个阿里云账号时适用。 | |
|
问题排查必读指南
步骤一:检查Logtail是否正常运行:检查Logtail在服务器是否正常运行。
步骤二:确认机器组中的IP地址是否为Logtail获取的IP地址:确认机器组中的IP地址是否和Logtail的app_info.json文件中的IP地址一致,不一致会导致心跳失败。
步骤三:检查Logtail启动参数是否正确:检查
ilogtail_config.json文件中配置的Project地域是否正确。步骤四:检查网络是否通畅:检查服务器与Project之间网络是否通畅。
步骤五:检查Logtail所在服务器的系统时间是否正确:如果系统时间明显快于或慢于当前真实时间,需要修改。
步骤六:跨账号采集需检查用户标识:如果服务器类型不是ECS,或使用的ECS与Project属于不同阿里云账号,则必须检查是否配置正确的用户标识。
步骤七:如果是用户自定义标识机器组,检查是否已配置自定义标识:如果机器组是用户自定义标识机器组,检查是否已配置自定义标识。
步骤八:重启Logtail:完成上述修改后,必须重启Logtail。
后续步骤
如何查看Logtail采集错误信息:心跳OK后,还是采集不到日志,通过查看Logtail错误信息排查。
步骤一:检查Logtail是否正常运行
Linux系统
登录已安装Logtail的机器。
执行如下命令。
ps -ef | grep ilogtail返回结果中出现两条如下类似信息(分别代表Logtail守护进程和Logtail工作进程)时,说明Logtail正常运行。
UID PID PPID C STIME TTY TIME CMD ... root 12 1 0 Nov10 ? 00:00:00 /usr/local/ilogtail/ilogtail root 14 12 0 Nov10 ? 03:07:43 /usr/local/ilogtail/ilogtail ...重要如果返回结果中出现3条及以上Logtail运行信息,则说明当前服务器中有多个Logtail实例在运行,存在重复采集的风险,请检查是否为预期行为。
如果返回结果显示Logtail相关进程未运行。
已经安装Logtail,但是未启动。请参见启动和停止Logtail(Linux系统)。
未安装Logtail,请安装Logtail。具体操作,请参见安装Logtail(Linux系统)。
重要安装时,请务必选择支持安装Logtail的操作系统、按照日志服务Project所属地域选择安装参数以及根据网络类型选择安装方式。关于网络类型的更多信息,请参见Logtail网络类型,启动参数与配置文件。
Windows系统
登录Logtail所在的机器。
打开运行窗口,输入
services.msc。查看LogtailDaemon服务(Logtail 1.0.0.0及以上版本)或LogtailWorker服务(Logtail 0.x.x.x版本)的运行状态。
如果上述服务未运行。
已经安装Logtail,但是未启动。请参见手动启动和停止Logtail(Windows系统)。
未安装Logtail,请安装Logtail。具体操作,请参见安装Logtail(Windows系统)。
重要安装时,请务必选择支持安装Logtail的操作系统、按照日志服务Project所属地域选择安装参数以及根据网络类型选择安装方式。关于网络类型的更多信息,请参见Logtail网络类型,启动参数与配置文件。
步骤二:确认机器组中的IP地址是否为Logtail获取的IP地址
获取app_info.json文件中的
ip字段值。该文件在不同系统下的默认路径说明如下表所示:
操作系统
Logtail
app_info.json文件路径
Linux
Logtail(64位程序)
/usr/local/ilogtail/app_info.json
Windows(64位操作系统)
Logtail (64位程序)
C:\Program Files\Alibaba\Logtail\app_info.json
Logtail(32位程序)
C:\Program Files (x86)\Alibaba\Logtail\app_info.json
Windows (32位操作系统)
Logtail(32位程序)
C:\Program Files\Alibaba\Logtail\app_info.json
Logtail将获取的IP地址记录在app_info.json文件的
ip字段中。{ "UUID" : "", "hostname" : "iZ8vbdlzf******azuhZ", "instance_id" : "E9633380-***********-00163E1AA597_172.16.2.200_166****11", "ip" : "172.**.**.200", "logtail_version" : "1.3.1", "os" : "Linux; 4.19.91-26.1.al7.x86_64; #1 SMP Tue Jul 26 17:52:28 CST 2022; x86_64", "update_time" : "2022-12-27 05:38:33" }确认机器组中使用的是Logtail获取的IP地址。
日志服务机器组包括IP地址机器组和用户自定义标识机器组。更多信息,请参见机器组。
IP地址机器组:请查看IP地址是否包含上一步获取的IP地址。
若不包含,请确认主机IP的正确值,当IP地址文本框内填写了目标Logtail的其它IP地址(例如公网地址)时,修改IP地址机器组内IP地址,若上一步获取的IP地址有误,则在设置Logtail启动参数中修改参数working_ip的值并重启Logtail。然后观察机器心跳是否正常。如果正常,则可以结束本次排查。
用户自定义标识机器组:请查看机器组状态是否包含上一步获取的IP地址。如果心跳显示OK,则可以结束本次排查流程。

步骤三:检查Logtail启动参数是否正确
ilogtail_config.json文件记录了Logtail的相关启动参数。
登录Logtail所在的机器。
查找ilogtail_config.json文件。
该文件在不同系统下的默认路径说明如下表所示:
操作系统
Logtail
ilogtail_config.json文件路径
Linux
Logtail(64位程序)
/usr/local/ilogtail/ilogtail_config.json
Windows(64位操作系统)
Logtail(64位程序)
C:\Program Files\Alibaba\Logtail\ilogtail_config.json
Logtail(32位程序)
C:\Program Files (x86)\Alibaba\Logtail\ilogtail_config.json
Windows (32位操作系统)
Logtail(32位程序)
C:\Program Files\Alibaba\Logtail\ilogtail_config.json
打开ilogtail_config.json文件,确认配置文件参数是否正确。
{ "config_server_address" : "http://logtail.<config_region>.log.aliyuncs.com", "data_server_list" : [ { "cluster" : "<project地域>", "endpoint" : "<endpoint>" } ], ... }如果ilogtail_config.json文件中的启动参数符合下述表格中的说明,则表示Logtail启动参数正确。
如果Logtail启动参数错误,请根据下述表格修改ilogtail_config.json文件,然后重启Logtail。具体操作,请参见重启Logtail。
Project地域信息请参见开服地域。
场景
网络类型
<config_region>
<endpoint>
服务器为ECS,且与Project属于同一地域
阿里云内网
<project地域>-intranet
<project地域>-intranet.log.aliyuncs.com
其它情况
公网
<project地域>
<project地域>.log.aliyuncs.com
传输加速
log-global.aliyuncs.com
LoongCollector 跨地域采集配置检查
当 ECS 所在地域与 SLS Project 所在地域不一致时(例如 ECS 位于 us-east-1,Project 位于 us-west-1),LoongCollector 同样需要正确配置上报 endpoint:
打开 LoongCollector 的配置文件
/usr/local/ilogtail/ilogtail_config.json(路径与 Logtail 一致)。确认
config_server_address与data_server_list[].endpoint指向目标 Project 所在地域的 endpoint,例如us-west-1.log.aliyuncs.com或us-west-1-intranet.log.aliyuncs.com。修改配置后,执行
sudo /etc/init.d/loongcollectord restart重启 LoongCollector 服务使配置生效。若修改后仍无法上报,建议卸载后重新安装 LoongCollector,并在安装时指定正确地域的 Endpoint。
排查关键词:LoongCollector、跨地域、endpoint 配置。
步骤四:检查网络是否通畅
使用Logtail上传数据成功,至少需要保证Logtail所在服务器能够连通下列地址。
如果使用内网,需要在<endpoint>后添加-intranet。
ilogtail_config.json文件中的config_server_address字段指定的地址及其HTTPS版本。http://<project名>.<endpoint>。Project的名称和地域,可以通过如下方式查看。

<endpoint>为ilogtail_config.json文件中data_server_list.endpoint字段指定的地址。
http://ali-<project地域>-sls-admin.<endpoint>。其中<endpoint>为ilogtail_config.json文件中data_server_list.endpoint字段指定的地址。
具体的网络检查及解决方法如下:
Linux系统
登录Logtail所在的机器。
执行
curl命令依次连接上述地址。curl http://<project名>.cn-hangzhou-intranet.log.aliyuncs.com所有返回结果都为如下类似信息,说明网络畅通。
{"Error":{"Code":"OLSInvalidMethod","Message":"The script name is invalid : /","RequestId":"5D****09"}}如果网络不畅通,请检查网络环境中80和443端口是否已经开放、目标地址是否被拦截以及其他网络方面的检查(例如DNS配置、安全组等)。
Windows系统
登录Logtail所在的机器。
调用
telnet命令依次尝试连接上述地址。telnet <project名>.cn-hangzhou-intranet.log.aliyuncs.com 80 # 如果是HTTPS协议,则端口号为443。所有返回结果都为如下类似信息,说明网络畅通。
Trying 100*0*7*5... Connected to xxx. Escape character is '^]'.如果网络不畅通,请检查网络环境中80和443端口是否已经开放、目标地址是否被拦截以及其他网络方面的检查(例如DNS配置、安全组等)。
步骤五:检查Logtail所在服务器的系统时间是否正确
Linux系统
登录Logtail所在的机器。
执行
date命令查看系统时间。Wed Dec 28 06:59:26 UTC 2022如果系统时间明显快于或慢于当前真实时间,请尝试如下修改。
调整系统时间至真实时间。
如果不能修改系统时间,请修改Logtail启动参数,即在ilogtail_config.json文件中增加配置项
"enable_log_time_auto_adjust": true。修改后,需要重启Logtail。具体操作,请参见重启Logtail。ilogtail_config.json文件路径说明请参见步骤三:检查Logtail启动参数是否正确。
Windows系统
登录Logtail所在的机器。
查看桌面右下角任务栏中时间信息。
调整系统时间至真实时间。
如果不能修改系统时间,请修改Logtail启动参数,即在ilogtail_config.json文件中增加配置项"enable_log_time_auto_adjust": true。修改后,需要重启Logtail。具体操作,请参见重启Logtail。ilogtail_config.json文件路径说明,请参见步骤三:检查Logtail启动参数是否正确。
步骤六:跨账号采集需检查用户标识
服务器类型不是ECS,或使用的ECS和Project属于不同阿里云账号,必须检查是否存在正确的用户标识。
用户标识必须是阿里云账号ID(主账号ID)。具体操作请参见配置用户标识。
您可以通过指定目录下的用户标识文件判断是否存在用户标识。如果返回结果为空,则您需要查看指定路径中是否已有用户标识文件。用户标识的作用在于标识这台服务器有权限被该账号访问。
用户标识文件路径如下:
Linux系统:/etc/ilogtail/users/
Windows系统:C:\LogtailData\users\
如果指定路径下无用户标识文件或用户标识文件配置错误,请按照如下方法解决。
Linux系统:执行
cd /etc/ilogtail/users/ && touch <uid>命令,创建用户标识文件。其中<uid>为Project所属的阿里云账号ID。Windows系统:进入
C:\LogtailData\users\目录,创建一个名为<uid>的空文件。其中<uid>为Project所属的阿里云账号ID。
如果指定路径下存在以当前Project所属的阿里云账号ID命名的文件,则说明用户标识配置正确。
步骤七:如果是用户自定义标识机器组,检查是否已配置自定义标识
若您使用了用户自定义标识机器组,您可以通过指定目录下的user_defined_id文件判断是否已在服务器上配置用户自定义标识。
如果返回结果为空,您需要查看是否存在
user_defined_id文件或该文件中是否已配置用户自定义标识。说明user_defined_id文件路径如下:
Linux系统:/etc/ilogtail/user_defined_id
Windows系统:C:\LogtailData\user_defined_id
LoongCollector 场景补充说明
使用 LoongCollector(Logtail 的下一代采集器)时,请注意以下差异:
用户自定义标识文件路径与 Logtail 相同,仍为
/etc/ilogtail/user_defined_id(Linux)或C:\LogtailData\user_defined_id(Windows),不是/etc/loongtail/user_defined_id。若发现/etc/loongtail/user_defined_id这类错误路径下的文件,请先删除该错误文件,并在上述正确路径下重新创建user_defined_id文件,同时确保文件权限为644(chmod 644 /etc/ilogtail/user_defined_id)。LoongCollector 的服务重启命令与 Logtail 不同:
Linux:
sudo /etc/init.d/loongcollectord restart请勿使用
sudo /etc/init.d/ilogtaild restart,该命令仅适用于 Logtail。
排查关键词:LoongCollector、user_defined_id 路径、权限 644。
步骤八:重启Logtail
完成上述修改后,必须重启Logtail。
Linux系统
登录Logtail所在的机器。
运行如下命令。
sudo /etc/init.d/ilogtaild restart
Windows系统
登录Logtail所在的机器。
打开运行窗口,输入
services.msc。重启LogtailDaemon服务(Logtail 1.0.0.0及以上版本)或LogtailWorker服务(Logtail 0.x.x.x版本)。
常见问题(FAQ)
为什么添加 Logtail 配置时提示“当前选中的机器组内没有机器配置”?
请按以下顺序排查:
确认采集器(Logtail 或 LoongCollector)已在目标 ECS 实例上成功安装,且进程运行正常。
确认该 ECS 实例已通过 IP 或自定义标识正确加入到所选机器组,并且机器组的心跳状态显示为 OK。
确认 Logtail/LoongCollector 采集配置已正确应用到该机器组。
若机器组心跳状态为 FAIL,请按本文档前述步骤(步骤一至步骤八)进行排查。
若尚未配置机器组,请先在日志服务控制台创建机器组或修改已有机器组,将目标 ECS 加入其中。
该 FAQ 同时覆盖“没有机器配置”、“无法选中目标机器”、“添加实例后仍提示无配置”等相似疑问。
ALB 后端 ECS 临时移除时,是否需要停止 Logtail 插件或删除 SLS 配置?
仅需在 ECS 服务器上执行
/etc/init.d/ilogtaild stop停止 Logtail 服务,即可停止日志采集和上报。无需在 SLS 控制台删除该 ECS 的 IP 配置或机器组配置。后续将该 ECS 重新加入 ALB 后端后,只需执行
/etc/init.d/ilogtaild start启动插件,日志采集会自动恢复,无需重新配置。
如果使用的是 LoongCollector,请将上述命令中的 ilogtaild 替换为 loongcollectord。
Logtail 采集配置报错“use default value instead module input_file”如何处理?
该报错通常是因为在非容器环境(如 ECS 主机场景)中错误地使用了 Kubernetes 容器日志采集配置。
解决方法:
在日志服务控制台删除当前的 K8s 类型采集配置。
新建一个“自建服务器-文本日志”类型的采集配置。
填写正确的日志文件路径,并绑定对应的机器组。
在 ECS 上执行
sudo /etc/init.d/ilogtaild restart重启 Logtail 服务使配置生效。
如果使用的是 LoongCollector,请将上述重启命令替换为 sudo /etc/init.d/loongcollectord restart。
SLS 机器组配置错误(如误用公网 IP)后,是否需要删除重建?
无需删除重建机器组。
若因 Logtail 未安装或 IP 配置错误导致心跳异常,可直接在日志服务控制台的“机器组”页面找到对应机器组,点击“安装 Logtail”按钮,通过内网自动安装客户端。前提条件:
ECS 已安装云助手。
当前账号具备相应权限。
安装完成后,等待约 2 分钟,机器组心跳即可恢复为 OK。仅当安装方式或网络类型选择错误时,才需要考虑重装 Logtail。
同账号同集群下,测试环境 Logtail 配置失效但线上正常,如何排查?
请按以下顺序排查:
检查测试环境机器组的心跳状态。若为 FAIL,请先等待 2 分钟后刷新重试;仍失败则按本文档步骤一至步骤八进行排查。
确认测试环境的 LoongCollector/Logtail 配置中指定的 Project 与 LogStore 名称拼写正确,并且该 LogStore 在对应地域确实存在。
验证当前 RAM 角色或用户具备对目标 LogStore 的写入权限(例如
log:PostLogStoreLogs)。确保测试环境使用的自定义标识与采集配置所绑定的机器组标识一致。