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