概述
在日志服务控制台中配置Logtail的采集日志数据,如果Logtail机器组心跳状态不正常,可使用Logtail自动诊断工具或人工诊断的方式排查问题。本文主要介绍Logtail机器组无心跳的排查思路。
详细信息
使用Logtail采集日志,在服务器上安装Logtail之后,Logtail会定时向服务端发送心跳包。如果在日志服务控制台的机器组配置页面中显示机器无心跳 ,说明客户端和服务端连接失败。日志服务提供Logtail自动诊断工具和人工诊断两种方式,您可以根据需求选择排查方式:
- 自动诊断:日志服务提供针对Linux服务器的Logtail自动诊断工具,排查步骤请参见Logtail自动诊断工具。
-
人工诊断:Logtail自动诊断工具未检查出问题,或服务器为Windows系统,请参见本文档进行排查。
- Logtail机器无心跳的排查流程如下图所示。
步骤一:查看是否已经安装Logtail
请根据现场实际情况,选择以下对应的步骤,查看Logtail服务的状态。
- 适用于Linux服务器。
- 执行以下命令,查看Logtail服务的状态。
sudo /etc/init.d/ilogtaild status
系统显示类似如下,表示已经安装Logtail服务。
ilogtail is running
- 执行以下命令,查看Logtail服务的状态。
- 适用于Windows服务器。
- 打开运行窗口,输入services.msc,打开服务窗口。
- 查看LogtailDaemon或LogtailWorker服务的运行状态,如果正在运行,表示已经安装Logtail。
说明:如未安装Logtail客户端,请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)进行安装,安装时请务必按照您日志服务Project所属Region以及网络类型进行安装。如果Logtail正在运行,请执行以下步骤进行排查。
步骤二:查看Logtail的安装参数是否正确
安装Logtail时,需要为客户端指定正确的服务端访问入口,即根据日志服务的Project所在地域选择Logtail的安装参数,详情请参见安装Logtail。并根据网络类型选择不同的安装方式,详情请参见网络类型。如果安装参数或安装脚本错误,可能会导致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 x86位的服务器:
C:\Program Files\Alibaba\Logtail\ilogtail_config.json
- 查看Logtail的安装参数。
- 在Linux系统中,执行以下命令,查看客户端连接的网络入口所属Region是否与您Project所在的Region一致。
cat /usr/local/ilogtail/ilogtail_config.json
系统显示类似如下,表示Logtail安装在华东1(杭州)地域的ECS实例中。 - Project所属地域如下图所示。
- 在Linux系统中,执行以下命令,查看客户端连接的网络入口所属Region是否与您Project所在的Region一致。
- 查看安装Logtail的方式,通过测试
ilogtail_config.json
文件中配置的域名,查看是否根据服务器所属网络环境选择了正确的安装方式。ilogtail_config.json
文件中记录Logtail配置的域名,本文以cn-hangzhou-intranet
为例。说明:关于不同地域的域名,请参见服务入口。
- 适用于Linux服务器。
- 执行以下命令,检查网络的连通性。
curl logtail.cn-hangzhou-intranet.log.aliyuncs.com
系统显示类似如下,表示网络连通性正常。{"Error":{"Code":"OLSInvalidMethod","Message":"The script name is invalid : /","RequestId":"5DD39230BE9910FC6CF17609"}}
- 执行以下命令,检查网络的连通性。
- 适用于Windows服务器。
- 单击开始,输入cmd,单击确定,打开命令行工具。
- 执行以下命令,检查网络连通性。
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 '^]'.
说明:如果检查失败,说明安装Logtail时选择了错误的参数,所以会显示执行了错误的安装命令。请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)选择正确的安装参数。如果Logtail已正确安装,请执行以下步骤进行排查。
- 适用于Linux服务器。
步骤三:检查机器组配置的IP地址是否正确
机器组中配置的IP地址必须和Logtail获取到的服务器地址一致,否则机器组无心跳、或无法采集到日志数据。Logtail获取机器IP地址的方式如下:
- 如果机器内没有设置主机名绑定,会读取服务器的第一块网卡IP地址。
- 如果在文件
/etc/hosts
中设置了主机名绑定,则会读取绑定主机名对应的IP地址。
- 在Linux服务器中,执行以下命令, 查看Logtail获取的IP地址。
cat /usr/local/ilogtail/app_info.json
系统显示类似如下。
说明:
- 如果
app_info.json
文件中ip
的值为空,则Logtail无法工作。此时需为服务器设置IP地址并重启Logtail。 app_info.json
文件仅做记录,修改该文件并不会改变Logtail获取的IP地址。
- 如果
- 登录日志服务控制台,单击Project名称。单击机器组,选择目标机器组名称。
- 在机器组配置页面,查看机器组的状态,如果服务端机器组内填写的IP地址与客户端获取的IP地址不一致,则需要修改。
说明:
- 若服务端机器组填写了错误的IP地址,请修改机器组内IP地址并保存,等待1分钟再查看心跳状态。
- 若修改了机器上的网络配置(如修改/
etc/hosts
文件),请重新启动Logtail服务以获取新的IP地址,并根据app_info.json
文件中的ip
的值,修改机器组内的IP地址。
- 请根据现场情况,选择以下对应的步骤,重启Logtail服务。
- 在Linux服务器中,依次执行以下命令,重启Logtail服务。
sudo /etc/init.d/ilogtaild stop
sudo /etc/init.d/ilogtaild start
- 在Linux服务器中,依次执行以下命令,重启Logtail服务。
-
- 在Windows服务器中,打开运行窗口,输入services.msc,单击确定。打开服务窗口,单击LogtailWorker服务,单击左侧的重启动,重启Logtail服务。
步骤四:查看非本账号下的ECS实例是否已经配置阿里云主账号ID
如果您的ECS服务器和日志服务的Project不在同一账号下,或服务器为其他云厂商服务器、自建IDC,则需要在服务器上配置阿里云主账号ID,为安装Logtail的机器授权,详情请参见配置阿里云主账号ID。请检查/etc/ilogtail/users
目录下是否有与阿里云主账号ID同名的文件。如果没有,请参见配置阿里云主账号ID进行操作。
说明:
- 必须是主账号的ID。
- 账号ID请在阿里云控制台个人信息中查看。
- 如果您的问题仍未解决,请提交工单到日志服务。工单中请提供您的Project、Logstore、机器组、
app_info.json
、ilogtail_config.json
以及自助诊断工具的输出内容。
适用于
- 日志服务
在文档使用中是否遇到以下问题
更多建议
匿名提交