預防勝於治療。這句老生常談,在 IT 基礎設施方面得到證實確實如此。98% 的組織表示,僅一小時停機時間造成的損失就超過 10 萬美元(來源:
ITIC),因此,監控伺服器效能以防止停機變得比以往任何時候都更加重要。在本文中,我們將深入探討伺服器監控主題,並討論一些技術細節和最佳實務。
什麼是伺服器監控?
伺服器監控是指對伺服器狀態和效能進行輪詢和擷取數據的行為。伺服器監控的目的是測量重要的伺服器統計數據,以確認伺服器正在有效利用資源,並讓管理員詳細了解其基礎設施,以便他們能夠主動解決問題,並在設備發生故障時快速收到通知。
監控可以使用原生作業系統工具(例如:
Windows 效能監視器)、第三方工具和掃描器(例如:
Pingdom)、網路管理系統(又稱 NMSes)(例如:
SolarWinds 或
Nagios),或用於臨時命令的自訂腳本和命令列公用程式(例如:使用 WMI 的 PowerShell 腳本或使用 Net-SNMP 的 bash 腳本)來完成。
用於透過網路監控伺服器的一些最常見協定是 SNMP(簡單網路管理協定)、IPMI(智慧平台管理介面)和 WMI(Windows 管理規範)。除了這些協定,許多工具還能夠根據 SSH、FTP、ICMP、DNS、HTTP(S)、RESTful APIs、供應商特定代理程式或其他協定和服務進行監控。
代理程式型和無代理程式型監控是伺服器監控中兩個熱門術語。代理程式型是指必須在伺服器上執行代理程式才能進行監控。無代理程式型表示不需要代理程式,可以使用標準協定(如 SNMP)進行監控(儘管從技術上講,這可能是一個錯誤的稱呼,因為 SNMP 基於管理員到「代理程式」模型)。每種方法都有其優缺點,一般的權衡是,代理程式型方法可以提供更多細節或功能,而無代理程式型方法則更輕量級,更利於集中監控。有關該主題的更多詳細資訊,請查看 Nagios 對其
代理程式型和
無代理程式型監控選項的描述。
在配置伺服器監控時,一些最受歡迎的監控指標包括記憶體、磁碟使用率、網路、CPU 使用率、ping(ICMP 用於檢查伺服器是否在線)、資料庫統計、虛擬化統計、電源指標、風扇狀態、溫度和濕度。這些變數只是伺服器監控的冰山一角,因為可以監控許多其他變數,並且用例可能要求進行更具體的監控。例如,如果您有網路伺服器,定期檢查 HTTP 狀態是必須的(
Uptime Robot 是一個可以免費執行此操作的工具範例),而 MySQL 伺服器可能需要定期檢查錯誤日誌,檔案和列印伺服器可能更受益於監控特定程序和服務。此外,許多伺服器監控工具可以幫助您追蹤庫存並更全面地了解您的整體 IT 基礎設施。
這對您伺服器的效能有何正面影響?
圍繞伺服器監控的兩個宏觀指標是 MTTD(平均偵測時間)和 MTTR(平均解決時間)。伺服器監控如果做得好,可以縮短這兩個指標,從而最大限度地提高關鍵任務伺服器的正常運行時間(有關最大限度地提高正常運行時間的更多資訊,請查看我們的
您的伺服器當機了嗎?以下是一些幫助實現零停機時間的提示 文章),並提高您的 IT 營運效率。
儘管特定環境的需求會決定您的團隊監控哪些特定變數,但所有用例的共同點是:監控使您的團隊能夠主動,更好地了解資源利用率,並在問題出現時快速做出反應。
許多提到的監控工具都提供通知(簡訊、電子郵件等)和自動化功能(在達到閾值或設備關閉時執行腳本或程式),可用於更快速、更有效地響應和解決問題。這意味著下次網路伺服器停止響應 HTTP 請求時,負責的管理員可以立即收到通知,或者可以執行腳本來重新啟動 HTTP 服務(例如 Apache、nginx 或 IIS)。同樣,如果伺服器不斷超出預定義的 CPU 利用率閾值,您的團隊可以採取行動調查並解決問題,以免它成為影響應用程式效能和使用者體驗的問題。
此外,監控和擷取資料可讓您追蹤和報告,以便在問題出現之前發現趨勢。透過了解基礎設施的基本效能,您可以透過做出明智的決策來更有效地擴展,識別基礎設施中的弱點,並透過資料驅動的調整和最佳化來提高伺服器效能。
開始進行伺服器監控
若要開始進行伺服器監控,您應該問自己一些問題,以確切了解您應該監控什麼以及為什麼。在這裡,我們將幫助您定義這些問題並深入探討具體的行動項目。
哪些服務對您的業務很重要?
如果您正在監控網頁伺服器,您可能需要選擇一個監控 HTTP 請求、網路延遲、正常運行時間和其他網頁伺服器重要資訊的工具。資料庫伺服器將需要一個可以執行資料庫查詢的解決方案,以檢查登入失敗、錯誤和資料庫狀態。作為虛擬化管理程式的伺服器將需要高度細緻的資源監控,以確保虛擬機器和主機有效利用資源。
您的環境規模有多大,未來將如何擴展?
不需要大量 IT 基礎設施成長預期的中小型企業的需求與擁有自己的資料中心的財富 500 強企業的需求不同。在選擇監控工具之前,請了解您環境的規模,這將有助於您避免為不需要的服務支付過多費用,或錯過您需要的功能。
有哪些工具可以滿足您的需求?
小型伺服器網路可能只需使用原生作業系統工具和內建功能即可滿足所有需求。例如,網路效能監視器和一些用於電子郵件警報的自訂腳本可能足以應付小型 Windows 環境。
具有不同功能和應用程式的大型伺服器網路可能會受益於功能豐富的 NMS,該 NMS 支援上述所有用例及更多功能,並允許集中監控、警報和報告。
一旦您有了監控解決方案,該怎麼辦?
這個問題的答案將因所選工具和用例要求而大不相同,但一般來說,您需要透過發現伺服器、為對您的業務重要的指標定義閾值、新增在事件發生時通知的聯絡人,以及定義需要設定的任何腳本或其他自訂動作和功能來佈建工具。請注意,許多企業級監控解決方案支援「自動發現」功能,並會自動開始偵測和監控網路裝置。在佈建伺服器監控解決方案時,請記住以下幾個關鍵點:
-
盡可能自動化 - 您的團隊可能已經對常見問題的解決方案有深入的了解,盡可能自動化這些解決方案。例如,如果受監控的服務半定期鎖定,而解決方案只是重新啟動它,請配置一個動作來執行此操作。
-
通知正確的人 - 自動化很棒,但您的 IT 團隊之所以存在是有原因的,請確保在超出閾值和伺服器停機時通知他們。盡可能利用電子郵件和簡訊通知。
-
避免讓您的團隊對警報麻木 - IT 中最常被忽視的問題之一是警報過載。避免為不需要採取行動的瑣碎事件向您的團隊發送警報。這意味著根據效能基準設定閾值,而不是不符合您的用例的任意指標。例如,如果伺服器 CPU 在特定批次處理發生時每天飆升至 82%,而您的團隊在 80% 時收到警報,他們將很快學會忽略這些警報。
-
追蹤資料以設定效能基準 - 為了做出更好的長期決策,您需要了解您的 IT 投資目前正在做什麼。利用您收集的資料來繪製伺服器資源利用率、需要升級的區域以及可能在您的基礎設施中造成瓶頸的區域。
如何判斷它是否真的有效?
一旦您設定了閾值並配置了警報和動作,如何知道它們在關鍵時刻是否真的會起作用?儘管許多工具都提供「測試」或「模擬」功能來確認一切正常,但更可靠的測試配置方法是將閾值設定得足夠低,以觸發動作(發送電子郵件或執行腳本)。例如,如果您的 CPU 利用率電子郵件警報的正常閾值為 80%,但 CPU 通常在 5% 運行,請將閾值降至 1% 以觸發警報。如果您按預期收到通知,則業務邏輯正常運行,您可以將閾值改回。
任何伺服器監控計畫的核心都應該是設計時考慮到正常運行時間的穩健伺服器基礎設施。我們的
Durastreams 關鍵任務伺服器 系列旨在讓您的關鍵任務應用程式 24/7/365 全年無休地運行。請立即聯繫我們,了解 Premio 業界領先的伺服器和儲存設計以及知識淵博的解決方案專家能為您做些什麼。