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