1、编写python脚本 cpu_top.py
import os
import sys
def cpu_top():
"""cpu 使用率top10的进程"""
a = sys.argv[1] #获取命令行参数
cpu =os.popen('ps aux | sort -k3rn | head -10') #获取cpu使用率的top10
i = cpu.readlines()[int(a)]
total = i.split(maxsplit=10)
aaa = float(total[2])
print(aaa)
if __name__ == '__main__':
cpu_top()
$ python3 cpu_top.py 0 #0就是cpu使用率排第一的
2.5
然后把它上传zabbix服务器
2、更改zabbix配置
pwd
/etc/zabbix/zabbix_agentd.d
cat cpu_top.conf
UserParameter=cpu_top1,python3 /etc/zabbix/oto_saas_yunwei/cpu_top.py 0
UserParameter=cpu_top2,python3 /etc/zabbix/oto_saas_yunwei/cpu_top.py 1
UserParameter=cpu_top3,python3 /etc/zabbix/oto_saas_yunwei/cpu_top.py 2
UserParameter=cpu_top4,python3 /etc/zabbix/oto_saas_yunwei/cpu_top.py 3
UserParameter=cpu_top5,python3 /etc/zabbix/oto_saas_yunwei/cpu_top.py 4
UserParameter=cpu_top6,python3 /etc/zabbix/oto_saas_yunwei/cpu_top.py 5
UserParameter=cpu_top7,python3 /etc/zabbix/oto_saas_yunwei/cpu_top.py 6
UserParameter=cpu_top8,python3 /etc/zabbix/oto_saas_yunwei/cpu_top.py 7
UserParameter=cpu_top9,python3 /etc/zabbix/oto_saas_yunwei/cpu_top.py 8
UserParameter=cpu_top10,python3 /etc/zabbix/oto_saas_yunwei/cpu_top.py 9
重启
service zabbix-agent restart
测试
[root@i-pumjfiuu zabbix_agentd.d]# /usr/bin/zabbix_get -s 192.168.1.70 -p 10050 -k "cpu_top2"
0.3
[root@i-pumjfiuu zabbix_agentd.d]# /usr/bin/zabbix_get -s 192.168.1.70 -p 10050 -k "cpu_top1"
2.5
[root@i-pumjfiuu zabbix_agentd.d]# /usr/bin/zabbix_get -s 192.168.1.70 -p 10050 -k "cpu_top3"
0.1
[root@i-pumjfiuu zabbix_agentd.d]# /usr/bin/zabbix_get -s 192.168.1.70 -p 10050 -k "cpu_top1"
2.5
-s 指定zabbix服务器地址
-p 指定 zabbix_agentd 的端口号(默认10050)
-k 指定监控项的名字
3、配置监控项


4、图形


5、触发器

本文介绍如何使用Python脚本cpu_top.py监控系统中CPU使用率最高的10个进程,并将这些数据上传到Zabbix服务器进行实时监控。文章详细说明了脚本的编写、Zabbix配置的修改、监控项的配置及测试过程。

602

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



