首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL Server 監控告警腳本:基於 Load 與 Session 的 HTML 郵件通知

     編輯:MySQL 綜合教學

MySQL Server 監控告警腳本:基於 Load 與 Session 的 HTML 郵件通知

實現邏輯

定期檢測系統 Load 平均值與 MySQL 當前 Session 數,超過閾值時發送 HTML 郵件,內含:

  • 當前系統狀態 (CPU、記憶體、磁碟)
  • 慢查詢 SQL 列表
  • 鎖等待資訊
  • 可選附件 (完整診斷報告)

腳本參數說明

./dbmysqlalarm \
--dhost=127.0.0.1 --duser=root --dpasswd=passwd --dport=3306 --dname=mysql \
--mhost=localhost --muser=dba --mpasswd=pass --msubject='Real-time Snapshot' \
--mconfig=/tmp/dist/list --mkey=dba --mfield=email --mail=dba@skate.com \
--attach=/tmp/dist/list --dload=5 --dsession=500
參數說明
--dhost/duser/dpasswd/dport/dname被監控 MySQL 連線資訊
--mhost/muser/mpasswd發信 SMTP 伺服器與帳號
--msubject郵件主旨
--mconfig收件人配置檔路徑 (INI 格式,含 email/phone 群組)
--mkey/--mfield配置檔中群組鍵與欄位名
--attach附件路徑
--dload觸發告警的系統 Load 閾值
--dsession觸發告警的 Session 數閾值

配置檔範例 (/tmp/dist/list)

[command]
mysqlmon=/tmp/dist/mysqlmon

[phone]
dba:135xxxxxxxx;135xxxxxxxx

[email]
dba:dba1@skate.com;dba2@skate.com
skate:skate@skate.com

部署步驟

  1. 下載解壓:tar -zxvf dbalarm.tar.gz
  2. 修改配置檔中 mysqlmon 絕對路徑。
  3. 加入 crontab 定時執行 (建議 5~15 分鐘)。

支援版本

依賴 mysqlmon 工具,經測試 CentOS 6 下支援 MySQL 5.5.29+ (因編譯時連結 5.6 客戶端庫)。

告警郵件範例截圖

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved