【IT168 技術文檔】本文主要研究如何利用 Linux Shell 腳本和飛信 API 來實現 MySQL 數據庫的自動監控和短信報警,使 DBA 從繁重和重復的監控工作中解脫出來,一邊享受馬爾代夫的陽光、沙灘,一邊實時監控北京的 MySQL數據庫。
隨著互聯網及信息化的迅猛發展,企業運營所產生的數據量越來越大,所以大多數公司選擇將重要商業數據存儲在數據庫中。如果數據庫系統突然停機或發生其它故障,必然會影響公司的收入,聲譽甚至導致用戶投訴,如何保證數據庫系統的正常運轉,一直是公司關心的核心問題。這就要求 DBA 對數據庫運行的各種狀態進行實時監控,在發生故障之前解決它,將隱患消滅在搖籃中。本文給出使用 “MySQL Monitor” Shell 腳本來實現 MySQL 的實時監控,討論了如何實現 MySQL的短信報警功能模塊,同時結合一個真實應用場景來演示 “MySQL Monitor” 是如何工作的。
背景
南風公司遇到的問題
南風公司是一家互聯網公司,該公司在北京網通1區機房有 10 台服務器,2 區機房有 10 台服務器,在上海電信 1 區機房也有 10 台服務器......,鑒於公司數據的重要性,DBA 必須實施一系列的監控措施來保證數據庫良性運轉,設置了包括操作系統磁盤空間檢查、數據庫表空間檢查、數據庫表狀態檢查、雙機互備情況檢查等 20 個檢查點,DBA 有哪些選擇去實施如此寵大的監控方案呢?下面是傳統的解決方案:
這是一種低效的串行工作方式,DBA 必須每天從早上 10:00 開始逐台檢查數據庫服務器的 20個檢查點,非常耗時,這種傳統的方案會讓 DBA 每天重復做機械化的工作,當有幾百台被監控服務器時,這個傳統的方案對 DBA 的來說就是噩夢,那麼如何才能更有效的監控數據庫成為 DBA 迫切需要解決的問題?
南風公司的解決方案
智慧的 MySQL,需要用智慧的方式去駕馭。南風公司的 DBA 開發了一套 “MySQL Monitor” 解決方案,這套方案充分利用了 “Shell 腳本” + “Linux Cron定時器服務” + “中國移動飛信免費發短信 API 接口” 的優勢,只有在數據庫檢查點出現問題時才會向 DBA 發送短信進行報警,實現了真正意義上無人值守的大量數據庫服務器監控框架,下面是全新的解決方案:
這是一種高效的並行工作方式,為了便於管理,我們先將數據庫服務器進行了分組,每組服務器對應一個監控線程,並且這些監控線程部署在“監控工作站”上,大家 一定注意到“時間軸”消失了,這是因為這些監控線程是每 1 分鐘運行一次,“時間軸”已經沒有什麼意義了。如果有一切正常,這些監控線程只會寫日志,不會有其它的操作;如果當某台數據庫服務器有異常情況發生,那麼 “監控工作站”會給 DBA 終端發送短信提醒,這樣 DBA 就可以在第一時間發現問題解決問題,即使 DBA 身邊沒有電腦終端也一樣可以及時的了解 MySQL 服務器的運行情況。
上一頁1234下一頁查看全文 內容導航