環境:php
zabbix3.4.4 mysql
mariadb 5.5.56web
要求: 利用zabbix 自帶的模板 監控mariadb 上的 併發鏈接數,慢查詢數量,增刪改查、請求流量帶寬,mysql響應流量帶寬等sql
grant all on *.* to zabbix@'localhost' identified by 'zabbix';
用於獲取mariadb 上的性能指標數據, 腳本以下數據庫
vim /usr/local/bin/chk_mysql.sh
#!/bin/bash #!/bin/bash #----------------------------------------------------------------------------------- #FileName: check_mysql.sh #Revision: 1.0 #Date: 2019/08/23 #Author: fxkj #Email: root@fxkjnj.com #website: www.fxkjnj.com #Description: #License: GPL #--------------------------------------------------------------------------------- # 用戶名 Mysql_user='zabbix' # 密碼 Mysql_password='zabbix' # 主機地址/IP Mysql_host='127.0.0.1' # 端口 Mysql_port='3306' #數據庫鏈接 Mysql_comm="/usr/bin/mysqladmin -u$Mysql_user -p$Mysql_password -h$Mysql_host -P$Mysql_port" #參數是否正確 if [ $# -ne "1" ];then echo "arg error!" fi #獲取數據 case $1 in Com_begin) $Mysql_comm extended-status | grep -w "Com_begin" | awk -F"|" '{print $3}';; Bytes_received) $Mysql_comm extended-status | grep -w "Bytes_received" | awk -F"|" '{print $3}';; Bytes_sent) $Mysql_comm extended-status | grep -w "Bytes_sent" | awk -F"|" '{print $3}';; Com_commit) $Mysql_comm extended-status | grep -w "Com_commit" | awk -F"|" '{print $3}';; Com_delete) $Mysql_comm extended-status | grep -w "Com_delete" | awk -F"|" '{print $3}';; Com_insert) $Mysql_comm extended-status | grep -w "Com_insert" | awk -F"|" '{print $3}';; Questions) $Mysql_comm extended-status | grep -w "Questions" | awk -F"|" '{print $3}';; Com_rollback) $Mysql_comm extended-status | grep -w "Com_rollback" | awk -F"|" '{print $3}';; Slow_queries) $Mysql_comm extended-status | grep -w "Slow_queries" | awk -F"|" '{print $3}';; Com_select) $Mysql_comm extended-status | grep -w "Com_select" | awk -F"|" '{print $3}';; Com_update) $Mysql_comm extended-status | grep -w "Com_update" | awk -F"|" '{print $3}';; Uptime) $Mysql_comm extended-status | grep -w "Uptime" | awk -F"|" '{print $3}';; esac
chmod +x /usr/local/bin/chk_mysql.sh #添加可執行權限
備註: 建立自定義key ,須要修改被監控端agent 的配置文件 vim
vim /usr/local/zabbix_agentd.conf
把 UnsafeUserParameters=0 修改成 UnsafeUserParameters=1 (是否容許自定義KEY)bash
把 #Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf 修改成 Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf (加載配置文件路徑)併發
vim /usr/local/etc/zabbix_agentd.conf.d/mysql_status.conf
#獲取mairadb性能指標,對應上面的check_mysql.sh腳本
UserParameter=mysql.status[*],/usr/local/bin/chk_mysql.sh $1
#獲取mariadb版本
UserParameter=mysql.version,mysql -V
#獲取mariadb運行狀態 UserParameter=mysql.ping,mysqladmin -uzabbix -pzabbix -P3306 -h127.0.0.1 ping | grep -c alive
備註:請注意修改你的數據庫信息,以及zabbix路徑信息ide
killall zabbix_agentd zabbix_agentd
[root@mysql ~]# zabbix_get -s 127.0.0.1 -k mysql.status[Bytes_received] (任選一個 Template APP Mysql 中key 值測試 )
209
模板是zabbix系統提供的,進入zabbix web後臺,configuration-->hosts-->點擊你的主機name-->選擇template選項卡,選擇模板「Template App MySQL」,最後點擊update便可性能
若是配置沒有異常,那麼能夠在graph中查看到2張監控圖,分別爲請求流量帶寬、響應流量帶寬、ops,點擊monitoring-->graphs-->選擇你的主機
分別選擇Graph「MySQL bandwidth」、「MySQL operations」,監控圖分別以下(圖片雙擊放大查看)