天天看點

zabbix 監控mysql(執行個體)修改zabbix_agentd.conf設定mysql的連結在資料庫中添加新賬号mysqlcheck将mysql賬号密碼添加進my.cnf檢測檔案,!/bin/bash重新開機zabbix_agentd在zabbix頁面添加模闆連結

修改zabbix_agentd.conf

UnsafeUserParameters=1

UserParameter=mysql.version,mysql -V

UserParameter=mysql.status[*],/usr/local/zabbix/share/zabbix/alertscripts/chk_mysql.sh $1

UserParameter=mysql.ping,mysqladmin ping | grep -c alive

設定mysql的連結

ln -s /data/mysql/bin/mysql /usr/bin

ln -s /data/mysql/bin/mysqladmin /usr/bin

在資料庫中添加新賬号mysqlcheck

GRANT USAGE ON . TO 'mysqlcheck'@'localhost' IDENTIFIED BY 'mysqlcheck';

FLUSH PRIVILEGES;

将mysql賬号密碼添加進my.cnf

[mysql]

host = localhost

user = mysqlcheck

password = mysqlcheck

socket = /var/run/mysqld/mysqld.sock

[mysqladmin]

password = mysqlchechk

檢測檔案,

vi /usr/local/zabbix/share/zabbix/alertscripts/chk_mysql.sh

!/bin/bash

MYSQL_CONN="mysqladmin"

if [ $# -ne "1" ];then

echo "arg error!"

fi

case

zabbix 監控mysql(執行個體)修改zabbix_agentd.conf設定mysql的連結在資料庫中添加新賬号mysqlcheck将mysql賬号密碼添加進my.cnf檢測檔案,!/bin/bash重新開機zabbix_agentd在zabbix頁面添加模闆連結

{MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"

echo $result ;; Com_update) result=

zabbix 監控mysql(執行個體)修改zabbix_agentd.conf設定mysql的連結在資料庫中添加新賬号mysqlcheck将mysql賬号密碼添加進my.cnf檢測檔案,!/bin/bash重新開機zabbix_agentd在zabbix頁面添加模闆連結

result

;;

Slow_queries)

result=

${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"

echo

zabbix 監控mysql(執行個體)修改zabbix_agentd.conf設定mysql的連結在資料庫中添加新賬号mysqlcheck将mysql賬号密碼添加進my.cnf檢測檔案,!/bin/bash重新開機zabbix_agentd在zabbix頁面添加模闆連結

{MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3

echo $result ;; Com_rollback) result=

zabbix 監控mysql(執行個體)修改zabbix_agentd.conf設定mysql的連結在資料庫中添加新賬号mysqlcheck将mysql賬号密碼添加進my.cnf檢測檔案,!/bin/bash重新開機zabbix_agentd在zabbix頁面添加模闆連結

Questions)

${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"

zabbix 監控mysql(執行個體)修改zabbix_agentd.conf設定mysql的連結在資料庫中添加新賬号mysqlcheck将mysql賬号密碼添加進my.cnf檢測檔案,!/bin/bash重新開機zabbix_agentd在zabbix頁面添加模闆連結

{MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3

echo $result ;; Com_delete) result=

zabbix 監控mysql(執行個體)修改zabbix_agentd.conf設定mysql的連結在資料庫中添加新賬号mysqlcheck将mysql賬号密碼添加進my.cnf檢測檔案,!/bin/bash重新開機zabbix_agentd在zabbix頁面添加模闆連結

Com_commit)

${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3

zabbix 監控mysql(執行個體)修改zabbix_agentd.conf設定mysql的連結在資料庫中添加新賬号mysqlcheck将mysql賬号密碼添加進my.cnf檢測檔案,!/bin/bash重新開機zabbix_agentd在zabbix頁面添加模闆連結

{MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3

echo $result ;; Bytes_received) result=

zabbix 監控mysql(執行個體)修改zabbix_agentd.conf設定mysql的連結在資料庫中添加新賬号mysqlcheck将mysql賬号密碼添加進my.cnf檢測檔案,!/bin/bash重新開機zabbix_agentd在zabbix頁面添加模闆連結

Com_begin)

${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3

echo $result

*) 
    echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)" 
    ;; 
           

esac

chmod +x /usr/local/zabbix/share/zabbix/alertscripts/chk_mysql.sh

重新開機zabbix_agentd

在zabbix頁面添加模闆連結

以下幾個參數對Myisam 和Innodb 存儲引擎都計數:

1. Com_select 執行select 操作的次數,一次查詢隻累加1;

2. Com_insert 執行insert 操作的次數,對于批量插入的insert 操作,隻累加一次;

3. Com_update 執行update 操作的次數;

4. Com_delete 執行delete 操作的次數;

以下幾個參數是針對Innodb 存儲引擎計數的:

1. Innodb_rows_read select 查詢傳回的行數;

2. Innodb_rows_inserted 執行Insert 操作插入的行數;

3. Innodb_rows_updated 執行update 操作更新的行數;

4. Innodb_rows_deleted 執行delete 操作删除的行數;

通過以上幾個參數,可以很容易的了解目前資料庫的應用是以插入更新為主還是以查詢操作為主,以及各種類型的SQL 大緻的執行比例是多少。對于更新操作的計數,是對執行次數的計數,不論送出還是復原都會累加。對于事務型的應用,通過Com_commit 和Com_rollback 可以了解事務送出和復原的情況,對于復原操作非常頻繁的資料庫,可能應用編寫存在問題。

另外還有幾個參數可以了解資料庫的基本資訊:

  1. Connections 試圖連接配接Mysql 伺服器的次數
  2. Uptime 伺服器工作時間
  3. Slow_queries 慢查詢的次數

參數介紹

zabbix 監控mysql(執行個體)修改zabbix_agentd.conf設定mysql的連結在資料庫中添加新賬号mysqlcheck将mysql賬号密碼添加進my.cnf檢測檔案,!/bin/bash重新開機zabbix_agentd在zabbix頁面添加模闆連結

image.png