監控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