机器组状态异常问题

最近更新时间: 2026-03-13 09:03:00

概述

完成机器组配置后,在机器组管理页中,点击机器组名称可以查看与该机器组关联的机器心跳。状态正常说明机器心跳正常上报,若不为正常(如下图), 则说明该机器上的 LogListener 存在异常。

LogListener 可能存在以下异常状态:

  • 心跳异常
  • 目录超限
  • 文件超限
  • CPU 超限
  • 内存超限
  • 鉴权失败
    本文将针对以上异常状态进行解释, 并提供相应的解决方案。

心跳异常

当状态为心跳异常时, 说明 LogListener 与日志服务后端连接中断,会导致 LogListener 无法正常上传日志。您可通过以下方式进一步排查连接中断的原因:

说明

仅适合于 LogListener 2.2.4 及以上版本。

1. 使用 LogListener 快速诊断工具

LogListener 快速诊断工具可以快速诊断 LogListener 是否启动、心跳是否正常、配置拉取是否正常。
在命令行下执行如下指令:

/etc/init.d/loglistenerd check

LogListener 运行正常,诊断工具返回的结果如图所示:

LogListener 进程异常
如果出现如下图所示 “[ERROR] loglistener is not running” 字样,表示 LogListener 没有启动。 执行 /etc/init.d/loglistenerd start 启动,更多操作指令参见 LogListener 常用操作指令

LogListener 心跳异常
如果出现如下图所示 “[ERROR] check loglistener heareat fail” 字样,表示 LogListener 心跳异常。

引起 LogListener 心跳异常的原因有很多,最常见的情况有:

  • 网络异常
    执行以下命令检查网络环境是否连通,命令中的 “cls domain name” 为 CLS 服务域名。

    telnet <cls domain name> 80 
    
  • 密钥信息错误
    检查 LogListener 密钥信息是否正确,进入到 LogListener 安装目录执行如下命令。

    说明:

    若无特殊指定,LogListener 安装目录通常为/usr/local/loglistener

    grep secret etc/loglistener.conf
    

2. 检查机器组 IP 配置

检查机器组所添加的 IP 地址是否为 LogListener 安装过程中获取的 IP 地址。进入到 LogListener 安装目录执行如下命令检查 LogListener 配置的 IP 地址:

说明:

若无特殊指定,LogListener 安装目录通常为/usr/local/loglistener

grep group_ip etc/loglistener.conf

登录日志服务控制台,单击机器组管理,查看机器组配置的 IP 地址,机器组所配置的 IP 地址必须与 LogListener 获取的 IP 地址完全一致。

目录超限

当状态为目录超限时,说明 LogListener 监听的采集目录数量已超过规格限制5000,会导致 LogListener 部分超出部分的目录的日志无法被采集。您可通过以下方式进行修复:

  1. 执行以下命令查看当前 LogListener 关联的采集配置。

      /etc/init.d/loglistenerd check
    


2. 以上返回结果中,logconfig 数组包含了当前 LogListener 的所有采集配置,您可针对每个采集配置,检查 wildpath 是否可能模糊命中大量无需采集的目录,例如/root/**/error.log这类跟目录的模糊路径。
3. 找到目标可优化的采集配置后, 从步骤1的返回数据中查看该采集配置关联的 topicid,并基于该 topicid 前往 CLS 控制台找到目标日志主题,优化或删除该采集配置。

文件超限

当状态为文件超限时,说明 LogListener 监听的采集文件数量已超过规格限制10000,会导致 LogListener 部分超出部分的目录的日志无法被采集。您可通过以下方式进行修复:

  1. 执行以下命令查看当前 LogListener 关联的采集配置。

      /etc/init.d/loglistenerd check
    


2. 以上返回结果中,logconfig 数组包含了当前 LogListener 的所有采集配置,您可针对每个采集配置,检查 wildpath 是否可能模糊命中大量无需采集的文件,例如/root/**/*.log这类从根目录模糊匹配任意名称的日志文件。
3. 找到目标可优化的采集配置后,从步骤1的返回数据中查看该采集配置关联的 topicid,并基于该 topicid 前往 CLS 控制台找到目标日志主题,优化或删除该采集配置。

CPU 超限

当状态为 CPU 超限时,说明 LogListener 所占用 CPU 已超过预先设置的阈值。您可通过以下方式进行修复:

  1. 以 LogListener 安装目录为/usr/local/loglistenr为例,执行以下命令打开 LogListener 配置文件:

    vim  etc/loglistener.conf
    
  2. 在 LogListener 配置文件中, 找到cpu_usage_thres并按需提升 CPU 利用率限制, 如下图:

  3. 完成配置后,保存并重启 LogListener。

内存超限

当状态为内存超限时,说明 LogListener 所占用内存已超过预先设置的阈值。您可通过以下方式进行修复:

  1. 以 LogListener 安装目录为/usr/local/loglistenr为例,执行以下命令打开 LogListener 配置文件:

    vim  etc/loglistener.conf
    
  2. 在 LogListener 配置文件中,找到 max_mem 并按需提升内存占用限制,如下图:

  3. 完成配置后,保存并重启 LogListener。

鉴权失败

当状态为鉴权失败时,说明 LogListener 中配置的密钥错误或已失效。您可通过以下方式进行修复:

  1. 以 LogListener 安装目录为/usr/local/loglistenr为例,执行以下命令打开 LogListener 配置文件:

    vim  etc/loglistener.conf
    
  2. 在 LogListener 配置文件中,找到 secrete_idsecrete_key 并判断是否正确有效,若无效则修改为正确的密钥信息,如下图:

  3. 完成配置后,保存并重启 LogListener。