监控mysql吞吐量、基本操作、qps、tps、库的大小、表的大小


mysql_Bytes_sent

Byte_sent)
        mysqladmin extended-status|grep Byte|sed -n '2p'|awk '{print $4}'
        ;;

zabbix_get 验证:

[root@bogon ~]# zabbix_get -s 192.168.253.231 -k mysql_status[Byte_sent]
39216001

mysql_Bytes_received

Byte_received)
          mysqladmin extended-status|grep Bytes_re|awk '{print $4}'
        ;;

zabbix_get 验证:

[root@bogon ~]# zabbix_get -s 192.168.253.231 -k mysql_status[Byte_received]
22551897

查的监控:

Com_select)
         mysqladmin extended-status|grep Com_select|awk '{print $4}'
        ;;

zabbix_get 验证:

[root@bogon ~]# zabbix_get -s 192.168.253.231 -k mysql_status[Com_select]
19115

删的监控:

Com_telete)
         mysqladmin extended-status|grep Com_delete|sed -n '1p'|awk '{print $4}'
        ;;

zabbix_get 验证:

[root@bogon ~]# zabbix_get -s 192.168.253.231 -k mysql_status[Com_telete]
444

增的监控:

Com_insert)
         mysqladmin extended-status|grep Com_insert|sed -n '1p'|awk '{print $4}'
        ;;

zabbix_get 验证:

[root@bogon ~]# zabbix_get -s 192.168.253.231 -k mysql_status[Com_insert]
57775

改的监控:

 Com_update)#改
         mysqladmin extended-status|grep Com_update|sed -n '1p'|awk '{print $4}'
        ;

zabbix_get 验证:

[root@bogon ~]# zabbix_get -s 192.168.253.231 -k mysql_status[Com_update]
688

 

mysql_qps 请求数量的监控:

yum -y install bc     #安装计算机

uptime=`mysqladmin status|awk '{print $2}'`
qps)#每秒请求次数的数量 qu=`mysqladmin status|awk '{print $6}'` qps=`echo "scal=2;$qu/$uptime"|bc` echo "$qps"
;;

zabbix-get验证:

[root@bogon ~]# zabbix_get -s 192.168.253.231 -k mysql_status[qps]
3

mysql_tsp 处理事务的数量:

tps)#每秒处理事务的数量
        commit=`mysqladmin extended-status|grep -w Com_commit|awk '{print $4}'`
        rollback=`mysqladmin extended-status|grep -w Com_rollback|sed -n '1p'|awk '{print $4}'`
        tps_tmp1=$((${commit}+${rollback}))
        tps=$(echo "scale=2;${tps_tmp1}/$uptime"|bc)
        echo "$tps"
        ;;

zabbix-get验证:

[root@bogon ~]# zabbix_get -s 192.168.253.231 -k mysql_status[tps]
0

mysql_database_size

     database_size)
         mysql -e "use information_schema;select  DATA_LENGTH from tables where  TABLE_SCHEMA ='mysql';"|sed -n '9p' 
       ;;

zabbix-get验证:

[root@bogon ~]# zabbix_get -s 192.168.253.231 -k mysql_status[database_size]
9252

mysql_tabbles_size

tables_size)  
        mysql -e "use information_schema; select round(DATA_LENGTH/1024/1024,2) from tables where TABLE_SCHEMA='mysql' and TABLE_NAME='user';"|sed -n '2p'
       ;;

zabbix-get验证:

[root@bogon ~]# zabbix_get -s 192.168.253.231 -k mysql_status[tables_size]
0.00

  

整个mysql脚本:

#!/bin/bash
uptime=`mysqladmin status|awk '{print $2}'`
#echo "$uptime"
case $1 in
     mysql_slave)#主从状态
        mysql -uqq -p123 -e "show slave status\G;"|grep Running | grep Running | awk -F ':' '{print $2}' | wc -l
        ;;
     Byte_sent) #发送量
        mysqladmin extended-status|grep Byte|sed -n '2p'|awk '{print $4}'
        ;;
     Byte_received)#接收量
          mysqladmin extended-status|grep Bytes_re|awk '{print $4}'
        ;;
     Com_select)#查
         mysqladmin extended-status|grep Com_select|awk '{print $4}'
        ;;
     Com_telete)#删
         mysqladmin extended-status|grep Com_delete|sed -n '1p'|awk '{print $4}'
        ;;
     Com_insert)#增
         mysqladmin extended-status|grep Com_insert|sed -n '1p'|awk '{print $4}'
        ;;
     Com_update)#改
         mysqladmin extended-status|grep Com_update|sed -n '1p'|awk '{print $4}'
        ;;
     qps)#每秒请求次数的数量
         qu=`mysqladmin status|awk '{print $6}'`
         qps=`echo "scal=2;$qu/$uptime"|bc`
         echo "$qps"
        ;;
     tps)#每秒处理事务的数量
        commit=`mysqladmin extended-status|grep -w Com_commit|awk '{print $4}'`
        rollback=`mysqladmin extended-status|grep -w Com_rollback|sed -n '1p'|awk '{print $4}'`
        tps_tmp1=$((${commit}+${rollback}))
        tps=$(echo "scale=2;${tps_tmp1}/$uptime"|bc)
        echo "$tps"
        ;;
     database_size)#库的大小
        mysql -e "use information_schema;select  round(DATA_LENGTH/1024/1024,2) from tables where  TABLE_SCHEMA ='mysql';"|sed -n '9p'
         ;;
     tables_size)#表的大小
        mysql -e "use information_schema; select round(DATA_LENGTH/1024/1024,2) from tables where TABLE_SCHEMA='mysql' and TABLE_NAME='user';"|sed -n '2p'
       ;;
esac

  

 

 

 

欢迎进群讨论:QQ群294668383(有意向可以添加)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM