创建脚本processstatus.sh
#!/bin/bash
# zhuxl
pmem(){
ps aux | grep -v PID | grep -w $1 | grep -v grep | grep -v processstatus | grep -v zabbix_get | awk '{sum+=$4};END{print sum}'
}
pcpu(){
ps aux | grep -v PID | grep -w $1 | grep -v grep | grep -v processstatus | grep -v zabbix_get | awk '{sum+=$3};END{print sum}'
}
pnum(){
ps aux | grep -v PID | grep -w $1 | grep -v grep | grep -v processstatus | grep -v zabbix_get | wc -l
}
case "$1" in
pmem)
pmem $2
;;
pcpu)
pcpu $2
;;
pnum)
pnum $2
;;
*)
echo "Usage: $0 {pmem|pcpu|pnum} {processName}"
esac
zabbix配置自定义监控项后重启
UserParameter=process.state[*],/usr/local/zabbix/etc/zabbix_agentd.conf.d/processstatus.sh $1 $2
用zabbix_get测试,这里我直接抓取zabbix进程
[root@zabbix-server ~]# zabbix_get -s 192.168.10.101 -k process.state[pnum,zabbix]
52
[root@zabbix-server ~]# zabbix_get -s 192.168.10.101 -k process.state[pmem,zabbix]
2.4
[root@zabbix-server ~]# zabbix_get -s 192.168.10.101 -k process.state[pcpu,zabbix]
0
新建模板,监控内容如下,懒得再走一遍了

画个图

收集一段时间数据看看结果

本文介绍了如何创建一个名为processstatus.sh的bash脚本,用于监控进程的内存使用(pmem)、CPU占用(pcpu)和数量(pnum)。脚本通过Zabbix_get进行测试,展示了获取zabbix进程的实例。接着,文章提到了在Zabbix中配置自定义监控项并重启Zabbix以应用变更。最后,展示了监控结果的数据收集和图表绘制。

3227

被折叠的 条评论
为什么被折叠?



