有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

机器组添加机器不生效

通过 IP 添加机器不生效

1. 检查 IP 对应机器是否已安装 LogListener,安装指引请参见 LogListener 安装和部署
2. 参考 如何使用采集自检工具,检查 LogListener 是否存在异常。
3. 检查机器组中添加的 IP 是否与 LogListener 识别到的 IP 一致。您可通过执行以下代码查看 LogListener 检测到的 IP。
Linux
Windows
/etc/init.d/loglistenerd check
在返回数据中,通过查看group ip查看 LogListener 识别到的 IP, 如下图:


以安装路径 C:\\Program Files (x86)\\Tencent\\LogListener 为例,以管理员身份运行 Windows PowerShell,在安装路径下,执行以下命令检查 LogListener 心跳及配置:
.\\loglistener_work.exe check
在返回数据中, 通过查看group_id查看 LogListener 识别到的 IP, 如下图:



通过机器标识添加机器不生效

1. 检查目标机器是否已安装 LogListener,安装指引请参考 LogListener 安装和部署
2. 参考 如何使用采集自检工具,检查LogListener是否存在异常。
3. 检查 LogListener 的机器标识是否与机器组中配置的机器标识一致。您可参考以下步骤查看 LogListener 的机器标识。
Linux
Windows
以安装路径 /usr/local/ 为例, 您可在 /usr/local/loglistener/etc 路径下,运行以下命令查看并配置 LogListener 配置文件。
vim loglistener.conf



其中 group_label 则为 Loglistener 的机器标识,请确保该标识与机器组中配置的一致。
以安装路径 C:\\Program Files (x86)\\Tencent\\LogListener 为例,在安装目录下找到 LogListener 配置文件 loglistener.yaml,并用任意编辑器打开,如下图:



其中 agent_label 则为 Loglistener 的机器标识,请确保该标识与机器组中配置的一致。

机器组机器状态异常问题

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



心跳异常

当状态为心跳异常时, 说明 LogListener 与日志服务后端连接中断,会导致 LogListener 无法正常上传日志。您可通过以下方式进一步排查连接中断的原因:
说明
仅适合于 LogListener 2.2.4 及以上版本,其他请参见 低版本 LogListener 异常状态排查

1. 使用 LogListener 快速诊断工具

LogListener 快速诊断工具可以快速诊断 LogListener 是否启动、心跳是否正常、配置拉取是否正常。 在命令行下执行如下指令:
/etc/init.d/loglistenerd check
LogListener 运行正常,诊断工具返回的结果如图所示:

1574426236479


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

img


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

img


引起 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 关联的采集配置。
/etc/init.d/loglistenerd check



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

优化正则表达式

1. 执行以下命令查看当前 LogListener 关联的采集配置。
/etc/init.d/loglistenerd check



2. 以上返回结果中,logconfig 数组包含了当前 LogListener 的所有采集配置,您可针对每个带有 fullregex 或 multi_fullregex 字段的采集配置,检查正则是否过于复杂。
3. 找到目标可优化的采集配置后,从步骤1的返回数据中查看该采集配置关联的 topicid,并基于该 topicid 前往 CLS 控制台找到目标日志主题,优化或删除该采集配置。

提升 LogListener CPU 占用的限制

1. 以 LogListener 安装目录为/usr/local/loglistenr为例,执行以下命令打开 LogListener 配置文件:
vim etc/loglistener.conf
2. 在 LogListener 配置文件中, 找到cpu_usage_thres并按需提升 CPU 利用率限制, 如下图:



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

提升 CPU 资源配额

K8s 场景下,请确保 DeamonSet:tke-log-agentPod: loglistener 的 CPU 配额充足。

内存超限

当状态为内存超限时,说明 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

服务器时间正确

请确保服务器时间准确,否则可能导致鉴权失败。