修改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
在數(shù)據(jù)庫中添加新賬號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]
host = localhost
user = mysqlcheck
password = mysqlchechk
socket = /var/run/mysqld/mysqld.sock
檢測文件,
vi /usr/local/zabbix/share/zabbix/alertscripts/chk_mysql.sh
!/bin/bash
MYSQL_CONN="mysqladmin"
if [ $# -ne "1" ];then
echo "arg error!"
fi
case {MYSQL_CONN} status|cut -f2 -d":"|cut -f1 -d"T"echo $result ;; Com_update) result=
result
;;
Slow_queries)
result=${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"
echo {MYSQL_CONN} extended-status |grep -w "Com_select"|cut -d"|" -f3echo $result ;; Com_rollback) result=
result
;;
Questions)
result=${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"
echo {MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3echo $result ;; Com_delete) result=
result
;;
Com_commit)
result=${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3
echo {MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3echo $result ;; Bytes_received) result=
result
;;
Com_begin)
result=${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頁面添加模板鏈接
以下幾個參數(shù)對Myisam 和Innodb 存儲引擎都計數(shù):
1. Com_select 執(zhí)行select 操作的次數(shù)霉囚,一次查詢只累加1敷待;
2. Com_insert 執(zhí)行insert 操作的次數(shù)溯祸,對于批量插入的insert 操作,只累加一次桃犬;
3. Com_update 執(zhí)行update 操作的次數(shù);
4. Com_delete 執(zhí)行delete 操作的次數(shù);
以下幾個參數(shù)是針對Innodb 存儲引擎計數(shù)的:
1. Innodb_rows_read select 查詢返回的行數(shù);
2. Innodb_rows_inserted 執(zhí)行Insert 操作插入的行數(shù)调榄;
3. Innodb_rows_updated 執(zhí)行update 操作更新的行數(shù);
4. Innodb_rows_deleted 執(zhí)行delete 操作刪除的行數(shù)律姨;
通過以上幾個參數(shù)振峻,可以很容易的了解當前數(shù)據(jù)庫的應用是以插入更新為主還是以查詢操作為主,以及各種類型的SQL 大致的執(zhí)行比例是多少择份。對于更新操作的計數(shù),是對執(zhí)行次數(shù)的計數(shù)烫堤,不論提交還是回滾都會累加荣赶。對于事務型的應用凤价,通過Com_commit 和Com_rollback 可以了解事務提交和回滾的情況,對于回滾操作非常頻繁的數(shù)據(jù)庫拔创,可能應用編寫存在問題利诺。
另外還有幾個參數(shù)可以了解數(shù)據(jù)庫的基本信息:
- Connections 試圖連接Mysql 服務器的次數(shù)
- Uptime 服務器工作時間
- Slow_queries 慢查詢的次數(shù)
參數(shù)介紹