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