最近在處理zabbix 監控mysql的時候碰到一些問題,現作記錄;
默認的腳本里面沒有用戶名密碼信息,若是設置了root不容許使用空密碼本地登陸時會出錯,就接受不到數據;
具體能夠在zabbix server或proxy用agent_get測試一下mysql
zabbix_get -s mysql_server -k mysql.ping
若是返回0,可是mysql服務是正常啓動的則是有問題的
獲取不到數據還有多是在mysql5.6版本後,直接用命令行中攜帶密碼是會有警告web
解決辦法是在原命令後面加入sql
2>/dev/null
下面提供sh腳本和configshell
check_mysql.shbash
#!/bin/bash # ------------------------------------------------------------------------------- # FileName: check_mysql.sh # Revision: 1.0 # Date: 2019-3-21 # Author: xsj # Email: soft_xiang@qq.com # Description: # Notes: ~ # ------------------------------------------------------------------------------- # Copyright: 2019 (c) xsj # License: GPL # 用戶名 MYSQL_USER='root' # 密碼 MYSQL_PWD='xxx' # 主機地址/IP MYSQL_HOST='127.0.0.1' # 端口 MYSQL_PORT='3306' MYSQL_PATH='/usr/local/gwall/mysql/bin/mysql' MYSQLADMIN_PATH='/usr/local/gwall/mysql/bin/mysqladmin' # 數據鏈接 MYSQL_CONN="${MYSQL_PATH} -u${MYSQL_USER} -h${MYSQL_HOST} -P${MYSQL_PORT}" MYSQLADMIN_CONN="${MYSQLADMIN_PATH} -u${MYSQL_USER} -h${MYSQL_HOST} -P${MYSQL_PORT}" # 參數是否正確 if [ $# -ne "1" ];then echo "arg error!" fi # variables 對應的key相似 mysql.status[Var_max_connections] # status 對應的key相似 mysql.status[Uptime] case $1 in Var_*) $MYSQL_CONN -e "show global variables" 2>/dev/null | awk '$1 ~ /'"${1#*Var_}"'$/ {print $2}' ;; Version) $MYSQLADMIN_PATH -V | awk -F '[ ,]' '{print $6}' ;; Ping) $MYSQLADMIN_CONN ping 2>/dev/null | wc -l ;; Status_*) $MYSQL_CONN -e "show global status" 2>/dev/null | awk '$1 ~ /'"${1#*Status_}"'$/ {print $2}' ;; *) echo "Usage:$0(Status_Uptime|Var_max_connections);其中 Status_ 後支持全部GLOBAL STATUS中的key;Var_ 後支持全部GLOBAL variables中的key。" ;; esac
status_mysql.conf性能
# 獲取mysql版本 UserParameter=mysql.version,/etc/zabbix/shell/check_mysql.sh Version # 獲取mysql GLOBAL STATUS中性能指標,這個是上面定義好的腳本 UserParameter=mysql.status[*],/etc/zabbix/shell/check_mysql.sh 'Status_'$1 # 獲取mysql GLOBAL variables中的參數 UserParameter=mysql.var[*],/etc/zabbix/shell/check_mysql.sh 'Var_'$1 # 獲取mysql運行狀態 UserParameter=mysql.ping,/etc/zabbix/shell/check_mysql.sh Ping
zabbix web管理端設置參數測試
注意事項:
配置的mysql用戶名權限是否容許
zabbix_agent.conf是否已配置腳本目錄spa