openlava圖形化監控工具openlavaMonitor

OpenLava是100%免費、開源、兼容IBM® Spectrum LSFTM的工做負載調度器,支持各類高性能計算和分析應用,在各大IC公司被普遍引用。python

openlava開源免費,兼容LSF,是IC公司(尤爲是中小型IC公司)的福音。可是因爲種種緣由,開源團隊再也不進行開發工做,且工具缺乏配套的job/resource監控類工具,因此並不易用。以往的工做中,根據openlava使用中的實際需求,我開發過一些openlava輔助類工具,以幫助openlava的工具配置,數據採集,前臺監控。出於資源共享的目的,我把數據採集和前臺監控的功能採用標準python工具的格式進行了從新開發,命名爲openlavaMonitor,開源到了github上,以方便你們下載使用 (地址https://github.com/liyanqing1987/openlavaMonitor)。linux

下面對工具作一下簡單介紹,幫助你們瞭解。git

 

1. 工具介紹github

工具的使用分爲兩部分: 後臺數據採集,前臺數據展現。這一部分主要講一下工具的前臺展現部分。數據庫

工具爲圖形界面,包含4個頁面,分別展現不一樣的內容。centos

1.1 第一個頁面爲JOB頁,主要展現job相關信息。工具

在Job輸入框輸入job id,點擊Check按鈕,能夠顯示出job的關鍵信息,job的詳細信息,job的memory使用量變化曲線。性能

其中job的memory使用量變化曲線十分有用,能夠用來判斷job的資源使用狀況,用來debug job crash的緣由(不少job crash都跟memory使用過量有關)。測試

1.2 第二個頁面爲JOBS頁,列出全部job的簡要信息。centos7

能夠按照job user/job status/queue/host來選擇jobs,點擊Check按鈕能夠獲取全部符合條件的jobs。默認顯示全部queue上RUN的jobs。

下方顯示job的基本信息,包括用戶/job狀態/所在queue/所在host/所用slot/cpuTime/resource設置/內存使用量等。

全部的列,點擊表頭可排序。

點擊job item能夠跳轉到JOB頁面,顯示出相關job的信息。

1.3 第三個頁面爲HOSTS頁,列出全部host的簡要信息。

能夠顯示host的基本信息,狀態/所屬queue/job數目/cpu和memory的使用量等。

全部的列,點擊表頭可排序。

點擊host item能夠跳轉到JOBS頁面,列出host上全部的jobs。

1.4 第四個頁面爲QUEUES頁,主要展現QUEUE相關信息。

左上側有queue列表和每一個queue上RUN/PEND的job數目,點擊queue item,右側或列出queue上最近一段時間RUN/PEND的job數目(天天平均值),下側會列出queue的具體信息。

queue的一段時間的RUN/PEND的job數目能夠幫我瞭解queue的負載狀況,從而動態地調整queue上的資源分配。

 

2. 安裝配置

若是你想使用openlavaMonitor,下面是具體的安裝配置過程。

2.1 安裝python和openlava

極力建議安裝anaconda(3-4.2.0及以上版本),能夠解決全部的庫依賴。

若是僅安裝python,須要安裝3.5及以上版本,而且須要手工安裝全部依賴庫。

openlava的安裝請參照個人另外一篇博文 openlava-4.0 安裝教程(VMware/centos7)

2.2 git clone

將openlavaMonitor的源碼從github上clone到本地。若是你的linux不能聯網,你也能夠Download ZIP包,傳到linux端而後解壓。

2.3 用root帳號拷貝到合適目錄,安裝

用root帳號操做,建議安裝到公共工具目錄(我是安裝到/usr/local),用python3安裝。

若是你沒有安裝anaconda,你還須要手工安裝全部依賴庫,若是linux沒有聯網的話,我只能祝你好運了。

2.4 工具配置

minitor/conf/config.py文件用於作基本配置,能夠用來指定數據庫存儲路徑「dbPath」和臨時文件存放路徑「tempPath」,固然你也可使用默認值而不作任何更改。

別忘了用root帳號把這兩個目錄的寫權限都打開,不然其餘用戶沒法往裏面寫文件。

2.5 啓用數據採集程序

monitor/bin/bsample.py用於採集基本數據。

主程序中須要用到job和queue的基本信息,因此咱們至少要啓動服務採集這兩個信息。

你能夠啓動bsample.py做爲服務程序,按照interval週期一直採集,也能夠在crontab中按期啓動程序採集信息,我採用後者。

2.6 測試

咱們丟兩個job,而後採集一下數據,看看效果。

注意,不要用root帳號執行,用普通帳號丟job。

而後咱們臨時手工採集一下數據,看一下效果。

啓動程序。

已經能看到兩個job了。

點擊第一個job,看看它的詳細信息。

只有一個採樣點,因此memory曲線比較單調,不過規律採樣後曲線就會好看多了。

再看看host和queue的信息。

由於這是測試用新裝的系統,因此只有一個queue和一個host,若是是公司實際的應用環境,信息仍是很豐富的。

 

後記:

這個工具包含了基本的和通用的功能,可以知足openlava的簡單應用場景。

實際應用中,歡迎你們基於自身的應用需求對它作改造。咱們在實際的應用中也是添加了更多的專有功能的,可是限制於每一個公司的IT環境不一樣,就沒有把special的東西放到這個開源工具裏面。

相關文章
相關標籤/搜索