如何使用Logtail自动诊断工具

当您使用Logtail采集日志发生异常时,可通过Logtail自助诊断工具查看Logtail客户端是否存在异常,并根据工具提示快速定位并解决问题。

重要
  • Logtail自动诊断工具仅支持Linux系统的服务器。

  • Logtail只采集增量日志。如果下发Logtail采集配置后,日志文件无更新,则Logtail不会采集该文件。更多信息,请参见读取日志

诊断流程

image

下载及运行诊断工具

  1. 登录Linux服务器。

  2. 下载诊断工具脚本。

    wget http://logtail-release.oss-cn-hangzhou.aliyuncs.com/linux64/checkingtool.sh -O checkingtool.sh
  3. 安装curl工具。

    Logtail自动诊断工具需通过curl工具进行网络连通性检查,请确保目标服务器已安装curl工具。

  4. 运行诊断工具。

    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 :
  5. 根据提示输入12,脚本会根据您的选择执行不同检查流程。

    • 1表示执行机器组心跳异常检查。机器组心跳失败时,请选择此项。

    • 2表示执行日志采集检查。机器组心跳成功,但日志文件没有被采集时,请选择此项。

机器组心跳异常检查

选择机器组心跳异常检查后,Logtail自动诊断工具将执行下述一系列的检查。

  1. 检查基础环境是否正常。

    • 是否安装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信息,请根据提示信息进行处理。

  2. 检查您的服务器是否为当前阿里云账号下的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)
  3. 检查您Project所在地域是否和安装Logtail时所选地域一致。

    [Input]: please make sure your project is in this region : { cn-hangzhou } (y/N) :

    如果不一致,请重新安装Logtail。具体操作,请参见安装Logtail(Linux系统)

  4. 检查您机器组中配置的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自动诊断工具将执行下述一系列的检查。

  1. 检查您机器组中配置的IP地址是否与提示信息中的一致。

    [Input]:  please make sure your machine group's ip is same with : { 11.XX.XX.187 } (y/N) :

    如果不一致,请修改机器组中的IP地址。具体操作,请参见修改机器组

  2. 检查您的Logtail采集配置是否已应用到目标机器组中。

    [Input]: please make sure you have applied collection config to the machine group (y/N) :Y

    如果未应用,请将您的Logtail采集配置应用到目标机器组中。具体操作,请参见应用Logtail采集配置

  3. 检查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采集错误信息

result

Logtail采集异常的常见问题

运行Logtail自动诊断工具后,可以诊断Logtail采集异常的原因,您可以根据具体原因查找对应的解决方案。常见Logtail采集问题原因及解决方案如下。

常见问题

解决方法

安装文件丢失

重装Logtail。

Logtail未运行

执行/etc/init.d/ilogtaild start命令,启动Logtail。

多个Logtail进程

  1. 执行/etc/init.d/ilogtaild stop命令,关闭Logtail。

  2. 执行/etc/init.d/ilogtaild start命令,启动Logtail。

443端口被禁用

在防火墙中,开启443端口。

无法找到配置服务器

确认是否已正确安装Linux Logtail。

如果安装错误,请重新执行安装命令。更多信息,请参见安装Logtail(Linux系统)

不存在用户配置

确认是否已执行以下操作:

  1. 已创建Logtail采集配置。

  2. 机器组中包含该服务器。

  3. 已经将Logtail采集配置应用到机器组。

没有匹配指定日志文件

确认是否正确创建Logtail采集配置。

指定日志文件匹配多次

匹配多次时,Logtail会随机选择一个Logtail采集配置。建议去重。

诊断工具常用参数

常用参数

说明

--help

查看帮助文档。

--logFile [LogFileFullPath]

检测Logtail是否采集LogFileFullPath路径中的日志,同时检查基本的Logtail运行环境(安装文件完整性、运行状态、阿里云账号ID、网络连通性等)。

--logFileOnly [LogFileFullPath]

只检测Logtail是否采集LogFileFullPath路径中的日志。

--envOnly

只检测Logtail运行环境。