1.一種高可用的云監(jiān)控系統(tǒng),它包括設(shè)置于各個(gè)待檢測(cè)節(jié)點(diǎn)的agent模塊;其特征在于,各agent模塊將采集到的待檢測(cè)節(jié)點(diǎn)的狀態(tài)信息發(fā)送到agentCluster節(jié)點(diǎn),agentCluster節(jié)點(diǎn)將采集到的數(shù)據(jù)發(fā)送至Server服務(wù)端;所述的待檢測(cè)節(jié)點(diǎn)包括物理主機(jī)和虛擬機(jī)。
2.根據(jù)權(quán)利要求1所述的一種高可用的云監(jiān)控系統(tǒng),其特征在于:各agent模塊之間定期相互發(fā)送心跳信息。
3.一種高可用的云監(jiān)控方法,包括以下步驟:
步驟1):在待監(jiān)控主機(jī)中設(shè)置智能agent模塊,并通過(guò)Server服務(wù)端以文件的形式將監(jiān)控任務(wù)發(fā)送到待監(jiān)控主機(jī)中;待監(jiān)控主機(jī)包括物理主機(jī)以及虛擬機(jī);
步驟2):將監(jiān)控腳本通過(guò)Server服務(wù)端傳送到待監(jiān)控物理主機(jī)以及虛擬機(jī)中;腳本傳輸完結(jié)束后向agent模塊傳送監(jiān)控命令,agent模塊收到命令后運(yùn)行對(duì)應(yīng)的腳本文件,采集監(jiān)控?cái)?shù)據(jù);
步驟3):以物理主機(jī)中的agent模塊作為agentCluster節(jié)點(diǎn),虛擬機(jī)中的agent作為Cluster群集合的成員;Cluster群集合成員中的各agent模塊之間以固定時(shí)間Theartbeating發(fā)送心跳數(shù)據(jù)報(bào)文,作為各agent模塊存活的標(biāo)志;
步驟4):各agent模塊依據(jù)任務(wù)列表讀取任務(wù)腳本,發(fā)送采集到的數(shù)據(jù)給agentCluster節(jié)點(diǎn);初始監(jiān)控周期為default_monitor_time(i),同時(shí)設(shè)置監(jiān)控周期變化步長(zhǎng),采樣的時(shí)間間隔的調(diào)整大小為原子時(shí)間atomic_time(i)的整數(shù)倍;
步驟5):agent分別為不同的監(jiān)控指標(biāo)建立對(duì)應(yīng)的存儲(chǔ)隊(duì)列,并計(jì)算數(shù)據(jù)緩沖隊(duì)列中的數(shù)據(jù)的偏差情況,其計(jì)算使用如下模型:
其中δ表示樣本數(shù)據(jù)的標(biāo)準(zhǔn)差,Xi為采集到的第i個(gè)數(shù)據(jù)的狀態(tài)信息;
步驟6):在步驟5)的基礎(chǔ)上,定義第i個(gè)監(jiān)控指標(biāo)的數(shù)據(jù)偏差的上限為threshold(i);如果采集到的數(shù)據(jù)的變化趨勢(shì)較為平穩(wěn)即δ<threshold(i),則增大數(shù)據(jù)監(jiān)控采樣周期,如果監(jiān)控采集到的數(shù)據(jù)的變化趨勢(shì)較大,即δ>=threshold(i),則縮小數(shù)據(jù)監(jiān)控采樣周期的大小;
步驟7):agentCluster節(jié)點(diǎn)接收到數(shù)據(jù)之后,將監(jiān)控?cái)?shù)據(jù)通過(guò)消息隊(duì)列發(fā)送給監(jiān)控平臺(tái)的SERVER服務(wù)端。
4.根據(jù)權(quán)利要求3所述的一種高可用的云監(jiān)控方法,其特征在于:所述步驟1)中,監(jiān)控任務(wù)包括監(jiān)控指標(biāo)以及監(jiān)控腳本的存放路徑。
5.根據(jù)權(quán)利要求3或4所述的一種高可用的云監(jiān)控方法,其特征在于:所述步驟3)中還包括以下步驟:
當(dāng)agent超過(guò)時(shí)間Theartbeating,沒(méi)有發(fā)送心跳數(shù)據(jù),則認(rèn)為該agent已關(guān)閉;agentCluster節(jié)點(diǎn)負(fù)責(zé)定時(shí)報(bào)告成員agent的運(yùn)行狀態(tài);當(dāng)cluster群集合成員發(fā)現(xiàn)agentCluster關(guān)閉,則啟動(dòng)分布式選舉算法Paxos,重新選擇agentCluster節(jié)點(diǎn)。
6.根據(jù)權(quán)利要求5所述的一種高可用的云監(jiān)控方法,其特征在于:所述步驟6)中,增大數(shù)據(jù)監(jiān)控采樣周期的計(jì)算模型為:
monitor_time(i)=default_monitor_time(i)①
monitor_time(i)=monitor_time(i)+atomic_time(i)*f(δ,threshold(i))②
其中公式①表示監(jiān)控指標(biāo)i的采樣周期的初始化設(shè)置;公式②表示監(jiān)控指標(biāo)i的采樣周期的動(dòng)態(tài)調(diào)整,其中f(δ,threshold(i))表示數(shù)據(jù)偏差值δ與閾值threshold(i)的對(duì)應(yīng)函數(shù)關(guān)系;
縮小數(shù)據(jù)監(jiān)控采樣周期的計(jì)算模型為:
monitor_time(i)=max(monitor_time(i)/2,atomic_time(i))。