日志服务 机器组常见问题

1. 检查 IP 对应机器是否已安装 LogListener,安装指引2. 参考 如何使用采集自检工具,检查 LogListener 是否存在异常。

相关产品
日志服务 产品页,含版本规格、价格与购买入口。

一、通过 IP 添加机器不生效

3. 检查机器组中添加的 IP 是否与 LogListener 识别到的 IP 一致。你可通过执行以下代码查看 LogListener 检测到的 IP。

LinuxWindows

·LogListener 版本≥3.4.0:

//查看心跳及配置systemctl check loglistener

//核对机器 IPcd /opt/loglistener/ && grep -n 'agent_ip' conf/loglistener.yaml

·LogListener 版本<3.4.0:

/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 的机器标识。

LinuxWindows

·LogListener 版本≥3.4.0:以安装路径 /opt/loglistener 为例, 你可在 /opt/loglistener/conf 路径下,运行以下命令查看并配置 LogListener 配置文件。

grep -n 'agent_labels' loglistener.yaml

无输出时,表示当前机器未配置机器标识:

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

·LogListener 版本<3.4.0:以安装路径 /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 是否启动、心跳是否正常、配置拉取是否正常。在命令行下执行如下指令:

·LogListener 版本≥3.4.0:

systemctl check loglistener

·LogListener 版本<3.4.0:

/etc/init.d/loglistenerd check

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

·LogListener 进程异常:如果出现如下所示 [ERROR] loglistener is not running 字样,表示 LogListener 没有启动。执行 systemctl start loglistener 启动,更多操作指令参见 LogListener 常用操作。

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

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

·网络异常。执行以下命令检查网络环境是否连通,命令中的 “cls domain name” 为 CLS 服务域名,请参见 可用地域 文档填写。

telnet <cls domain name> 80

·密钥信息错误。进入 LogListener 安装目录执行./bin/check,末尾输出内容如下表示密钥信息错误。

·密钥缺少权限。进入 LogListener 安装目录执行./bin/check,末尾输出内容如下表示密钥缺少权限,需要按照 策略模板 配置上报权限。

六、2. 检查机器组 IP 配置

检查机器组所添加的 IP 地址是否为 LogListener 安装过程中获取的 IP 地址。

1. 进入到 LogListener 安装目录执行如下命令检查 LogListener 配置的 IP 地址。

LogListener 版本≥3.4.0LogListener 版本<3.4.0说明:若无特殊指定,LogListener 安装目录通常为 /opt/loglistener。grep agent_ip conf/loglistener.yaml说明:若无特殊指定,LogListener 安装目录通常为/usr/local/loglistener。grep group_ip etc/loglistener.conf

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

七、目录超限

当状态为目录超限时,会导致 LogListener 超出部分的目录的日志无法被采集。你可通过以下方式进行修复:

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

//LogListener 版本≥3.4.0systemctl check loglistener //LogListener 版本<3.4.0 /etc/init.d/loglistenerd check

2. 以上返回结果中,logconfig 数组包含了当前 LogListener 的所有采集配置,你可针对每个采集配置,检查 wildpath 是否可能模糊命中大量无需采集的目录,例如/root/**/error.log 这类根目录的模糊路径。

3. 找到目标可优化的采集配置后, 从步骤1的返回数据中查看该采集配置关联的 topicid,并基于该 topicid 前往 CLS 控制台找到目标日志主题,优化或删除该采集配置。

八、文件超限

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

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

//LogListener 版本≥3.4.0systemctl check loglistener//LogListener 版本<3.4.0 /etc/init.d/loglistenerd check

2. 以上返回结果中,logconfig 数组包含了当前 LogListener 的所有采集配置,你可针对每个采集配置,检查 wildpath 是否可能模糊命中大量无需采集的文件,例如/root/**/*.log 这类从根目录模糊匹配任意名称的日志文件。

3. 找到目标可优化的采集配置后,从步骤1的返回数据中查看该采集配置关联的 topicid,并基于该 topicid 前往 CLS 控制台找到目标日志主题,优化或删除该采集配置。

九、CPU 超限

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

十、优化目标采集目录

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

//LogListener 版本≥3.4.0systemctl check loglistener//LogListener 版本<3.4.0/etc/init.d/loglistenerd check

2. 以上返回结果中,logconfig 数组包含了当前 LogListener 的所有采集配置,你可针对每个采集配置,检查 wildpath 是否可能模糊命中大量无需采集的文件,例如/root/**/*.log 这类从根目录模糊匹配任意名称的日志文件。

3. 找到目标可优化的采集配置后,从步骤1的返回数据中查看该采集配置关联的 topicid,并基于该 topicid 前往 CLS 控制台找到目标日志主题,优化或删除该采集配置。

十一、优化正则表达式

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

//LogListener 版本≥3.4.0systemctl check loglistener//LogListener 版本<3.4.0 /etc/init.d/loglistenerd check

2. 以上返回结果中,logconfig 数组包含了当前 LogListener 的所有采集配置,你可针对每个带有 fullregex 或 multi_fullregex 字段的采集配置,检查正则是否过于复杂。

3. 找到目标可优化的采集配置后,从步骤1的返回数据中查看该采集配置关联的 topicid,并基于该 topicid 前往 CLS 控制台找到目标日志主题,优化或删除该采集配置。

十二、提升 LogListener CPU 占用的限制

LogListener 版本≥3.4.0LogListener 版本<3.4.01. 以 LogListener 安装目录为 opt/loglistener 为例,执行以下命令打开 LogListener 配置文件:vim conf/loglistener.yaml2. 在 LogListener 配置文件中, 找到 cpu_limit 并按需提升 CPU 利用率限制(建议在保障业务进程资源的前提下按500/1000逐步提升):3. 完成配置后,保存并 重启 LogListener。systemctl restart loglistener1. 以 LogListener 安装目录为/usr/local/loglistener 为例,执行以下命令打开 LogListener 配置文件:vim etc/loglistener.conf2. 在 LogListener 配置文件中, 找到 cpu_usage_thres 并按需提升 CPU 利用率限制(建议在保障业务进程资源的前提下按500/1000逐步提升), 如下:3. 完成配置后,保存并 重启 LogListener。 systemctl restart loglistenerd

十三、提升 CPU 资源配额

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

十四、内存超限

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

LogListener 版本≥3.4.0LogListener 版本<3.4.01. LogListener 安装目录为 opt/loglistener 为例,执行以下命令打开 LogListener 配置文件。vim conf/loglistener.yaml2. 在 LogListener 配置文件中,找到 max_mem (单位:Bytes)并按需提升内存占用限制:说明:建议在保障业务进程内存资源充足、不影响业务稳定性的前提下,再按当前值的1 – 2倍逐步提升。3. 完成配置后,保存并 重启 LogListener。systemctl restart loglistener1. 以 LogListener 安装目录为/usr/local/loglistener 为例,执行以下命令打开 LogListener 配置文件。vim etc/loglistener.conf2. 在 LogListener 配置文件中,找到 max_mem (单位:Bytes)并按需提升内存占用限制:说明:建议在保障业务进程内存资源充足、不影响业务稳定性的前提下,再按当前值的1 – 2倍逐步提升。3. 完成配置后,保存并 重启 LogListener。 systemctl restart loglistenerd

十五、确认密钥有效

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

LogListener 版本≥3.4.0LogListener 版本<3.4.0密钥不再明文暴露在本地配置文件中。如仍出现鉴权失败,通常表示当前实例使用的密钥已失效、权限异常或配置未正确下发。请确认 控制台密钥 及机器组配置是否有效,必要时可以 重新安装 LogListener。1. 以 LogListener 安装目录为/usr/local/loglistener 为例,执行以下命令打开 LogListener 配置文件。vim etc/loglistener.conf2. 在 LogListener 配置文件中,找到 secret_id 和 secret_key 并判断是否正确有效,若无效则修改为正确的密钥信息:3. 完成配置后,保存并 重启 LogListener。 systemctl restart loglistenerd

十六、服务器时间正确

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

1. Linux 服务器可参考以下方式检查:

datetimedatectl status

重点确认以下信息:

·Local time:当前本地时间是否正确。

·Time zone:时区是否符合服务器所在地域,例如中国大陆地域通常为 Asia/Shanghai。

·System clock synchronized:是否为 yes。

·NTP service:是否为 active。

2. 如时区不正确,可执行以下命令修改时区(以中国大陆地域为例):

sudo timedatectl set-timezone Asia/Shanghai

赞 (0)
上一篇 5天前
下一篇 5天前