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