程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 甩掉盯著屏幕監控MySQL的時代

甩掉盯著屏幕監控MySQL的時代

編輯:關於PHP編程

本文主要研究如何利用 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 服務器的運行情況

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved