優(yōu)惠活動(dòng) - 12周年慶本月新客福利
優(yōu)惠活動(dòng) - 12周年慶本月新客福利
優(yōu)惠活動(dòng) - 12周年慶本月新客福利

怎么對集群測量進(jìn)行隱含排序?

gmond的目標是對同一局域網(wǎng)(LAN)內的大量機器進(jìn)行測量數據的采集。gmond是用UDP發(fā)送消息的,因而是不可靠的。為最小化因丟失消息造成的影響,以及提供隱含的優(yōu)先排序,gmond監控的每項測量數據都對采集間隔、時(shí)間/值的閾值有唯的設定。

采集間隔

定義了采集的頻率,gmond按照這個(gè)頻率對某項數據進(jìn)行采集和處理。對某些常量數據,如機器CPU的核數,只采集一次。

值閾值

定義采集值和上次報告的值之間的絕對值差(absolute difference),只有值的顯著(zhù)變化才會(huì )引發(fā)一條消息。

時(shí)間閾值

該閾值定義了兩次報告測量值之間的最大時(shí)間間隔,而不管測量數據的值具體是多少。這個(gè)閾值是解決UDP的不可靠性的一種變通方案,提供了一種計算值的年齡的手段,如果自從我們上次收到報告以來(lái),已經(jīng)過(guò)去了一次或幾次該國值的時(shí)間,則認為我們的當前測量值是過(guò)時(shí)的。



從高層來(lái)看,gmond對其監測的測量數據遵從下列步驟:
 
1.采集當前的測量數據值。

2.如果當前值和上次報告的值的絕對值差大于指定的值閾值,轉步驟5。3.如果當前時(shí)間超過(guò)了發(fā)送測量數據的硬限制(hard limit),轉步驟5。
 
4.轉步驟7。

5.發(fā)送測量數據的值,并保存用于下次比較(在步驟2中)。

6.把時(shí)間閾值加到當前時(shí)間上,作為下次發(fā)送測量數據的硬限制。
 
7.進(jìn)人睡眠,時(shí)長(cháng)為采集間隔。
 
8.轉步驟1。

這種方式使得gmond只在測量數據發(fā)生顯著(zhù)變化時(shí)才發(fā)送消息,而且,前述的計算也加上了一個(gè)隨機值,以減少網(wǎng)絡(luò )爭用。最后,對于數千臺機器,測量數據的采集與發(fā)送要協(xié)調進(jìn)行。

對降低測量數據采集的成本同樣重要的是,將成本固定下來(lái)。最壞情況下,每次采集間隔的每次采集都發(fā)送一條消息,最好情況下,消息僅在指定的時(shí)間閾值過(guò)去之后發(fā)送。這個(gè)范圍使你能夠對測量數據采集建立一個(gè)固定的成本預算,當然,除非閾值有問(wèn)題。

對于網(wǎng)絡(luò )測量數據,要小心選擇值國值。我在第一次把網(wǎng)絡(luò )測量數據采集加到Ganglia上時(shí),把默認的采集間隔設置得太短,值閾值也設置得太小,在我的筆記本電腦上沒(méi)有注意到這種配置錯誤,在將Ganglia部署到大量的集群上的時(shí)候,這種錯誤就非常明顯了。每個(gè)節點(diǎn)都開(kāi)始發(fā)送網(wǎng)絡(luò )測量數據更新,以響應其他節點(diǎn)的發(fā)送,Ganglia導致了一場(chǎng)巨大的網(wǎng)絡(luò )風(fēng)暴。希望你不會(huì )發(fā)生這種尷尬的事情。

Ganglial應有而沒(méi)有的一個(gè)功能是測量數據的批量處理。你要是自己寫(xiě)測量數據采集系統,記住要支持這個(gè)功能。將測測量數據收集起來(lái)批量發(fā)送,既減少了發(fā)送的網(wǎng)絡(luò )包數,也減少了帶寬占用。例如,你發(fā)送的每個(gè)IPv4UDP包都包含一個(gè)14字節的以太網(wǎng)頭部、一個(gè)20字節的P頭部、一個(gè)8字節的UDP頭部和一個(gè)4字節的以太網(wǎng)尾部。實(shí)際上這些數字還沒(méi)考慮如填充、VLAN、IP選項、IPv6的差異等因素,但我們可以用這些數字做一個(gè)大概的計算。假設你發(fā)送的數據是32字節,發(fā)送10次更新,則需要10個(gè)78字節的包,總計780字節。批量發(fā)送的話(huà),則只需要1個(gè)366字節的包,其中320字節用于測量數據。這個(gè)例子中,批量發(fā)送減少了90%的包,帶寬減少了一半以上。批量發(fā)送的缺點(diǎn)是,一旦包丟失匯集與組織測量數據將會(huì )丟失多個(gè)數據,而不是一個(gè)。

如果一項測量數據對于一臺機器是有價(jià)值的,則可能對所有機器都有價(jià)值,這一點(diǎn)對系統測量數據而言是對的,但對于應用而言則不一定對。如,采集 MYSQL的測量數據,只對運行數據庫的機器才有意義。但是,每分鐘的負荷,則對于不論運行什么應用的機器而言,都是有意義的。

Ganglia元數據進(jìn)程(gmetad)采集、匯集、存儲一組機器的測量數據,這種匯總數據將通過(guò)數據采集的層次結構,傳遞給上游的gmetad。這種層次結構的代理模式能夠創(chuàng )建很大的非中心化的測量數據采集重疊,這些重疊可以跨越一座校園或整個(gè)地球。

作為一個(gè)極端的例子,設想將美國的每臺機器都連到一個(gè)大的測量數據采集重疊上,我們將有一個(gè)國家級的gmetad,這個(gè)gmetad從運行在每個(gè)州的50個(gè)授權gmetad中獲取數據,每個(gè)州的gmetad從每個(gè)縣級的gmetad中收集數據,而每個(gè)縣級的gmetad從每個(gè)市級的gmetad中收集數據,等等。

這個(gè)例子中的根節點(diǎn)不會(huì )被美國的每臺機器中的所有測量數據壓垮,它只從每個(gè)州州獲取匯總數據,然后生成全美國的匯總數據。所以,對于將50個(gè)數加在一起這樣的運算,是不需要很強大的計算能力的。

Ganglia的Web前端通常安裝在運行g(shù)retai的機器上上,Web前端將gmetad的數據進(jìn)行可視化,你可以直觀(guān)地測覽,并在測量數據采集重疊中進(jìn)行導航。例如,你可以通過(guò)根節點(diǎn)的gmetad查看全美國的匯總信息,以及每個(gè)州的數據源,然后在圖上點(diǎn)擊伊利諾伊州,進(jìn)入感興趣的數據。這種樹(shù)狀的測量數據值屬于空間組件,除此之外,還有時(shí)間組件。伊利諾伊州的Web前端,查看詳細信息。 Ganglia:還讓你可對圖片進(jìn)行放大和縮小,以找到Gmetad:將測量數據存儲于RD數據庫中,RRD數據庫用于存儲數值數據并生成歷史報表。RD一個(gè)非常有用的特點(diǎn)是體積并不隨著(zhù)時(shí)間的增長(cháng)而增長(cháng)。RRD的每個(gè)內部檔案庫( archive)都有固定數量的“桶”,新數據到來(lái)后,更新所有相關(guān)的檔案庫,并丟棄陳舊的數據。對于一個(gè)簡(jiǎn)化的例子,你可以用24個(gè)桶對應于一天的24小時(shí),另外的7個(gè)桶對應于一周的7天。要在不同時(shí)期中發(fā)現數據的趨勢,RRD是一個(gè)理想的工具。將日時(shí)序數據和前述的層次代理模式結合起來(lái),可以用于回答這樣的問(wèn)題:“對于全美國來(lái)說(shuō),過(guò)去一年CPU的利用率是一個(gè)什么樣的趨勢?”
 
盡管我希望如此, Ganglia卻從來(lái)沒(méi)有這樣大范圍地部署過(guò)。一個(gè)更為實(shí)際的例子是像Grid3群組這樣的,2003年使用 Ganglia,從數千臺機器中采集測量數據,這些機器分布在美國和韓國的幾十個(gè)站點(diǎn),用于高等物理研究。這些為Grid3采集的測量數據嵌人其他系統,如 Globus,讓人們分享計算資源進(jìn)行物理實(shí)驗。

從大量機器中匯集不同時(shí)期的數據,對于容量規劃也很有用。了解單臺機器的CPU利用率為80%是有用的,但知道整個(gè)網(wǎng)站建設集群上個(gè)月的利用率為80%卻更有價(jià)值。能夠看到這種種“宏觀(guān)圖景”,對于計劃硬件采購、發(fā)現處理流水線(xiàn)中的瓶頸、洞察Web運維的動(dòng)態(tài),都是非常有幫助的。

本文地址:http://havencoinwallet.com//article/3314.html
相關(guān)文章:
最新文章:
国产免费丝袜调教视频爱剪辑|国产小受18asian|国产福利91精品一区二区三区|久久久青草大香|欧美丰满熟妇xxxx性