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的东西放到这个开源工具里面。

相关文章
相关标签/搜索