監(jiān)控與測量技術分為三類:第一類是對系統(tǒng)進行檢測,發(fā)現(xiàn)問題時進行報警;第二類是記錄測量數(shù)據,并以圖表方式顯示;第三類試圖將第一類和第二類結合起來,但最后總是兩者都做不好。我選擇使用兩個系統(tǒng),而不是一個試圖包攬所有事情但最后每一樣都不好的綜合系統(tǒng)。
在我看來,Nagios用于監(jiān)控就足夠好了,盡管學起來比較困難。基于RRD工具的系統(tǒng),如Cacti、 Munin、 Ganglia適用于保存歷史測量數(shù)據。我對Cacti有點偏愛,不僅因為我認為它是一個極好的工具,而且還因為我寫了一些Cacti的圖形模板。這些模板可以在htp:/codegoogle.com/p/mysgl-cacti-templates/處找到。雖然會有不同意見,我還是認為MySQ幾L模板對任何圖示系統(tǒng)來說都是最好的。盡管有困難,我還是認為,使用一個被廣泛使用的系統(tǒng)是明智的,這樣,在遇到問題時,可以找到能夠提供幫助的人。你可能會對任何技術都存在的局限性而感到氣惱,但我敢肯定,要解決這個問題,比看起來要難得多一一對系統(tǒng)管理員來說,重復發(fā)明輪子是打發(fā)時間的最好方法。
裝備(Instrumentation)是另一個話題。正如MYSQL難于網站建設優(yōu)化是因為很難獲得關于其工作的詳細診斷數(shù)據一樣,應用程序的性能也同樣是一塊難啃的骨頭。你需要這樣的信息:應用程序執(zhí)行的任務,這些任務執(zhí)行了多少次,花費了多長時間。有時候你不需要自己來獲取這些信息,New Relic為Rails:開發(fā)人員提供了一款極好的產品,而大多數(shù)程序設計語言也都有簡便易用的性能測量工具(profilers)a但即使是一些簡單的、針對特定的應用程序關鍵活動的裝備,也都是非常有價值的。
本文地址:http://www.islandpacificappraisals.com//article/3323.html