You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Zabbix获取进程数据异常:进程名被截断为10字符并以+结尾

问题原因及解决方案

核心原因

你的脚本大概率使用了ps命令的comm字段(默认显示进程名),这个字段在多数系统环境中会被截断到15字符以内(部分场景下为10字符),末尾加+标识截断状态。本地执行脚本时,因用户环境变量或ps默认参数差异,能显示完整进程名;但Zabbix Agent以系统用户(通常是zabbix用户)运行时,触发了ps的截断输出行为。

解决方案

1. 修改脚本中的ps命令,使用完整进程名字段

将脚本里获取进程名的ps参数从comm替换为args或cmd,这两个字段会输出完整的命令行/进程名:

  • 示例替换:原命令ps -p $PID -o comm= 改为 ps -p $PID -o args=
  • 或者直接用ps -e -o pid,args | grep "kworker/85"匹配完整进程信息

2. 用pgrep精确匹配进程

如果脚本是通过进程名查找PID,改用pgrep -f参数匹配完整命令行,避免基于截断字符的错误匹配:

PID=$(pgrep -f "kworker/85")

3. 验证Zabbix Agent的执行环境

在Agent主机切换到zabbix用户手动执行脚本,确认输出是否与zabbix_get结果一致:

su - zabbix -s /bin/bash
./zabbix_proc.sh -j kworker/85

若此时输出同样被截断,说明是zabbix用户环境下ps的默认行为,按上述1、2步骤修改即可。

4. 清理脚本中的手动截断逻辑

检查脚本是否存在cut、awk等固定长度截取进程名的代码,直接删除这类逻辑,确保保留完整输出。

内容的提问来源于stack exchange,提问作者oxpy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:01:07