首页 > 代码库 > zabbix自定义监控项
zabbix自定义监控项
1. 编辑客户端配置文件/etc/zabbix/zabbix_agentd.conf
内容:
UnsafeUserParameters=1
# UserParameter=my.net.if[*], /usr/local/sbin/zabbix/net.sh $1 $2
UserParameter=process.nginx.memory, /tmp/shell/processstatus.sh nginx
UserParameter=process.nginx.cpu, /tmp/shell/processstatus.sh nginxcpu
UserParameter=process.mysql.memory, /tmp/shell/processstatus.sh mysql
UserParameter=process.mysql.cpu, /tmp/shell/processstatus.sh mysqlcpu
说明:增加这一行,其中UserParameter用来自定义键值my.net.if,有参数时,需要加[*],没有参数则省略[*];逗号后面为脚本或命令路径,以及参数变量
格式:
UserParameter=key[*],command
key为唯一值,[*]表示参数。
command为要执行的命令或脚本,key的[*]里面的参数一一对应$1到$9,一共9个参数。$0表示脚本命令。返回结果
数据最大为512KB
2. 编辑脚本/tmp/shell/processstatus.sh,并授执行权限+x
内容:
#! /bin/bash ## mysql() { ps aux|grep ‘mysqld‘ |grep -v "grep" |awk ‘{sum+=$6}; END{print sum}‘ } mysqlcpu() { ps aux|grep ‘mysqld‘ |grep -v "grep" |awk ‘{sum+=$3}; END{print sum}‘ } nginx() { ps aux|grep ‘nginx‘ |grep -v "grep" |awk ‘{sum+=$6}; END{print sum}‘ } nginxcpu() { ps aux|grep ‘nginx‘ |grep -v "grep" |awk ‘{sum+=$3}; END{print sum}‘ } case "$1" in mysql) mysql ;; mysqlcpu) mysqlcpu ;; nginx) nginx ;; nginxcpu) nginxcpu ;; *) echo "Usage: $0 (mysql|mysqlcpu|nginx|nginxcpu)" ;; esac
3. 重启客户端,并在服务端测试脚本是否生效
/etc/init.d/zabbix-agent restart
zabbix_get -s 172.16.115.162 -p10050 -k process.mysql.memory
4. 服务端,web上依次添加监控项
5. 查看结果
本文出自 “一马踏平川” 博客,请务必保留此出处http://huangzp.blog.51cto.com/12434999/1906438
zabbix自定义监控项