Zabbix 預設模板無法直接監控 MySQL 內部狀態,需自行撰寫擷取腳本並定義 UserParameter。本文提供基於 Shell 的 mysql_status 腳本、Agent 端設定、Server 端模板套用的完整步驟,實現 MySQL 關鍵指標(連線數、查詢效能、主從同步等)全方位監控。
USAGE 權限mysql_status 腳本,回傳 SHOW STATUS 指標UserParameter 映射 KeyGRANT USAGE ON *.* TO 'zabbix'@'10.10.10.10' IDENTIFIED BY 'zabbix_pass';
FLUSH PRIVILEGES;
10.10.10.10 為 Zabbix Agent 所在主機 IP。
# 建立目錄與腳本
mkdir -p /usr/local/zabbix/bin
cat > /usr/local/zabbix/bin/mysql_status <<'EOF'
#!/bin/bash
# Zabbix MySQL 狀態擷取腳本
mysql_bin="/usr/local/mysql/bin/mysql"
var="$1"
MYSQL_USER="${2:-zabbix}"
MYSQL_PASS="${3:-zabbix_pass}"
MYSQL_HOST="${4:-10.10.10.10}"
if [ -z "$var" ]; then
echo ""
exit 0
fi
$mysql_bin -h"$MYSQL_HOST" -u"$MYSQL_USER" -p"$MYSQL_PASS" -e 'SHOW STATUS' \
| grep -v Variable_name | grep "\b${var}\b" | awk '{print $2}'
EOF
chmod +x /usr/local/zabbix/bin/mysql_status
編輯 /etc/zabbix/zabbix_agentd.conf 確認:
Server=127.0.0.1,10.10.10.9
ServerActive=127.0.0.1,10.10.10.9
Hostname=mysql-server-01
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
UnsafeUserParameters=1
建立 /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql_status.conf:
# 通用狀態 Key:mysql.status[Threads_connected] 等
UserParameter=mysql.status[*],/usr/local/zabbix/bin/mysql_status $1
# 專用健康檢查 Key
UserParameter=mysql.ping,/usr/local/mysql/bin/mysqladmin ping -h"10.10.10.10" -uzabbix -pzabbix_pass | grep -c alive
UserParameter=mysql.version,/usr/local/mysql/bin/mysql -h"10.10.10.10" -uzabbix -pzabbix_pass -e "SELECT VERSION();" | tail -1
重啟 Agent:systemctl restart zabbix-agent
Template DB MySQL(內建或社群匯入){$MYSQL.HOST}、{$MYSQL.USER}、{$MYSQL.PASS} 覆寫預設值| Key | 對應指標 | 用途 |
|---|---|---|
| mysql.status[Threads_connected] | 目前連線數 | 連線池用量、防連線耗盡 |
| mysql.status[Questions] | 查詢總數 | QPS 計算基準 |
| mysql.status[Slow_queries] | 慢查詢計數 | 效能調優預警 |
| mysql.status[Slave_IO_Running] | 主從 IO 執行緒狀態 | 主從同步監控 |
| mysql.ping | 服務存活 | 可用性監控 |
Linux 命令列下載 GOG 遊戲:LGOGDownloader 安裝與使用指南
CentOS 系統下在 Chrome 瀏覽器中啟用 Java 外掛程式的完整教學
Linux Firefox 安裝 Flash Player 替代方案:Fresh Player Plugin 完整設定
Linux 加密備份工具深度評測:Attic、Borg、Obnam、Restic、Duplicacy、Duplicati 六大去重加密備份方案對比
CentOS 6.5 安裝無線網卡驅動 (Realtek RTL8188CE) 完整編譯教學
Linux less 指令進階完全指南:雙向捲動、搜尋、標記、多檔案、LESSOPEN 語法高亮