當工程師接受新服務器后,僅完成安裝系統、應用程序并上架后便拍拍屁股離開,遠不能發揮服務器性能。服務器需要通過周期性的監控來確保硬件投資得到了預期回報--并對潛在問題提出告警,比如資源不足或硬件故障。性能監控工具可以提供大量的可用信息,但需要確保工具被正確安裝與運行。本文介紹了些可以幫助管理員們從系統性能監控中獲得最大利益的技巧。
實現精確的性能監控
如果采集的信息存在錯誤,監控便毫無用處,所以確保數據的準確性是你得采取的第一步。準確性包括許多方面,如互通性、采樣窗口、工具架構、虛擬化感知與校準。
互通性:在此討論中,互通性是性能監控工具的基本功能,能夠從數據中心內各種硬件與部件中訪問與讀取數據源。在部署了同一廠商產品線設備的同質環境內,利用集成在硬件中的內置掛鉤,監控工具可以發揮極大優勢。通過這些掛鉤,工具可以抓取設備的詳細運行信息。
在異質環境下,監控則成為了另外一種挑戰,因為工具與硬件可能無法很好匹配。產商提供的工具可能可以提供一些硬件部件的特殊信息,而其他工具可能無法保障一致性。第三方性能監控工具可能無法檢測每個監控器或硬件的細微差別,它們更依賴于操作系統級的數據,而這些數據通常缺乏足夠的顆粒度。在某些情況下,監控數據可能丟失或失真,從而降低系統性能監控的可用性。
工具與硬件之前的數據差異需要全面測試。例如,在購買工具之前,先測試并驗證兼容性,在經過較長時間的可用性驗證項目后,再開始將工具由測試環境部署至生產環境中。但問題同樣從開始購買延伸至未來產品升級或技術刷新周期。當你更換硬件或升級工具,你需要測試監控工具的互通性來確保性能監控工具依舊可以正常工作并提供準確數據。
采樣:準確性同樣依賴于收集數據用的采樣窗口。當負載與運行參數可能一直處于波動狀態時,數據準確性將十分重要。理想情況下,性能監控工具可以捕捉整臺服務器的“運行周期”。技巧在于決定“運行周期”是怎樣的。這依賴于每個負載與宿主主機是如何被使用的。例如,每臺服務器的內存性能可能需要極快的采樣率,而采樣窗口需要跨越好幾分鐘。與此相反,觀察某個合作HR系統的CPU使用情況可能需要已較低的頻率捕捉數值,但采樣窗口周期需要長達30天甚至更長。如何正確采樣并沒有標準答案,不同屬性的操作系統同樣需要通過不同的比率與窗口靈活定義。
“如果你正在測試一臺服務器環境在使用高峰期將如何運行,管理員需要設置如下幾個觀察周期,包括一般運行情況,使用高峰期,以及最終回歸至普通運行情況,”Bill Kleyman,MTM Technologies Inc.的虛擬架構師說。“設置觀察周期太快將可能捕捉到無用數據,而設置周期太短則會遺漏使用峰值是的重要服務器狀態信息。”
工具架構:性能監控工具通常需要在受監控系統上安裝代理或額外驅動(即使是虛擬機)。代理具有優勢也有不足。首先,它們十分有用,因為代理可以收集并傳輸許多重要信息,比“無代理”的監控工具提供更多監控參數。盡管如此,代理通常被作為軟件“客戶端”,將所有數據報告給中央服務器,中央服務器將收集與處理這些數據。所以每個代理都需要占用一定的計算資源,這可能在一定程度上影響整臺服務器的負載性能。
“我所在環境下所有計算機擁有兩個代理,” Chris Steffen,Kroll Factual Data的首席技術架構師說。“一個應用程序代理監控我們所有應用程序的健康狀況,而且我們還有System Center [Virtual Machine Manager]代理安裝在所有虛擬機宿主上。”
這些年來,關于代理的負面影響一直在降低,但它們所產生的影響一直在被評估,尤其在執行關鍵任務或對性能要求十分苛刻的負載上。不僅如此,Steffen同樣表示,新興的監控工具可以提供更多功能,包括自動化安裝,重裝或維護運行環境中的代理。
虛擬化感知:虛擬化軟件把應用負載從硬件中抽象化。當傳統性能監控工具試圖在虛擬化環境中報告,抽象層常常發生錯誤結果,因為老工具是同直接監控硬件,而不是通過控制計算資源的hypervisor。考慮到虛擬化技術的人氣和重要性,管理員應該選擇能監控虛擬化的監控工具。這樣能讓性能監控同時管到物理目標和虛擬目標,管理員可以才可以收集到精確的數據。
“管理員們有時候還需要采集虛擬機與承載虛擬機的宿主服務器指標,”Kleyman說。“這種情況下,需要在虛擬化與物理層級別進行性能監控以確保最佳負載性能并保障用戶體驗。”
傳感器校準:需要忽視傳感器本身的重要性。來自網絡交換機或服務器的數字信信號常都是十分準確的。但是某些傳感器,例如溫度,濕度,空氣流或其他環境類型的傳感器通常是通過模擬信號傳輸,可能需要經常校對并定期更換電池來保證其長期穩定的工作。
最大化性能監控工具價值
如果沒有正確使用,工具是無法產生價值的。在許許多多的案例中,性能監控工具已經被部署,但是沒有清晰的規劃來使用與分析所收集到的海量數據。工具則變成了管理員們用來抽查或不定期故障處理的簡單工具;這是一種投資浪費。
專家們建議,想要提升性能監控工具的價值,首先需要理解業務影響--為何需要監控以及獲得的數據將如何使用--在實際部署工具之前就應該充分考慮清楚。同樣,充分利用工具的分析功能可以幫助對收集的數據進行評估與報告。配置工具的報表功能可能需要根據自己實際環境而花費一些時間,但卻是能對數據分析產生很大作用。
性能監控工具報告同樣可以作為能力規劃的基礎參考,或協助完成技術刷新項目。“性能指標可以幫助展示RIO[投資回報率],”Kleyman說。“通過了解舊系統性能,并比對新款服務器性能,我們可以決定是否將錢投資在新設備上已提升計算性能并獲得更長遠的利益。”
但Steffen同樣建議用戶多留個心眼,秉著“信任,但要核查”的態度來對待性能監控工具,有可能某些服務器監控工具已經被驗證,與其他工具相比可以獲得十分準確的數值,但如果用來監控網絡設備則可能出現一些異常。好的業務決策需要有優質的數據進行支撐,而且若工具無法提供準確、可驗證的結果,那樣將很難給業務決策提供有力支持。