您在使用Logtail采集日志时,可能遇到正则解析失败、文件路径不正确、流量超过Shard服务能力等问题。日志服务提供诊断功能,可帮助您快速定位Logtail采集错误信息。
前提条件
背景信息
Logtail诊断有两种方式,分别是控制台诊断与使用Logtail自动诊断工具,具体说明如下:
- 控制台诊断包括高级版诊断和基础版诊断: - 高级版诊断(推荐):提供异常诊断仪表盘,清晰展示Logtail相关的异常信息,并且支持更长时间的异常信息查询。 重要- 高级版诊断的仪表盘依赖于Project的重要日志。更多信息,请参见服务日志类型。 
- 基础版诊断:提供最近1小时内的采集异常信息。 
 
- Logtail自动诊断工具,仅支持Linux系统服务器,且需要安装curl工具用于网络连通性检查。流程如下: 
控制台诊断
- 登录日志服务控制台。 
- 在Project列表区域,单击目标Project。  
- 在页签中,将鼠标悬浮在目标Logstore上,然后单击目标Logstore右侧的  图标。 图标。 
- 查看诊断信息。 重要- 使用高级版诊断,必须开启重要日志。更多信息,请参见重要日志。 - 基础版诊断- 日志采集错误面板中将展示该Logstore所对应的所有Logtail采集错误列表。您可以单击目标错误代码,查看错误详情。更多信息,请参见日志服务采集数据常见的错误类型。  - 高级版诊断- 在LoongCollector/Logtail异常监控页面,查看活跃客户端数、全量错误信息等信息。更多信息,请参见查看数据报表和日志服务采集数据常见的错误类型。 
- 处理问题完毕后,您可以查看是否仍有报错。历史报错在过期前仍显示,您可以忽略这部分报错,仅确认在问题处理完毕的时间点之后是否有新的错误。其中Logtail上报错误信息的时间间隔为10分钟。 说明- 如果您需要查看解析失败而被丢弃的完整日志,可查看Logtail运行日志。路径为: - 主机场景:在Logtail所在服务器的 - /usr/local/ilogtail/ilogtail.LOG文件中。
- 容器场景:在Logtail所在容器的 - /usr/local/ilogtail/ilogtail.LOG文件中。
 
Logtail自动诊断工具
- 登录已安装Logtail的Linux服务器,使用以下命令下载诊断工具。 - wget http://logtail-release.oss-cn-hangzhou.aliyuncs.com/linux64/checkingtool.sh -O checkingtool.sh
- 输入以下命令,运行诊断工具。 - chmod 744 ./checkingtool.sh ./checkingtool.sh sh checkingtool.sh
- 运行诊断工具后,系统将返回如下信息,请根据提示选择语言。 - [Info]: Logtail checking tool version : 0.3.1 [Input]: Please choose language 请选择语言 : 1. 中文. 2. English. 语言 :
- 选择语言后,系统将提示您选择不同的检查流程。您可根据具体情况输入 - 1或- 2。- [Input]: please choose which type you want to check : 1. MachineGroup heartbeat fail. 2. MachineGroup heartbeat is ok, but log files have not been collected. Type :- 1:如果机器组心跳异常,请选择此项检查机器组问题。
- 2:如果机器组心跳正常,但日志文件没有被采集到,请选择此项检查Logtail采集配置问题。
 - 检查机器组问题- 选择机器组心跳异常检查后,Logtail自动诊断工具将执行下述一系列的检查。 - 检查基本信息。 - 是否安装Logtail。 
- 是否运行Logtail。 
- SSL状态是否正常。 
- 与日志服务之间是否有网络连通。 
 - [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_2.0.8 exists. [ OK ] [Info]: Logtail version : 2.0.8 [ OK ] [Info]: Check Logtail running status [Info]: Logtail is runnings. [ OK ] [Info]: Check network status [Info]: Logtail is using ip: 172.31.0.246 [Info]: Logtail is using UUID: D1BA8F5A-FA52-11EF-8935-00163E4C**** [Info]: Check SSL status Redirecting to /bin/systemctl status iptables.service Unit iptables.service could not be found. [Info]: SSL status OK. [ OK ] [Info]: Check logtail config server [Info]: config server address: http://logtail.cn-hangzhou-intranet.log.aliyuncs.com [Info]: Logtail config server HTTP OK [ OK ] [Info]: Logtail config server HTTPS OK [ OK ]
- 检查您的服务器是否为阿里云ECS并且和当前SLS Project属于同一账号。 - 如果是,请输入 - y继续下一步。
- 否则,请输入 - N。输入- N后,诊断工具将输出本地配置的用户标识信息。如果您的阿里云账号ID不在其中,请重新配置用户标识。- [Input]: Is your server Alibaba Cloud ECS and belong to the same account of the current SLS Project ? (y/N)n [Info]: Check aliyun user id(s) [Info]: aliyun user id : 198********815 . [ OK ] [Input]: Is your project owner account ID among the above IDs ? (y/N)n [Error]: please configure user IDs (account IDs), this doc will help [ https://www.alibabacloud.com/help/doc-detail/49007.htm ] [ Error ]
 
- 检查您Project所在地域是否和安装Logtail时所选地域一致。 - 如果一致,请输入 - y继续下一步。
- 否则,请输入 - N。输入- N后,诊断工具将提示您重新安装Logtail或者重新创建Project,确保Project的地域和Logtail安装时选择的地域相同。具体操作,请参见安装Logtail(Linux系统)。- [Input]: please make sure your project is in this region : { cn-hangzhou } (y/N) :n [Error]: please reinstall your Logtail or recreate your project to make sure your project is located in the same region with your Logt [ Error ]
 
- 检查您机器组中配置的IP地址或用户自定义标识是否与提示信息中的一致。 - 如果一致,请输入 - y。诊断工具将生成报告,如果问题依然存在,请复制输出报告内容并提交工单。
- 否则,请输入 - N。诊断工具将提示您修正机器组中的IP或自定义标识。具体操作,请参见修改机器组信息。- [Input]: please make sure your machine group's ip is same with : { 172.31.0.246 } or your machine group's userdefined-id is in : { user-defined-linux-1 } (y/N) :n [Error]: please correct your machine group's ip or userdefined-id, save the configuration, wait 1 minute and check again [ Error ]
 
 - 检查Logtail采集配置问题- 选择日志采集检查后,Logtail自动诊断工具将执行下述一系列的检查。 - 请确认您的机器组心跳正常并且检查机器组中配置的IP地址是否与提示信息中的一致。 - 如果是,请输入 - y继续下一步。
- 否则,请输入 - N。输入- N后,诊断工具将提示您返回检查机器组问题。- [Input]: please make sure your machine's heartbeat is ok and machine group's ip is same with : { 172.31.0.246 } (y/N) :n [Error]: please rerun the script and choose type 1 to check machine group's [ Error ]
 
- 检查您的Logtail采集配置是否已应用到目标机器组中。 - 如果是,请输入 - y继续下一步。关于如何检查,请参见查看机器组配置。
- 否则,请输入 - N。输入- N后,诊断工具将提示您应用Logtail采集配置到指定机器组。- [Input]: please make sure you have applied collection config to the machine group (y/N) :n [Error]: please apply collection config to the machine group [ Error ]
 
- 检查Logtail采集配置中的日志文件路径是否正确。 - 检查时,请输入您需要检查的日志文件全路径。如果未找到匹配项,请确认配置的路径是否可以匹配目标文件。 - 如果配置错误,请修改Logtail采集配置,然后等待1分钟后再次执行此脚本重新检查。 - [Input]: please input your log file's full path (eg. /var/log/nginx/access.log) : /var/log/nginx/access.log [Info]: Check specific log file [Info]: Check if specific log file [ /var/log/nginx/access.log ] is included by user log config. [Info]: Specific log file exists. [ OK ] [Error]: No match config for your log file. [ Error ] [Suggestion]: Please check collection config is created in SLS Project/Logstore and make sure you have applied config to your machine group
- 如果上述步骤检查完毕后,依然存在问题,请复制诊断报告并提交工单。 - [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 [Info]: Check system support [Info]: Check system support OK. [ OK ] [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_2.0.8 exists. [ OK ] [Info]: Logtail version : 2.0.8 [ OK ] ...... ......
 
快速检查
由于大多数情况下采集失败是因为用户标识与自定义用户标识配置错误,您可以通过运行快速检查,输出您在Logtail客户端中配置的用户标识(阿里云账号ID)和机器组的自定义用户标识。如果不存在,也不会告警。若您配置了这些信息,请查看提示信息中的内容与您设置的是否一致。如果不一致,请参考机器组重新配置。
您可以使用以下命令进行快速检查:
./checkingtool.sh --logFile [LogFileFullPath]如果指定的日志文件检查通过且Logtail运行环境正常,建议在日志服务控制台中查看该配置项的异常日志。更多信息,请参见控制台诊断。
诊断工具常用参数
| 常用参数 | 说明 | 
| 
 | 查看帮助文档。 | 
| 
 | 检测Logtail是否采集 | 
| 
 | 只检测Logtail是否采集 | 
| 
 | 只检测Logtail运行环境。 | 
Logtail采集异常的常见问题
运行Logtail自动诊断工具后,可以诊断Logtail采集异常的原因,您可以根据具体原因查找对应的解决方案。常见Logtail采集问题原因及解决方案如下。
Logtail只采集增量日志。如果下发Logtail采集配置后,日志文件无更新,则Logtail不会采集该文件。更多信息,请参见读取日志。
| 常见问题 | 解决方法 | 
| 安装文件丢失 | 重装Logtail。 | 
| Logtail未运行 | 执行 | 
| 多个Logtail进程 | 
 | 
| 443端口被禁用 | 在防火墙中,开启443端口。 | 
| 无法找到配置服务器 | 确认是否已正确安装Logtail。 如果安装错误,请重新执行安装命令。更多信息,请参见安装Logtail(Linux系统)。 | 
| 不存在用户配置 | 确认是否已执行以下操作: 
 | 
| 没有匹配指定日志文件 | 确认是否正确创建Logtail采集配置。 | 
| 指定日志文件匹配多次 | 匹配多次时,Logtail会随机选择一个Logtail采集配置。建议去重。 |