測量數據采集系統專(zhuān)注于數據采集的好處,是有能力發(fā)現那些相關(guān)點(diǎn)(Integrationpoints),對這些點(diǎn)的異常值進(jìn)行報警。Flickr使用Ganglial作為測量數據采集系統,Nagios作為監控及報警系統。在某些情況下,將兩者緊密結合起來(lái),以建立復雜的報警條件。使Nagios.感知 Ganglia采集的數據,就可以具有更為高級的監控手段,這樣,不僅單點(diǎn)達到閾值(threshold)時(shí)會(huì )產(chǎn)生異常,在滿(mǎn)足多值亞閾值模式(multiple-value subthresholdpattem)的情況下,也會(huì )產(chǎn)生異常。

例如,假設一個(gè)運行 Apache的Web服務(wù)器集群,這些Web服務(wù)器訪(fǎng)問(wèn)運行MYSQL或Poster的后端數據庫,獲取信息生成頁(yè)面。一個(gè)經(jīng)常發(fā)生的情況是數據庫查詢(xún)運行時(shí)間太長(cháng),且原因不明,這樣,由于連接不能盡快關(guān)閉,數據庫總的活動(dòng)連接數就會(huì )增加。結果是,在這些連接上等待的 Apache進(jìn)程也會(huì )增加。由于Web服務(wù)器和數據庫的進(jìn)程數都有最大值的限制,所以要分別設置Web服務(wù)器和數據庫的警告(warning)和緊急(critical)閾值,將閾值分別設置為最大值的某個(gè)合適的百分比。
對Web服務(wù)器和數據庫集群中的每個(gè)節點(diǎn)的每個(gè)值(Apache的忙碌進(jìn)程和數據庫的打開(kāi)連接)有異常都要報警嗎?假如這種異常只發(fā)生在一臺數據庫(或一個(gè)數據庫集群),或一部分Web服務(wù)器上,會(huì )怎么樣呢? Flickr的做法是將Ganglia采集的各種數據集成到Nagios,我們就能夠做靈活的報警設置,即忙碌的Web服務(wù)器(指忙碌的 Apache進(jìn)程數達到緊急閾值的Web服務(wù)器)的數量達到一定百分比時(shí),才報警,也僅在忙碌的數據庫服務(wù)器(指忙碌的連接數達到緊急國值的數據庫服務(wù)器)的數量達到一定百分比時(shí),才報警。
能夠處理這些甚至更復雜的系統與數據的耦合,意味著(zhù)降低了報警的噪聲,只在發(fā)生眾所周知而又復雜的情況時(shí),呼機才會(huì )在半夜三更響起來(lái)。
另一個(gè)例子是對值的飆升進(jìn)行報警,報警系統不像采集系統那樣記錄了歷史數據的細節。例如,如果應用程序提供了照片或視頻上載的功能,使用模式也相對正常(如每日的波峰和波谷),而且對高低線(xiàn)上的變化能夠報警,在美國東海岸進(jìn)入夢(mèng)鄉時(shí),你可能會(huì )料想到照片上載量會(huì )下降,日峰和日谷之間的變化可能會(huì )達到40%。但你會(huì )想到一小時(shí)之內上載量會(huì )下降409%嗎?不是下降到0,而是短時(shí)間之內的劇烈下降!這種情況就值得報警。
這種將網(wǎng)站建設監控系統和采集系統集成起來(lái)的做法很常見(jiàn),這方面有大量的開(kāi)放源代碼項目和文檔 :
集成Nagios (http://www.monitoringexchangeorg/inventory/check-plugins Software/Misc/check ganglia)
Nagios和 Cacti(http://trac2.assemblacom/npc/)
Nagios和munin (ht://munin-monitoring.org/wiki/Howtocontactnagios
開(kāi)放源代碼GroundWork(集成Nagios、Ganglia、Cacti,http//www.groundwork-pensource.com/community/open-source/).
本文地址:http://www.havencoinwallet.com//article/3312.html