当您使用Logtail采集日志发生异常时,可通过Logtail自助诊断工具查看Logtail客户端是否存在异常,并根据工具提示快速定位并解决问题。
Logtail自动诊断工具仅支持Linux系统的服务器。
Logtail只采集增量日志。如果下发Logtail采集配置后,日志文件无更新,则Logtail不会采集该文件。更多信息,请参见读取日志。
诊断流程
下载及运行诊断工具
登录Linux服务器。
下载诊断工具脚本。
wget http://logtail-release.oss-cn-hangzhou.aliyuncs.com/linux64/checkingtool.sh -O checkingtool.sh
安装curl工具。
Logtail自动诊断工具需通过curl工具进行网络连通性检查,请确保目标服务器已安装curl工具。
运行诊断工具。
chmod 744 ./checkingtool.sh ./checkingtool.sh sh checkingtool.sh
系统将返回如下类似信息。
[Info]: Logtail checking tool version : 0.3.0 [Input]: please choose which item you want to check : 1. MachineGroup heartbeat fail. 2. MachineGroup heartbeat is ok, but log files have not been collected. Item :
根据提示输入
1
或2
,脚本会根据您的选择执行不同检查流程。1
表示执行机器组心跳异常检查。机器组心跳失败时,请选择此项。2
表示执行日志采集检查。机器组心跳成功,但日志文件没有被采集时,请选择此项。
机器组心跳异常检查
选择机器组心跳异常检查后,Logtail自动诊断工具将执行下述一系列的检查。
检查基础环境是否正常。
是否安装Logtail。
是否运行Logtail。
SSL状态是否正常。
与日志服务之间是否有网络联通。
[Info]: Logtail checking tool version : 0.3.0 [Input]: please choose which item you want to check : 1. MachineGroup heartbeat fail. 2. MachineGroup heartbeat is ok, but log files have not been collected. Item : 1 [Info]: Check logtail install files [Info]: Install file: ilogtail_config.json exists. [ OK ] [Info]: Install file: /etc/init.d/ilogtaild exists. [ OK ] [Info]: Install file: ilogtail exists. [ OK ] [Info]: Bin file: /usr/local/ilogtail/ilogtail_0.14.2 exists. [ OK ] [Info]: Logtail version : [ OK ] [Info]: Check logtail running status [Info]: Logtail is runnings. [ OK ] [Info]: Check network status [Info]: Logtail is using ip: 11.XX.XX.187 [Info]: Logtail is using UUID: 0DF18E97-0F2D-486F-B77F-XXXXXXXXXXXX [Info]: Check SSL status [Info]: SSL status OK. [ OK ] [Info]: Check logtail config server [Info]: config server address: http://config.sls.aliyun-inc.com [Info]: Logtail config server OK [ OK ]
如果出现
Error
信息,请根据提示信息进行处理。检查您的服务器是否为当前阿里云账号下的ECS。
[Input]: Is your server non-Alibaba Cloud ECS or not belong to the same account with the current Project of Log Service ? (y/N)
如果您的服务器是当前阿里云账号下的ECS,则输入
N
。如果您的服务器是与日志服务属于不同账号的ECS、其他云厂商的服务器和自建IDC时,则输入
y
。输入
y
后,诊断工具将输出本地配置的用户标识信息。请确认其中是否包含了您的阿里云账号ID。如果未包含,请配置用户标识。具体操作,请参见配置用户标识。[Input]: Is your server non-Alibaba Cloud ECS or not belong to the same account with the current Project of Log Service ? (y/N)y [Info]: Check aliyun user id(s) [Info]: aliyun user id : 126XXXXXXXXXX79 . [ OK ] [Info]: aliyun user id : 165XXXXXXXXXX50 . [ OK ] [Info]: aliyun user id : 189XXXXXXXXXX57 . [ OK ] [Input]: Is your project owner account ID is the above IDs ? (y/N)
检查您Project所在地域是否和安装Logtail时所选地域一致。
[Input]: please make sure your project is in this region : { cn-hangzhou } (y/N) :
如果不一致,请重新安装Logtail。具体操作,请参见安装Logtail(Linux系统)。
检查您机器组中配置的IP地址或用户自定义标识是否与提示信息中的一致。
[Input]: please make sure your machine group's ip is same with : { 11.XX.XX.187 } or your machine group's userdefined-id is in : { XX-XXXXX } (y/N) :
如果不一致,请修改机器组中的IP地址或用户自定义标识。更多信息,请参见修改机器组。
检查日志采集检查
选择日志采集检查后,Logtail自动诊断工具将执行下述一系列的检查。
检查您机器组中配置的IP地址是否与提示信息中的一致。
[Input]: please make sure your machine group's ip is same with : { 11.XX.XX.187 } (y/N) :
如果不一致,请修改机器组中的IP地址。具体操作,请参见修改机器组。
检查您的Logtail采集配置是否已应用到目标机器组中。
[Input]: please make sure you have applied collection config to the machine group (y/N) :Y
如果未应用,请将您的Logtail采集配置应用到目标机器组中。具体操作,请参见应用Logtail采集配置。
检查Logtail采集配置中的日志文件路径是否正确。
检查时,请输入您需要检查的日志文件全路径。如果未找到匹配项,请确认配置的路径是否可以匹配目标文件。
如果配置错误,请修改Logtail采集配置,然后等待1分钟后再次执行此脚本重新检查。如何修改Logtail采集配置,请参见修改Logtail采集配置。
[Input]: please input your log file's full path (eg. /var/log/nginx/access.log) :/disk2/logs/access.log [Info]: Check specific log file [Info]: Check if specific log file [ /disk2/logs/access.log ] is included by user config. [Warning]: Specific log file doesnt exist. [ Warning ] [Info]: Matched config found: [ OK ] [Info]: [Project] -> sls-zc-xxxxxx [Info]: [Logstore] -> release-xxxxxxx [Info]: [LogPath] -> /disk2/logs [Info]: [FilePattern] -> *.log
检查通过但采集依然异常
如果所有的检查全部通过,但仍然采集异常,请在脚本最后的选择中输入y
并回车确认。系统将返回如下信息。
[Input]: please make sure all the check items above have passed. If the problem persists, please copy all the outputs and submit a ticket in the ticket system. : (y/N)y
请提交工单,并在工单中提供检查脚本输出的信息。
运行快速检查
运行快速检查时,您无需确认。快速检查可用于二次封装自定义检查脚本。
运行快速检查时,会输出您在Logtail客户端中配置的用户标识(阿里云账号ID)和机器组的自定义用户标识。如果不存在,也不会告警。如果您设置了这些信息,请查看提示信息中的内容与您设置的是否一致。如果不一致,请按照以下方法重新设置。
您可以运行./checkingtool.sh --logFile [LogFileFullPath]
命令进行快速检查。 如果提示异常,请根据提示信息进行处理。
如果指定的日志文件检查通过且Logtail运行环境正常,建议在日志服务控制台中查看该配置项的异常日志。更多信息,请参见如何查看Logtail采集错误信息。
Logtail采集异常的常见问题
运行Logtail自动诊断工具后,可以诊断Logtail采集异常的原因,您可以根据具体原因查找对应的解决方案。常见Logtail采集问题原因及解决方案如下。
常见问题 | 解决方法 |
安装文件丢失 | 重装Logtail。 |
Logtail未运行 | 执行 |
多个Logtail进程 |
|
443端口被禁用 | 在防火墙中,开启443端口。 |
无法找到配置服务器 | 确认是否已正确安装Linux Logtail。 如果安装错误,请重新执行安装命令。更多信息,请参见安装Logtail(Linux系统)。 |
不存在用户配置 | 确认是否已执行以下操作:
|
没有匹配指定日志文件 | 确认是否正确创建Logtail采集配置。 |
指定日志文件匹配多次 | 匹配多次时,Logtail会随机选择一个Logtail采集配置。建议去重。 |
诊断工具常用参数
常用参数 | 说明 |
| 查看帮助文档。 |
| 检测Logtail是否采集 |
| 只检测Logtail是否采集 |
| 只检测Logtail运行环境。 |