zoukankan      html  css  js  c++  java
  • 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]

  • 相关阅读:
    07.31《jQuery》——3.2文件上传、添加删除文件域
    07.31《jQuery》——3.1jQuery实现DOM节点的增删改
    07.30《jQuery》——2.2使用键盘上下左右键控制div框
    07.30《jQuery》——2.1div框的移动
    07.30《jQuery》——2.1隔行换色_简单的选择器练习
    【leetcode 530】刷题问题
    数据库基本概念之事务与并发控制
    我的LaTeX中文文档模板
    vim的使用与配置
    LaTeX简单使用方法
  • 原文地址:https://www.cnblogs.com/sunshine-long/p/10831867.html
Copyright © 2011-2022 走看看