• 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]

  • 相关阅读:
    类加载机制
    PTA(BasicLevel)-1094 谷歌的招聘
    PTA(BasicLevel)-1023 组个最小数
    异构图神经网络笔记-Heterogeneous Graph Neural Network(KDD19)
    PTA(BasicLevel)-1014 福尔摩斯的约会
    PTA(BasicLevel)-1013 数素数
    PTA(BasicLevel)-1012 数字分类
    PTA(BasicLevel)-1010 一元多项式求导
    PTA(BasicLevel)-1009 说反话
    PTA(BasicLevel)-1008数组元素循环右移问题
  • 原文地址:https://www.cnblogs.com/sunshine-long/p/10831867.html
Copyright © 2020-2023  润新知