亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

性能資源監控工具res-monitor設計思路與實現

發布時間:2020-06-29 12:04:55 來源:網絡 閱讀:520 作者:平山 欄目:編程語言

一 前言

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

二 res-monitor是什么?

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

三 為什么不用nmon或其他監控系統?

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

Glances\Nagios\Zabbix這類監控系統,雖然相當強大,但對我們日常性能測試顯的過于笨重了,安裝麻煩、而且很多被監控機器是未配置外網連接的,缺少什么或要更新什么都很費勁,不是一句yum或apt-get所能解決的。我更偏向”瑞士×××”等犀利、便攜式的,能達到目的就行。

四 解決思路

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

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

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

  3. Res-monitor使用logging完成操作日志記錄,同時應該支持將每次監控數據保存;

  4. Res-monitor使用html網頁展示監控數據,使用js完成頁面的自動刷新;

  5. Res-monitor應該在某臺監控出現異常時,主動停止所有機器的監控,設置一個用于保存狀態的類變量即可解決;

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

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

五 期望目標

Res-monitor可以輕松完成對多服務器的性能指標監控,無需額外安裝,不依賴環境,打開即用,數據結果保存及圖形化輸出。

六 實現效果

如下圖是監控一臺linux服務器的結果,html報告近似實時輸出cpu\mem\net\io數據和圖形,只所以說是近似,是因為工具支持配置監控采集間隔,默認5s,間隔太短可能對性能有干擾。

性能資源監控工具res-monitor設計思路與實現

其他資源

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


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江津市| 青田县| 湄潭县| 耒阳市| 万安县| 宁国市| 平顺县| 贵阳市| 来安县| 庄浪县| 屏南县| 班玛县| 阜南县| 景德镇市| 葫芦岛市| 边坝县| 霍林郭勒市| 定南县| 云南省| 古交市| 漳平市| 东阳市| 松溪县| 樟树市| 沛县| 合肥市| 乌拉特中旗| 丹棱县| 奇台县| 左贡县| 中方县| 双城市| 洛浦县| 武宣县| 安达市| 永靖县| 祁门县| 资阳市| 榆社县| 宣城市| 凌云县|