概述

在日志服务控制台中当日志采集发生异常时,您可以通过Logtail自助检测工具查看客户端是否存在异常情况,根据工具提示快速定位并解决问题。本文主要介绍如何使用Logtail的快速诊断工具。

详细信息

运行诊断工具

说明:本工具目前仅支持Linux系统的服务器。

  1. 通过远程连接登录Linux实例。 
  2. 执行以下命令,下载检测工具脚本。
    wget http://logtail-release.oss-cn-hangzhou.aliyuncs.com/linux64/checkingtool.sh -O checkingtool.sh
    如果执行以上命令无法正常下载,请执行以下命令,通过以下备用地址进行下载。
    wget http://logtail-corp.oss-cn-hangzhou-zmf.aliyuncs.com/linux64/checkingtool.sh -O checkingtool.sh
  3. 需要使用curl工具检查网络连通性,请确保机器内已安装curl工具。
  4. 依次执行以下命令,运行诊断工具。
    chmod 744 ./checkingtool.sh
    ./checkingtool.sh
    sh checkingtool.sh
    系统显示类似如下,请根据提示输入12,脚本会根据您的选择执行不同的检查流程。
    [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表示执行日志采集检查,机器组心跳成功,但日志文件没有被采集时,请选择此项。

诊断工具流程

选择以上检查项目之后,诊断工具会自动执行对应的检查流程,自动执行对应的检查流程如下图所示。
156042191030599_zh-CN.png

机器组心跳检查

选择机器组心跳检查流程后会进行以下几项检查:

  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
    说明:若其中检查出现Error信息,请参见提示进行处理。
  2. 基础环境检查通过后,请确认您的服务器是否为ECS、由本账号购买。若此服务器不是ECS,或者ECS购买的账号和日志服务账号不同,请输入y,否则请输入N
    [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后,检查工具会输出本地配置的AliUid信息,请确认其中是否包含了您的AliUid,若未包含请参见创建AliUid标识

    [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. 检查Region,请确认您的Project所在区域是否和安装Logtail时所选区域一致,若不一致请参见重新安装Logtail
    [Input]: please make sure your project is in this region : { cn-hangzhou } (y/N) :
  4. 检查IP地址配置,请确认机器组配置的IP地址和Logtail机器组的IP地址一致,若不一致请参见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) :
    说明:若您配置的是自定义标识机器组,请确认本地配置的标识与服务端配置一致,若不一致请参见自定义标识机器组

日志采集检查

选择日志未采集检查流程后会进行以下几项检查:
  1. 请确认机器组配置的IP地址和Logtail机器组的IP地址一致且心跳正常,若不一致请参见修改机器组
    [Input]:  please make sure your machine group's ip is same with : { 11.XX.XX.187 } (y/N) :
  2. 请确认您的采集配置已经成功应用到该机器组中,如何查看机器组应用配置请参见管理机器组
    [Input]: please make sure you have applied collection config to the machine group (y/N) :Y
  3. 检查日志文件时请输入您需要检查的日志文件路径,若未找到匹配项,请确认配置的路径信息可以匹配定义的日志文件。若配置错误请重新修改采集配置并保存,1分钟后再次执行此脚本重新检查。

    [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

快速检查

快速检查运行时无需确认,可用于二次封装自定义检查脚本。快速检查运行时会输出客户端配置的AliUid、动态机器组、自定义标识,不存在也不会提示告警。如果客户端需要AliUid、动态机器组、自定义标识的配置,请查看工具的输出和您配置的是否一致,不一致时按照请参见创建AliUid标识自定义标识机器组

执行以下命令,对日志文件进行检查。若检测脚本发现异常,请根据脚本提示进行处理。

说明:若指定日志文件检查通过且Logtail运行环境正常,建议在日志服务控制台中查看该日志服务配置项的异常日志,请参见诊断采集错误

./checkingtool.sh --logFile [$LogFileFullPath]

系统显示类似如下。

说明:[$LogFileFullPath]为日志文件路径。

Logtail采集异常的常见问题

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

常见问题 解决方法
安装文件丢失 请重装Logtail。
Logtail未运行 在服务器中,执行/etc/init.d/ilogtaild start命令,开启Logtail。
多个Logtail进程

在服务器中,依次执行以下命令,重启Logtail。

/etc/init.d/ilogtaild stop

/etc/init.d/ilogtaild start

443端口被禁用 防火墙开放443端口。
无法找到配置服务器 确认是否已正确安装Logtail,若安装错误,请重新安装Logtail,详细步骤请参见在Linux系统中Logtail
不存在用户配置 确认是否已执行以下操作:
  1. 日志服务控制台中已经创建好Logtail配置。
  2. 机器组中包含该服务器。
  3. 已经将配置应用到机器组。
没有匹配指定日志文件 确认是否正确配置了Logtail。
指定日志文件匹配多次 匹配多次时Logtail会随机选择一个配置,建议去重。

检测工具常用参数

 
常用参数 说明
--help 查看帮助文档。
--logFile [LogFileFullPath] 检测Logtail是否收集路径为LogFileFullPath的日志,同时检查基本的Logtail运行环境(安装文件完整性、运行状态、AliUid、网络连通性等)。
--logFileOnly [LogFileFullPath] 只检测Logtail是否收集路径为LogFileFullPath的日志。
--envOnly 只检测Logtail运行环境。

适用于

  • 日志服务