首页 > 代码库 > 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自定义监控项