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代理
再在|網頁端的建立³³模板