知乎專欄 | 多維度架構 | 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者” |
監控都有哪些手段跟方式呢?
中心衛星站為中心站點向外放射,通常是通過IP地址訪問遠程主機,實施監控,常用方法是SNMP,SSH,以及各種Agent(代理),方式是請求然後接收返回結果,通過結果判斷主機狀態。
Monitor Server | ------------------------------- | | | [Web] [Mail] [Database]
以監控伺服器為中心,星型散射連接其他監控節點,沒有什麼優點,缺點是Web跟Mail節點的通信沒有監控
一級一級的向下探測,尋找故障點,需要在各個節點埋探針。
Monitor Server | ------------------------------- | | | V V V | | | [Web] ---> [Cache] ---> [Database] \ ^ `------------------------|
首先監控伺服器跟星型拓撲一樣監控,再讓Web節點去訪問Cache節點然後返回監控結果,以此類推,讓Cache節點訪問Database, 讓Web訪問Database節點。
將所有業務邏輯都逐一模擬一次,任何一個環節出現問題,立即發出警告。
這裡主要監控服務是否可用,可以檢查軟件的工作情況,涉及測試環節。
通過自動化測試工具輔助監控,例如模擬滑鼠點擊,鍵盤輸入,可以監控圖形界面程序與網頁程序。
Windows 監控可以通過 Windows Automation API實現,通過程序控制,能夠模擬人工操作軟件,實現操作匹配返回結果實現自動化監控
Web頁面監控的方案就太多了,比較經典的是Webdriver衍生出的各種工具Selenium - Web Browser Automation最為出名。我通過這個工具模擬用戶操作,例如用戶註冊,登陸,發帖,下單等等,然後匹配返回結果實現自動化監控與報警
通過數據分析,將故障消滅在故障發生前。舉一個例子,開發人員忘記設置redis 時間,雖然程序一直完好工作,但redis內存不斷增長,總一天會出現故障。
我們通過採集redis狀態信息,分析一段時間內數據變化發現了這個問題。