配置Logtail采集日志数据,如果Logtail机器组心跳状态不正常,可使用Logtail自动诊断工具或人工诊断的方式排查问题。 背景信息 如果使用Logtail采集日志,在服务器上安装Logtail之后,Logtail会定时向服务端发送心跳包。如果机器组状态页面显示机器无心跳,说明客户端和服务端连接失败。日志服务提供Logtail自动诊断工具和人工诊断两种方式,您可以根据需求选择排查方式。 自动诊断 日志服务提供针对Linux服务器的Logtail自动诊断工具,排查步骤请参见Logtail自动诊断工具。 人工诊断 Logtail自动诊断工具未检查出问题,或服务器为Windows,请参见本文档逐步排查。 Logtail机器无心跳排查流程如下图所示。 图 1. 排查流程
步骤1:检查是否已安装Logtail 请执行如下命令查看Logtail状态。 Linux服务器
sudo /etc/init.d/ilogtaild status 如果显示ilogtail is running,表示已安装Logtail,例如:
[root@****************~]# sudo /etc/init.d/ilogtaild status ilogtail is running Windows服务器 在控制面板中单击管理工具,并单击服务。 查看LogtailDaemon、LogtailWorker两个Windows Service的运行状态。如果正在运行,表示已安装Logtail。 如未安装Logtail客户端,请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)进行安装,安装时请务必按照您日志服务Project所属Region以及网络类型进行安装。如果Logtail正在运行,请执行下一步检查。 步骤2:检查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 x86服务器:C:\Program Files\Alibaba\Logtail\ilogtail_config.json 检查安装参数。 检查文件ilogtail_config.json中客户端连接的网络入口所属Region是否与您Project所在Region一致。 例如以下回显信息表明Logtail安装在华东一(杭州)地域的ECS中。 图 2. 检查安装参数
Project所属Region如下图所示。 图 3. Project所属Region
检查安装方式。 测试ilogtail_config.json中配置的域名,检查是否根据服务器所属网络环境选择了正确的安装方式。 例如ilogtail_config.json中记录Logtail配置的域名为cn-hangzhou-intranet,则可以通过执行如下命令检查连通性。 Linux服务器 执行命令curl logtail.cn-hangzhou-intranet.log.aliyuncs.com,如下表示安装OK。
[root@*********** ~]# 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,如下表示安装OK。
[root@*********** ~]# telnet logtail.cn-hangzhou-intranet.log.aliyuncs.com 80 Trying 10007*5... Connected to logtail.cn-hangzhou-intranet.log.aliyuncs.com. Escape character is '^]'. 如果检查失败,说明安装时选择了错误的参数,所以会显示执行了错误的安装命令。请参见安装Logtail(Linux系统)或安装Logtail(Windows系统)选择正确的安装参数。 如果Logtail已正确安装,请执行下一步检查。 步骤3:检查机器组配置的IP地址是否正确 机器组中配置的IP地址必须和Logtail获取到的服务器地址一致,否则机器组无心跳、或无法采集到日志数据。Logtail获取机器IP的方式如下: 如果没有设置主机名绑定,会取服务器的第一块网卡IP。 如果在文件/etc/hosts中设置了主机名绑定,则会取绑定主机名对应的IP。
说明 可以通过hostname查看主机名。 排查步骤: 查看Logtail获取的IP地址。 文件app_info.json的ip字段中记录了Logtail获取的IP地址,该文件的路径为: Linux服务器:/usr/local/ilogtail/app_info.json Windows x64服务器:C:\Program Files (x86)\Alibaba\Logtail\app_info.json Windows x86服务器:C:\Program Files\Alibaba\Logtail\app_info.json
说明 如果app_info.json文件中ip字段为空,Logtail无法工作。此时需为服务器设置IP地址并重启Logtail。 文件app_info.json仅做记录,修改该文件并不会改变Logtail获取的IP地址。 图 4. 查看Logtail获取的IP地址
查看机器组中配置的地址。 在日志服务控制台单击Project名称,然后在左侧导航选择机器组,单击目标机器组名称后在机器组配置页面查看状态。 图 5. 查看机器组
如果服务端机器组内填写的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地址,请执行下一步检查。 步骤4:检查非本账号下ECS是否已配置阿里云主账号ID 如果您的ECS服务器和日志服务Project不在同一账号下,或服务器为其他云厂商服务器、自建IDC,则需要在服务器上配置阿里云主账号ID,为安装Logtail的机器授权。 检查/etc/ilogtail/users目录下是否有与阿里云主账号ID同名的文件。 如果没有,请参见配置阿里云主账号ID进行操作。
说明 必须是主账号的ID。 账号ID请在阿里云控制台个人信息中查看。 如果您的问题仍未解决,请提工单到日志服务。工单中请提供您的Project、Logstore、机器组、app_info.json、ilogtail_config.json以及自助诊断工具的输出内容。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。