本申請(qǐng)涉及云技術(shù)領(lǐng)域,特別涉及一種監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的方法及系統(tǒng)。
背景技術(shù):
在當(dāng)前“云”概念的異?;馃岬那樾蜗?,數(shù)據(jù)中心作為“云”的重要組成部分,已經(jīng)大批量的將各種存儲(chǔ)集中起來使用,這就勢(shì)必需要對(duì)各種存儲(chǔ)的性能進(jìn)行實(shí)時(shí)監(jiān)控,監(jiān)控各存儲(chǔ)系統(tǒng)的性能健康狀況,并能夠在性能健康狀態(tài)出現(xiàn)異常時(shí)做到實(shí)時(shí)報(bào)警。
然而目前存儲(chǔ)系統(tǒng)的監(jiān)控主要存在以下幾種問題:第一種,沒有監(jiān)控功能;第二種,僅有簡(jiǎn)單的帶寬、時(shí)延監(jiān)控功能;第三種,僅具有單一的系統(tǒng)健康告警。面對(duì)整個(gè)數(shù)據(jù)中心,動(dòng)輒上百的存儲(chǔ),急需一個(gè)能夠從整體上實(shí)現(xiàn)對(duì)所有存儲(chǔ)的性能健康進(jìn)行監(jiān)控的方案。
申請(qǐng)內(nèi)容
本申請(qǐng)的目的是提供一種監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的方法及系統(tǒng),通過采用分布式部署,集中管理的方式,實(shí)現(xiàn)對(duì)整個(gè)存儲(chǔ)系統(tǒng)的性能健康監(jiān)控,提高數(shù)據(jù)中心的存儲(chǔ)管理能力。
為解決上述技術(shù)問題,本申請(qǐng)?zhí)峁┮环N監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的方法,所述方法包括:
向各存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求;
接收各所述存儲(chǔ)節(jié)點(diǎn)發(fā)送性能健康數(shù)據(jù);其中,所述存儲(chǔ)節(jié)點(diǎn)利用性能數(shù)據(jù)采集程序采集性能健康數(shù)據(jù);
將所述性能健康數(shù)據(jù)進(jìn)行分類過濾后進(jìn)行展示,并對(duì)告警類數(shù)據(jù)進(jìn)行提示處理;
將所述性能健康數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中。
可選的,向各存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求,包括:
在性能監(jiān)控服務(wù)器中部署數(shù)據(jù)采集包程序;
利用所述采集包程序按照預(yù)定監(jiān)測(cè)周期向各所述存儲(chǔ)節(jié)點(diǎn)廣播數(shù)據(jù)采集請(qǐng)求。
可選的,所述存儲(chǔ)節(jié)點(diǎn)利用性能數(shù)據(jù)采集程序采集性能健康數(shù)據(jù),包括:
在目錄/proc/stat中獲取所述存儲(chǔ)節(jié)點(diǎn)的cpu使用數(shù)據(jù);
在目錄/proc/meminfo中獲取所述存儲(chǔ)節(jié)點(diǎn)的內(nèi)存使用數(shù)據(jù);
在目錄/proc/net/dev中獲取所述存儲(chǔ)節(jié)點(diǎn)的輸出數(shù)據(jù)包數(shù)量和流入數(shù)據(jù)包數(shù)量;
在目錄/proc/diskstats中獲取磁盤io負(fù)載數(shù)據(jù);
利用存儲(chǔ)命令獲取存儲(chǔ)的性能健康數(shù)據(jù);其中,所述性能健康數(shù)據(jù)包括所述cpu使用數(shù)據(jù)、所述內(nèi)存使用數(shù)據(jù)、所述輸出數(shù)據(jù)包數(shù)量、所述流入數(shù)據(jù)包數(shù)量和所述磁盤io負(fù)載數(shù)據(jù);
對(duì)所述性能健康數(shù)據(jù)進(jìn)行特定格式編碼后放入所述存儲(chǔ)節(jié)點(diǎn)的緩存中;
將所述緩存中的數(shù)據(jù)發(fā)送到所述性能監(jiān)控服務(wù)器的所述數(shù)據(jù)采集包程序。
可選的,該方法還包括:
對(duì)所述數(shù)據(jù)庫中存儲(chǔ)的所述性能健康數(shù)據(jù)進(jìn)行擬合分析,獲取存儲(chǔ)系統(tǒng)性能預(yù)測(cè)數(shù)據(jù)。
本申請(qǐng)還提供一種監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的系統(tǒng),包括:
性能監(jiān)控服務(wù)器,用于向各存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求;接收各所述存儲(chǔ)節(jié)點(diǎn)發(fā)送性能健康數(shù)據(jù);將所述性能健康數(shù)據(jù)進(jìn)行分類過濾后進(jìn)行展示,并對(duì)告警類數(shù)據(jù)進(jìn)行提示處理;將所述性能健康數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中;
存儲(chǔ)節(jié)點(diǎn),用于利用性能數(shù)據(jù)采集程序采集性能健康數(shù)據(jù)。
可選的,所述性能監(jiān)控服務(wù)器利用部署的數(shù)據(jù)采集包程序按照預(yù)定監(jiān)測(cè)周期向各所述存儲(chǔ)節(jié)點(diǎn)廣播數(shù)據(jù)采集請(qǐng)求。
可選的,所述存儲(chǔ)節(jié)點(diǎn)利用性能數(shù)據(jù)采集程序在目錄/proc/stat中獲取所述存儲(chǔ)節(jié)點(diǎn)的cpu使用數(shù)據(jù);在目錄/proc/meminfo中獲取所述存儲(chǔ)節(jié)點(diǎn)的內(nèi)存使用數(shù)據(jù);在目錄/proc/net/dev中獲取所述存儲(chǔ)節(jié)點(diǎn)的輸出數(shù)據(jù)包數(shù)量和流入數(shù)據(jù)包數(shù)量;在目錄/proc/diskstats中獲取磁盤io負(fù)載數(shù)據(jù);利用存儲(chǔ)命令獲取存儲(chǔ)的性能健康數(shù)據(jù);其中,所述性能健康數(shù)據(jù)包括所述cpu使用數(shù)據(jù)、所述內(nèi)存使用數(shù)據(jù)、所述輸出數(shù)據(jù)包數(shù)量、所述流入數(shù)據(jù)包數(shù)量和所述磁盤io負(fù)載數(shù)據(jù);對(duì)所述性能健康數(shù)據(jù)進(jìn)行特定格式編碼后放入所述存儲(chǔ)節(jié)點(diǎn)的緩存中;將所述緩存中的數(shù)據(jù)發(fā)送到所述性能監(jiān)控服務(wù)器的所述數(shù)據(jù)采集包程序。
可選的,所述性能監(jiān)控服務(wù)器還用于對(duì)所述數(shù)據(jù)庫中存儲(chǔ)的所述性能健康數(shù)據(jù)進(jìn)行擬合分析,獲取存儲(chǔ)系統(tǒng)性能預(yù)測(cè)數(shù)據(jù)。
可選的,所述性能監(jiān)控服務(wù)器與各所述存儲(chǔ)節(jié)點(diǎn)socket連接。
本申請(qǐng)所提供的一種監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的方法,該方法包括:向各存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求;接收各存儲(chǔ)節(jié)點(diǎn)發(fā)送性能健康數(shù)據(jù);其中,存儲(chǔ)節(jié)點(diǎn)利用性能數(shù)據(jù)采集程序采集性能健康數(shù)據(jù);將性能健康數(shù)據(jù)進(jìn)行分類過濾后進(jìn)行展示,并對(duì)告警類數(shù)據(jù)進(jìn)行提示處理;將性能健康數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中;
可見,該方法利用各個(gè)存儲(chǔ)節(jié)點(diǎn)采集自身的性能監(jiān)控?cái)?shù)據(jù),并設(shè)置單獨(dú)的性能監(jiān)控服務(wù)器接收各存儲(chǔ)節(jié)點(diǎn)發(fā)送的性能監(jiān)控?cái)?shù)據(jù),并利用這些性能監(jiān)控?cái)?shù)據(jù)實(shí)現(xiàn)對(duì)整個(gè)存儲(chǔ)系統(tǒng)的性能健康監(jiān)控;即通過采用分布式部署,集中管理的方式,實(shí)現(xiàn)對(duì)整個(gè)存儲(chǔ)系統(tǒng)的性能健康監(jiān)控,提高數(shù)據(jù)中心的存儲(chǔ)管理能力。本申請(qǐng)還提供了一種監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的系統(tǒng),具有上述有益效果,在此不再贅述。
附圖說明
為了更清楚地說明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本申請(qǐng)實(shí)施例所提供的監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的方法的流程圖;
圖2為本申請(qǐng)實(shí)施例所提供的監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的系統(tǒng)的結(jié)構(gòu)框圖;
圖3為本申請(qǐng)實(shí)施例所提供的監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的系統(tǒng)監(jiān)控性能數(shù)據(jù)實(shí)時(shí)變化的過程示意圖。
具體實(shí)施方式
本申請(qǐng)的核心是提供一種監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的方法及系統(tǒng),通過采用分布式部署,集中管理的方式,實(shí)現(xiàn)對(duì)整個(gè)存儲(chǔ)系統(tǒng)的性能健康監(jiān)控,提高數(shù)據(jù)中心的存儲(chǔ)管理能力。
為使本申請(qǐng)實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
本實(shí)施例的執(zhí)行主體為單獨(dú)設(shè)置的性能監(jiān)控服務(wù)器,在性能監(jiān)控服務(wù)器中部署采集各個(gè)存儲(chǔ)節(jié)點(diǎn)性能數(shù)據(jù)的數(shù)據(jù)采集包程序;在各存儲(chǔ)節(jié)點(diǎn)獨(dú)立部署本地的性能數(shù)據(jù)采集程序;采用分布式部署,集中管理的方式,實(shí)現(xiàn)對(duì)整個(gè)存儲(chǔ)系統(tǒng)的性能健康監(jiān)控,提高數(shù)據(jù)中心的存儲(chǔ)管理能力。且存儲(chǔ)節(jié)點(diǎn)單獨(dú)采集可以有效的提高性能數(shù)據(jù)的時(shí)效性,減少了存儲(chǔ)節(jié)點(diǎn)本地對(duì)性能數(shù)據(jù)的資源空間。性能監(jiān)控服務(wù)器集中采集,能對(duì)性能健康數(shù)據(jù)的持久化又能保留較長時(shí)間的性能健康數(shù)據(jù),可以實(shí)現(xiàn)對(duì)性能健康數(shù)據(jù)的分析,進(jìn)行預(yù)警告警,提前預(yù)測(cè)未來的性能。即請(qǐng)參考圖1,圖1為本申請(qǐng)實(shí)施例所提供的監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的方法的流程圖;該方法可以包括:
s100、向各存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求;
具體的,本實(shí)施例并不限定具體的數(shù)據(jù)采集請(qǐng)求發(fā)送的頻率。即性能監(jiān)控服務(wù)器可以實(shí)時(shí)向各存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求,也可以是按照預(yù)定監(jiān)測(cè)周期向各存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求,當(dāng)然也可以是用戶在需要時(shí)控制性能監(jiān)控服務(wù)器向各存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求?;蛘咴陬A(yù)定監(jiān)測(cè)周期用戶也可以是在需要時(shí)控制性能監(jiān)控服務(wù)器向各存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求等。
可選的,向各存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求,包括:
在性能監(jiān)控服務(wù)器中部署數(shù)據(jù)采集包程序;
利用采集包程序按照預(yù)定監(jiān)測(cè)周期向各存儲(chǔ)節(jié)點(diǎn)廣播數(shù)據(jù)采集請(qǐng)求。
進(jìn)一步為了保證每個(gè)存儲(chǔ)節(jié)點(diǎn)都及時(shí)收到了數(shù)據(jù)采集請(qǐng)求,未因網(wǎng)絡(luò)等原因造成的數(shù)據(jù)采集請(qǐng)求接收失敗而導(dǎo)致的性能健康數(shù)據(jù)獲取不及時(shí)。本實(shí)施可以在各存儲(chǔ)節(jié)點(diǎn)接收到該數(shù)據(jù)采集請(qǐng)求時(shí)反饋一個(gè)接收成功信息,或者是性能監(jiān)控服務(wù)器在數(shù)據(jù)采集請(qǐng)求發(fā)送后預(yù)定時(shí)間內(nèi)沒有接收到各存儲(chǔ)節(jié)點(diǎn)發(fā)送性能健康數(shù)據(jù),則進(jìn)行提示。進(jìn)一步為了保證性能健康數(shù)據(jù)的完整性,也可以再次向?qū)?yīng)的存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求。進(jìn)而提高監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)系統(tǒng)的可靠性。
s110、接收各存儲(chǔ)節(jié)點(diǎn)發(fā)送性能健康數(shù)據(jù);其中,存儲(chǔ)節(jié)點(diǎn)利用性能數(shù)據(jù)采集程序采集性能健康數(shù)據(jù);
具體的,各存儲(chǔ)節(jié)點(diǎn)在接收到數(shù)據(jù)采集請(qǐng)求時(shí),就利用性能數(shù)據(jù)采集程序采集性能健康數(shù)據(jù),并將采集的性能健康數(shù)據(jù)發(fā)送給性能監(jiān)控服務(wù)器。本實(shí)施例并不限定具體的性能健康數(shù)據(jù)種類等。用戶可以根據(jù)監(jiān)控需求進(jìn)行設(shè)定。例如性能健康數(shù)據(jù)可以包括cpu使用數(shù)據(jù),內(nèi)存使用數(shù)據(jù),存儲(chǔ)節(jié)點(diǎn)的輸出數(shù)據(jù)包數(shù)量和流入數(shù)據(jù)包數(shù)量以及磁盤io負(fù)載數(shù)據(jù)或者是告警數(shù)據(jù)等。
可選的,存儲(chǔ)節(jié)點(diǎn)利用性能數(shù)據(jù)采集程序采集性能健康數(shù)據(jù)可以包括:
在目錄/proc/stat中獲取存儲(chǔ)節(jié)點(diǎn)的cpu使用數(shù)據(jù);
在目錄/proc/meminfo中獲取存儲(chǔ)節(jié)點(diǎn)的內(nèi)存使用數(shù)據(jù);
在目錄/proc/net/dev中獲取存儲(chǔ)節(jié)點(diǎn)的輸出數(shù)據(jù)包數(shù)量和流入數(shù)據(jù)包數(shù)量;
在目錄/proc/diskstats中獲取磁盤io負(fù)載數(shù)據(jù);
利用存儲(chǔ)命令獲取存儲(chǔ)的性能健康數(shù)據(jù);其中,性能健康數(shù)據(jù)包括cpu使用數(shù)據(jù)、內(nèi)存使用數(shù)據(jù)、輸出數(shù)據(jù)包數(shù)量、流入數(shù)據(jù)包數(shù)量和磁盤io負(fù)載數(shù)據(jù);
對(duì)性能健康數(shù)據(jù)進(jìn)行特定格式編碼后放入存儲(chǔ)節(jié)點(diǎn)的緩存中;
將緩存中的數(shù)據(jù)發(fā)送到性能監(jiān)控服務(wù)器的數(shù)據(jù)采集包程序。
具體的,以存儲(chǔ)系統(tǒng)環(huán)境為linux系統(tǒng)為例說明上述過程,采用socket方式使用java高級(jí)語言在存儲(chǔ)端目錄/proc/stat獲取系統(tǒng)的cpu使用情況,/proc/meminfo獲取系統(tǒng)的內(nèi)存使用情況,/proc/net/dev獲取節(jié)點(diǎn)輸出的數(shù)據(jù)包和流入節(jié)點(diǎn)的數(shù)據(jù)包數(shù),/proc/diskstats獲取磁盤io負(fù)載的相關(guān)數(shù)據(jù),通過獲取這些性能數(shù)據(jù)傳送到獨(dú)立部署的性能監(jiān)控服務(wù)器。其中,socket網(wǎng)絡(luò)上的兩個(gè)程序通過一個(gè)雙向的通信連接實(shí)現(xiàn)數(shù)據(jù)的交換,這個(gè)連接的一端稱為一個(gè)socket。
s120、將性能健康數(shù)據(jù)進(jìn)行分類過濾后進(jìn)行展示,并對(duì)告警類數(shù)據(jù)進(jìn)行提示處理;
具體的,本實(shí)施例并不限定具體的分類過濾的方式,例如可以按照性能監(jiān)控?cái)?shù)據(jù)的種類進(jìn)行分類并分別進(jìn)行展示,也可以是按照各存儲(chǔ)節(jié)點(diǎn)的性能等級(jí)進(jìn)行分類并展示,也可以是從性能監(jiān)控?cái)?shù)據(jù)中篩選出重點(diǎn)數(shù)據(jù)進(jìn)行展示,也可是將性能監(jiān)控?cái)?shù)據(jù)分為正常狀態(tài)數(shù)據(jù),異常狀態(tài)數(shù)據(jù),優(yōu)秀狀態(tài)數(shù)據(jù)進(jìn)行分類并展示。展示可以是在顯示屏中進(jìn)行顯示,也可以是結(jié)合語音,字體大小,顏色等技術(shù)手段區(qū)分各種數(shù)據(jù)。
在分析得到告警數(shù)據(jù)時(shí),可以將告警數(shù)據(jù)進(jìn)行提示,以便管理人員可以及時(shí)獲取該信息。具體的,本實(shí)施例并不限定具體的提示處理方式,例如可以是語音提示,指示燈提示,短信提示,郵件提示,信息提示,文字標(biāo)黃等。
s130、將性能健康數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中。
這里將性能健康數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫以便后續(xù)管理人員查看以及進(jìn)一步對(duì)數(shù)據(jù)庫中存儲(chǔ)的性能健康數(shù)據(jù)進(jìn)行擬合分析,獲取存儲(chǔ)系統(tǒng)性能預(yù)測(cè)數(shù)據(jù)。即利用數(shù)據(jù)庫中的歷史數(shù)據(jù)可以進(jìn)行歷史性分析提前預(yù)測(cè)未來系統(tǒng)的性能。以便及時(shí)對(duì)系統(tǒng)進(jìn)行相應(yīng)調(diào)整,避免不必要的危險(xiǎn)。本實(shí)施例并不限定具體的歷史性分析的方式,只要可以根據(jù)歷史數(shù)據(jù)模擬系統(tǒng)未來的性能狀態(tài)即可。還可以在預(yù)測(cè)未來系統(tǒng)的性能不滿足要求時(shí),及時(shí)發(fā)出提示信息。進(jìn)一步還可以預(yù)測(cè)的未來系統(tǒng)的性能確定對(duì)應(yīng)的系統(tǒng)調(diào)整方案。
具體的,性能監(jiān)控服務(wù)器將這些性能健康數(shù)據(jù)保存。利用整個(gè)存儲(chǔ)系統(tǒng)的性能健康數(shù)據(jù),實(shí)時(shí)監(jiān)控系統(tǒng)內(nèi)單臺(tái)存儲(chǔ)節(jié)點(diǎn)的性能狀況,和整個(gè)數(shù)據(jù)中心的性能健康狀態(tài)。實(shí)現(xiàn)存儲(chǔ)性能異常的實(shí)時(shí)告警與歷史性能分析。
即本實(shí)施例在存儲(chǔ)節(jié)點(diǎn)單獨(dú)采集,性能監(jiān)控服務(wù)器集中管理,這樣減少了存儲(chǔ)節(jié)點(diǎn)本地對(duì)性能健康數(shù)據(jù)的資源空間,性能監(jiān)控服務(wù)器對(duì)性能健康數(shù)據(jù)的持久化又能保留較長時(shí)間的性能健康數(shù)據(jù),可以實(shí)現(xiàn)對(duì)性能健康數(shù)據(jù)的分析,進(jìn)行預(yù)警告警,提前預(yù)測(cè)未來的性能。
基于上述技術(shù)方案,本申請(qǐng)實(shí)施例提供的監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的方法,采用用分布式部署,集中管理的方式,提高了數(shù)據(jù)中心中存儲(chǔ)的預(yù)警告警能力。通過各個(gè)單存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)性能數(shù)據(jù)(即性能健康數(shù)據(jù))的實(shí)時(shí)采集,并集中進(jìn)行展示告警,使管理員一目了然就能知道存儲(chǔ)的健康狀態(tài),大大簡(jiǎn)化了數(shù)據(jù)中心存儲(chǔ)性能健康監(jiān)控的復(fù)雜度。
下面對(duì)本申請(qǐng)實(shí)施例提供的監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的系統(tǒng)進(jìn)行介紹,下文描述的監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的系統(tǒng)與上文描述的監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的方法可相互對(duì)應(yīng)參照。
請(qǐng)參考圖2,圖2為本申請(qǐng)實(shí)施例所提供的監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的系統(tǒng)的結(jié)構(gòu)框圖;該系統(tǒng)可以包括:
性能監(jiān)控服務(wù)器100,用于向各存儲(chǔ)節(jié)點(diǎn)發(fā)送數(shù)據(jù)采集請(qǐng)求;接收各存儲(chǔ)節(jié)點(diǎn)發(fā)送性能健康數(shù)據(jù);將性能健康數(shù)據(jù)進(jìn)行分類過濾后進(jìn)行展示,并對(duì)告警類數(shù)據(jù)進(jìn)行提示處理;將性能健康數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中;
存儲(chǔ)節(jié)點(diǎn)200,用于利用性能數(shù)據(jù)采集程序采集性能健康數(shù)據(jù)。
基于上述實(shí)施例,性能監(jiān)控服務(wù)器100利用部署的數(shù)據(jù)采集包程序按照預(yù)定監(jiān)測(cè)周期向各存儲(chǔ)節(jié)點(diǎn)廣播數(shù)據(jù)采集請(qǐng)求。
基于上述實(shí)施例,存儲(chǔ)節(jié)點(diǎn)200利用性能數(shù)據(jù)采集程序在目錄/proc/stat中獲取存儲(chǔ)節(jié)點(diǎn)的cpu使用數(shù)據(jù);在目錄/proc/meminfo中獲取存儲(chǔ)節(jié)點(diǎn)的內(nèi)存使用數(shù)據(jù);在目錄/proc/net/dev中獲取存儲(chǔ)節(jié)點(diǎn)的輸出數(shù)據(jù)包數(shù)量和流入數(shù)據(jù)包數(shù)量;在目錄/proc/diskstats中獲取磁盤io負(fù)載數(shù)據(jù);利用存儲(chǔ)命令獲取存儲(chǔ)的性能健康數(shù)據(jù);其中,性能健康數(shù)據(jù)包括cpu使用數(shù)據(jù)、內(nèi)存使用數(shù)據(jù)、輸出數(shù)據(jù)包數(shù)量、流入數(shù)據(jù)包數(shù)量和磁盤io負(fù)載數(shù)據(jù);對(duì)性能健康數(shù)據(jù)進(jìn)行特定格式編碼后放入存儲(chǔ)節(jié)點(diǎn)的緩存中;將緩存中的數(shù)據(jù)發(fā)送到性能監(jiān)控服務(wù)器的數(shù)據(jù)采集包程序。
基于上述實(shí)施例,性能監(jiān)控服務(wù)器100還用于對(duì)數(shù)據(jù)庫中存儲(chǔ)的性能健康數(shù)據(jù)進(jìn)行擬合分析,獲取存儲(chǔ)系統(tǒng)性能預(yù)測(cè)數(shù)據(jù)。
當(dāng)存儲(chǔ)系統(tǒng)環(huán)境為linux系統(tǒng),性能監(jiān)控服務(wù)器與各存儲(chǔ)節(jié)點(diǎn)socket連接。
請(qǐng)參考圖3,下面通過具體的例子說明該系統(tǒng)的工作過程:
首先,在性能監(jiān)控服務(wù)器中部署采集各個(gè)存儲(chǔ)節(jié)點(diǎn)(簡(jiǎn)稱為節(jié)點(diǎn))性能數(shù)據(jù)(即性能健康數(shù)據(jù)的簡(jiǎn)稱)的數(shù)據(jù)采集包程序,該程序能夠以間隔1s的時(shí)間向各個(gè)存儲(chǔ)節(jié)點(diǎn)廣播數(shù)據(jù)采集請(qǐng)求。在各存儲(chǔ)節(jié)點(diǎn)獨(dú)立部署本地的性能數(shù)據(jù)采集程序,可以實(shí)現(xiàn)在各存儲(chǔ)節(jié)點(diǎn)本地將性能健康數(shù)據(jù)暫時(shí)緩存,然后向性能監(jiān)控服務(wù)器發(fā)送的功能。在性能監(jiān)控服務(wù)器端,其數(shù)據(jù)采集包將數(shù)據(jù)采集回來后,可以將數(shù)據(jù)持久化到數(shù)據(jù)庫,性能健康數(shù)據(jù)展示時(shí),采用實(shí)時(shí)接收的數(shù)據(jù)進(jìn)行展示,實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)展示與歷史數(shù)據(jù)分析相分離,達(dá)到監(jiān)控?cái)?shù)據(jù)的實(shí)時(shí)性。
步驟一:創(chuàng)建性能監(jiān)控服務(wù)器與各存儲(chǔ)節(jié)點(diǎn)的socket連接;
步驟二:間隔1s向各個(gè)存儲(chǔ)節(jié)點(diǎn)采集性能數(shù)據(jù);
步驟三:將采集到的性能數(shù)據(jù)進(jìn)行分類過濾,并放入緩存及實(shí)時(shí)展示。重點(diǎn)區(qū)分告警類的數(shù)據(jù);
步驟四:將采集的性能數(shù)據(jù)從緩存放入數(shù)據(jù)庫,實(shí)現(xiàn)數(shù)據(jù)的歷史記錄。
說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的裝置而言,由于其與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法部分說明即可。
專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本申請(qǐng)的范圍。
結(jié)合本文中所公開的實(shí)施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實(shí)施。軟件模塊可以置于隨機(jī)存儲(chǔ)器(ram)、內(nèi)存、只讀存儲(chǔ)器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動(dòng)磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。
以上對(duì)本申請(qǐng)所提供的一種監(jiān)控存儲(chǔ)系統(tǒng)性能數(shù)據(jù)的方法及系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請(qǐng)?jiān)淼那疤嵯?,還可以對(duì)本申請(qǐng)進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本申請(qǐng)權(quán)利要求的保護(hù)范圍內(nèi)。