lfjigu 发表于 2019-1-25 10:33:23

zabbix监控mysql各项性能,主从复制

  ######################################################
  监控mysql(默认监控模板不能用,再agentd.conf开启自定义key,自己编写脚本)
  在zabbix_agentd.conf尾部添加(注意相关文件路径,以及脚本权限等问题)
  vim zabbix_agentd.conf
  UserParameter=mysql.version,mysql -V
  UserParameter=mysql.ping,mysqladmin -uroot -p123456 -S /tmp/mysql.sock ping | grep -c alive
  UserParameter=mysql.status
[*],/tmp/checkmysql.sh $1 $2
  在web上添加Item模板模板,选择默认就好
http://s2.运维网.com/wyfs02/M02/7F/75/wKiom1cfJx2BfYujAABM5GAE4mM135.png

  编写监控mysql脚本
  
  #!/bin/sh
  #Create by sfzhang 2014.02.20
  MYSQL_SOCK="/tmp/mysql.sock"
  MYSQL_PWD=123456
  ARGS=1
  if [ $# -ne "$ARGS" ];then
   echo "Please input one arguement:"
  fi
  case $1 in
      Uptime)
        result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK status 2> /dev/null | cut -f2 -d":" | cut -f1 -d"T"`
              echo $result
              ;;
        Com_update)
              result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status 2> /dev/null | grep -w "Com_update" | cut -d"|" -f3`
              echo $result
              ;;
        Slow_queries)
  
        result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK status 2> /dev/null |cut -f5 -d":"|cut -f1 -d"O"`
                  echo $result
                  ;;
      Com_select)
  
        result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status 2> /dev/null |grep -w "Com_select"|cut -d"|" -f3`
                  echo $result
                  ;;
      Com_rollback)
        result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status 2> /dev/null |grep -w "Com_rollback"|cut -d"|" -f3`
                  echo $result
                  ;;
      Questions)
        result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK status 2> /dev/null |cut -f4 -d":"|cut -f1 -d"S"`
                  echo $result
                  ;;
      Com_insert)
        result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status 2> /dev/null |grep -w "Com_insert"|cut -d"|" -f3`
                  echo $result
                  ;;
      Com_delete)
        result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status 2> /dev/null |grep -w "Com_delete"|cut -d"|" -f3`
                  echo $result
                  ;;
      Com_commit)
        result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status 2> /dev/null |grep -w "Com_commit" |cut -d"|" -f3`
                  echo $result
                 ;;
      Bytes_sent)
        result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status 2> /dev/null |grep -w "Bytes_sent"|cut -d"|" -f3`
                  echo $result
                  ;;
      Bytes_received)
        result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status 2> /dev/null |grep -w "Bytes_received"|cut -d"|" -f3`
                  echo $result
                  ;;
      Com_begin)
        result=`mysqladmin -uroot -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status 2> /dev/null |grep -w "Com_begin" |cut -d"|" -f3`
                  echo $result
  
                  ;;
        *)
     #echo"Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)"
        ;;
  esac
  ###################################################
http://s4.运维网.com/wyfs02/M00/7F/75/wKiom1cfJ4GST8z-AAHdaxi05eM147.png
  

  ##############################################################
  监控mysql主从复制
  vim zabbix_agentd.conf
  在尾部添加
  UserParameter=mysql.replication,/tmp/mysqlzc.sh $1 $2
  我自创建的item叫做mysqlzc
  
http://s3.运维网.com/wyfs02/M01/7F/75/wKiom1cfKBWjdlcLAAD-psshHrg313.png
  创建key的时候,key名称的要与在agent配置文件里面添加的一致
http://s3.运维网.com/wyfs02/M02/7F/75/wKiom1cfKBXTKamAAABAgZRV7Po029.png
  
  主从脚本只需要一条命令就可以了(注意路径以及权限)
  Vim /tmp/mysqlzc.sh
  #!/bin/bash
  mysql -uroot -p123456 -e 'show slave status\G' |grep -E "Slave_IO_Running|Slave_SQL_Running"|awk '{print $2}'|grep -c Yes
  





页: [1]
查看完整版本: zabbix监控mysql各项性能,主从复制