性能資源監(jiān)控工具res-monitor設(shè)計(jì)思路與實(shí)現(xiàn)-創(chuàng)新互聯(lián)

一 前言

在性能測試中,對機(jī)器資源使用情況的監(jiān)控幾乎是必不可少的,如何從本地windows主機(jī)同時監(jiān)控多臺linux服務(wù)器的性能指標(biāo)?如何方便、快捷、又近似實(shí)時的觀察到每個被監(jiān)控主機(jī)的運(yùn)行情況,而不需要提前做侵入式的操作?這些問題就是我寫res-monitor的初衷。

成都創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為澄海企業(yè)提供專業(yè)的網(wǎng)站制作、成都網(wǎng)站建設(shè)澄海網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

二 res-monitor是什么?

res-monitor是輕量的多機(jī)性能指標(biāo)監(jiān)控工具,打開即用,無需在被監(jiān)控主機(jī)安裝所謂的 ”agent”, 完全基于linux自帶命令,如top、free、dstat完成資源的監(jiān)控和采集。 res-monitor的目標(biāo)是用在性能測試中,方便、近似實(shí)時的監(jiān)控多臺服務(wù)器的性能指標(biāo)數(shù)據(jù),為后期的性能瓶頸定位或分析提供依據(jù)。

三 為什么不用nmon或其他監(jiān)控系統(tǒng)?

沒有說哪個工具不好用,主要考慮實(shí)際應(yīng)用場景或需求。Nmon是一款方便、輕量、全面的資源監(jiān)控工具,非常喜歡,它也是我寫性能自動化框架中使用的資源監(jiān)控工具。在那個框架工具中,實(shí)現(xiàn)了性能場景執(zhí)行自動化、監(jiān)控自動化、結(jié)果分析自動化,nmon的作用功不可沒,公眾號有篇文章對該框架的設(shè)計(jì)思路做過介紹,感興趣可以關(guān)注了解。但在新環(huán)境、新項(xiàng)目測試時,需要每臺機(jī)器提前部署nmon(其實(shí)很簡單),而且一般需要保存數(shù)據(jù)用在測試報(bào)告中,所以通常使用nmon寫入文件的方法,測試完成后再事后分析(當(dāng)然nmon是支持命令交互實(shí)時輸出的),這樣就額外增加了整理、分析數(shù)據(jù)的工作量??梢源致韵胍幌?,同時監(jiān)控5臺中間件的4大基礎(chǔ)資源的后期時間成本,5個nmon文件4組指標(biāo)(cpu\mem\net\io)1分鐘(每項(xiàng)指標(biāo)分析、求值)≈20分鐘….

Glances\Nagios\Zabbix這類監(jiān)控系統(tǒng),雖然相當(dāng)強(qiáng)大,但對我們?nèi)粘P阅軠y試顯的過于笨重了,安裝麻煩、而且很多被監(jiān)控機(jī)器是未配置外網(wǎng)連接的,缺少什么或要更新什么都很費(fèi)勁,不是一句yum或apt-get所能解決的。我更偏向”瑞士×××”等犀利、便攜式的,能達(dá)到目的就行。

四 解決思路

Res-monitor應(yīng)該是一款打開即用、無需被監(jiān)控系統(tǒng)安裝額外工具(除了top\free\dstat),這些命令都是linux發(fā)行包里自帶的,當(dāng)然如果真的沒有,那就yum install –y xxx一下吧。

  1. Res-monitor使用paramiko完成ssh連接和命令執(zhí)行;這是python里成熟的ssh方案;

  2. Res-monitor使用rrdtool存儲數(shù)據(jù)和繪制圖形,其中rrdtool是一款復(fù)雜卻好用的環(huán)形數(shù)據(jù)庫,后面有空專門介紹一下它;

  3. Res-monitor使用logging完成操作日志記錄,同時應(yīng)該支持將每次監(jiān)控?cái)?shù)據(jù)保存;

  4. Res-monitor使用html網(wǎng)頁展示監(jiān)控?cái)?shù)據(jù),使用js完成頁面的自動刷新;

  5. Res-monitor應(yīng)該在某臺監(jiān)控出現(xiàn)異常時,主動停止所有機(jī)器的監(jiān)控,設(shè)置一個用于保存狀態(tài)的類變量即可解決;

  6. Res-monitor需要考慮linux發(fā)行版、命令命令等不同造成的輸出差異化,通過使用awk、cut、tail等完成輸出形式的兼容性處理;

  7. Res-monitor需要考慮多被監(jiān)控服務(wù)器可能存在多網(wǎng)卡的情形、網(wǎng)卡、磁盤命名等可能差異較大。為了工具的通用性,網(wǎng)卡數(shù)據(jù)取total值,即不區(qū)分哪個網(wǎng)卡的流量;磁盤利用率,同樣不區(qū)分磁盤,只統(tǒng)計(jì)采集時刻大的利用率作為結(jié)果值,這樣設(shè)計(jì)的考量是,性能測試中,如果大值就在可接受范圍,那結(jié)果就無需多關(guān)心,如果有異常,最終還是要靠性能人員去定位,而不是工具。

五 期望目標(biāo)

Res-monitor可以輕松完成對多服務(wù)器的性能指標(biāo)監(jiān)控,無需額外安裝,不依賴環(huán)境,打開即用,數(shù)據(jù)結(jié)果保存及圖形化輸出。

六 實(shí)現(xiàn)效果

如下圖是監(jiān)控一臺linux服務(wù)器的結(jié)果,html報(bào)告近似實(shí)時輸出cpu\mem\net\io數(shù)據(jù)和圖形,只所以說是近似,是因?yàn)楣ぞ咧С峙渲帽O(jiān)控采集間隔,默認(rèn)5s,間隔太短可能對性能有干擾。

性能資源監(jiān)控工具res-monitor設(shè)計(jì)思路與實(shí)現(xiàn)

其他資源

關(guān)于python學(xué)習(xí)、分享、交流,筆者開通了微信公眾號【小蟒社區(qū)】,感興趣的朋友可以關(guān)注下,歡迎加入,建立屬于我們自己的小圈子,一起學(xué)python。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標(biāo)題名稱:性能資源監(jiān)控工具res-monitor設(shè)計(jì)思路與實(shí)現(xiàn)-創(chuàng)新互聯(lián)
文章URL:http://bm7419.com/article48/ceopep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站、用戶體驗(yàn)、App開發(fā)、網(wǎng)站建設(shè)、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營