1. 程式人生 > >linux上zabbix監控mysql

linux上zabbix監控mysql

一,準備工作

1:#建立mysqladmin命令
    ln -s / usr / local / mysql / bin / mysqladmin / usr / bin

2:建立監控使用者(所有資料庫上建立)
   #建立zabbix監控使用者(只有查詢許可權)
    授予選擇*。*至[email protected]'127.0.0.1'由'密碼'標識;
    將*。*選擇授予'密碼'標識的zabbix @'localhost';
   ##建立監控MySQL的使用者的
    授予複製客戶端* *到'ZABBIX' @ '本地主機'由'密碼'標識;


    。授予複製客戶端* *至'zabbix'@'127.0.0.1'由'密碼'識別; 沖洗特權;


3:建立監控
    指令碼:mkdir -p /etc/zabbix/zabbix_agentd.d/mysql/
    cat /etc/zabbix/zabbix_agentd.d/mysql/mysql.sh

指令碼內容如下(一般用於監控主資料庫):

#!/斌/慶典

#使用者名稱
MYSQL_USER ='zabbix'
#密碼
MYSQL_PWD ='密碼'
#主機地址/ IP
MYSQL_HOST ='127.0.0.1'
#埠
MYSQL_PORT ='3306'


#資料連線
MYSQL_CONN =“/ usr / bin / mysqladmin -u $ { MYSQL_USER} -p $ {MYSQL_PWD} -h $ {MYSQL_HOST} -P $ {MYSQL_PORT}“
#引數是否正確
如果[$# - ne”1“];然後
    回顯”arg error!“ 
fi
##### ####################################獲取資料###### ###### ########################################
Uptime執行的時間
#Com_update每秒的更新操作

#Slow_queries慢速查詢
#Com_select每秒的查詢操作
#Com_rollback每秒的回滾操作
#Questions每秒的的mysql_query函式查詢
#Com_insert每秒的寫入操作
#Com_delete每秒的刪除操作
#Com_commit每秒的提交操作
#Bytes_sent每秒傳送的位元組
#Bytes_received每秒接受的位元組
#Com_begin每秒的所有操作

case         uptime中的$ 1
    )
result =`$ {MYSQL_CONN} status 2> / dev / null | cut -f2 -d“:”| cut -f1 -d“T”`
        echo $ result
        ;;
    Com_update)
        result =`$ {MYSQL_CONN} extended-status 2> / dev / null | grep -w“Com_update”| cut -d“|” -f3`
        echo $ result 
        ;;
    Slow_queries)
        result =`$ {MYSQL_CONN} status 2> / dev / null | cut -f5 -d“:”| cut -f1 -d“O”`
        echo $ result 
        ;;
    Com_select)
        result =`$ {MYSQL_CONN} extended-status 2> / dev / null | grep -w“Com_select”| cut -d“|” -f3`
        echo $ result 
                ;;
Com_rollback)
        result =`$ {MYSQL_CONN} extended-status 2> / dev / null | grep -w“Com_rollback”| cut -d“|” -f3`
                echo $ result 
                ;;
    問題)
        result =`$ {MYSQL_CONN} status 2> / dev / null | cut -f4 -d“:”| cut -f1 -d“S”`
                echo $ result 
                ;;
    Com_insert)
        result =`$ {MYSQL_CONN} extended-status 2> / dev / null | grep -w“Com_insert”| cut -d“|” -f3`
                echo $ result 
                ;;
    Com_delete)
        result =`$ {MYSQL_CONN} extended-status 2> / dev / null | grep -w“Com_delete”| cut -d“|” -f3`
                echo $ result 
                ;;

        result =`$ {MYSQL_CONN} extended-status 2> / dev / null | grep -w“Com_commit”| cut -d“|” -f3`
                echo $ result 
                ;;
    Bytes_sent)
        result =`$ {MYSQL_CONN} extended-status 2> / dev / null | grep -w“Bytes_sent”| cut -d“|” -f3`
                echo $ result 
                ;;
    Bytes_received)
        result =`$ {MYSQL_CONN} extended-status 2> / dev / null | grep -w“Bytes_received”| cut -d“|” -f3`
                echo $ result 
                ;;
    Com_begin)
        result =`$ {MYSQL_CONN} extended-status 2> / dev / null | grep -w“Com_begin”| cut -d“|”
 

        *)
        echo“用法:$ 0(正常執行時間| Com_update | Slow_queries | Com_select | Com_rollback | 問題| Com_insert | Com_delete | Com_commit | Bytes_sent | Bytes_received | Com_begin)“ 
        ;;
ESAC

二,自定義監控項:
    vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
    #mysql效能監控:
        UserParameter = mysql.status [*],/ etc / zabbix / zabbix_agentd.d / mysql / mysql.sh $ 1

三,重啟ZABBIX代理
    再在|網頁端的建立³³模板