zabbix 自定义mysql监控

一、配置zabbix-agent

编辑 /etc/zabbix/zabbix_agentd.conf文件  增加如下两个配置

1.vim /etc/zabbix/zabbix_agentd.conf

UnsafeUserParameters=1
Include=/etc/zabbix/zabbix_agentd.d/*.conf

 2.新增配置文件

[root@steven /etc/zabbix] # cat zabbix_agentd.d/zabbix_mysql_template.conf
UserParameter=mysql.status[*],/bin/bash /data/app/scripts/monitor/zabbix-mysql-template.sh $1 $2

 

二、编写脚本

vim /data/app/scripts/monitor/zabbix-mysql-template.sh

#!/bin/bash
# author: steven

USER="xxxr"
PASSWD="xxxxx"
PORT="$2"
echo $PORT


if [ -z "$2" ];then
    socket="--socket=/data/appData/mysql/mysql.sock"
else
    socket="--socket=/data/appData/mysql-$PORT/mysql.sock"
fi

if [ -f /data/app/mysql-3307/bin/mysqladmin ];then
    MYSQL_CONN="/data/app/mysql-3307/bin/mysqladmin -u$USER -p$PASSWD $socket -u$USER"
else
    echo "Not Found Command 'mysqladmin'"
    exit
fi

case "$1" in
  Uptime)
    result=`${MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"`
    echo $result
  ;;
  Com_update)
    result=`${MYSQL_CONN} extended-status|grep -w "Com_update"|cut -d"|" -f3`
    echo $result
  ;;
  Slow_queries)
    result=`${MYSQL_CONN} status|cut -f5 -d":"|cut -f1 -d"O"`
    echo $result
  ;;
  Com_select)
    result=`${MYSQL_CONN} extended-status|grep -w "Com_select"|cut -d"|" -f3`
    echo $result
  ;;
  Com_rollback)
    result=`${MYSQL_CONN} extended-status|grep -w "Com_rollback"|cut -d"|" -f3`
    echo $result
  ;;
  Questions)
    result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"`
    echo $result
  ;;
  Com_insert)
    result=`${MYSQL_CONN} extended-status|grep -w "Com_insert"|cut -d"|" -f3`
    echo $result
  ;;
  Com_delete)
    result=`${MYSQL_CONN} extended-status|grep -w "Com_delete"|cut -d"|" -f3`
    echo $result
  ;;
  Com_commit)
    result=`${MYSQL_CONN} extended-status|grep -w "Com_commit"|cut -d"|" -f3`
    echo $result
  ;;
  Bytes_sent)
    result=`${MYSQL_CONN} extended-status|grep -w "Bytes_sent"|cut -d"|" -f3`
    echo $result
  ;;
  Bytes_received)
    result=`${MYSQL_CONN} extended-status|grep -w "Bytes_received"|cut -d"|" -f3`
echo $result
  ;;
  Com_begin)
    result=`${MYSQL_CONN} extended-status|grep -w "Com_begin"|cut -d"|" -f3`
    echo $result
  ;;
  ping)
    result=`${MYSQL_CONN} ping|grep -c alive`
    echo $result
  ;;
  *)
    echo "error parameter"
  ;;
esac

 

三、zabbix 前端创建监控项

例如:ping

键值对地方写  mysql.status[ping]

 

转载于:https://www.cnblogs.com/sunshine-long/p/10831867.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值