dmsong
作者dmsong·2021-04-20 15:33
系统工程师·IPS

nmon/njmon可视化工具:nmonchart与njmonchart

字数 2102阅读 8434评论 1赞 2

Nmon是来自IBM的Nigel Griffiths ( aka Mr. NMON )开发的一款开源性能数据收集工具。同时支持AIX, Linux on Power以及 Linux on X86。长久以来,nmon在日常性能监控、性能分析、性能预测等方面一直发挥比较重要的作用。

nmon有两种工作模式:

  • 实时监控模式:在线图形显示,实时侦测问题
  • 收集数据后分析模式:收集一段时间的数据,事后展示分析,适用于分析性能趋势等场景。

nmon数据使用CSV格式存储。数据的展示工具常用的有nmon analyser, gmon,nmonchart等。其中,nmonchart使用javascript,调用google的LibraryChart,将nmon数据转换为html文件中的图形。因为可以在浏览器中查看数据图形,使用最为方便。

njmon是Nigel Griffiths开发的nmon升级产品。njmon与nmon功能
类似。与nmon相比,njmon有如下优点:

  • 收集更多性能统计信息;
  • 输出为json格式。json数据一来可以很方便的load到python中,方便用python处理;二来也可以很方便的对接当今流行的其他软件。比如可以发送给InfluxDB, Splunk, ELK等。

围绕njmon, Nigel Griffiths还开发了其他的一些工具,比如:

  • nimon直接将收集到的数据通过InfluxDB的native Line Protocol协议直接发送到InfluxDB;
  • njmon2InfluxDB injector:将json格式数据发给InfluxDB;
  • njmon2Splunk injector: 将json格式数据发给Splunk;
  • nmon2json: 将nmon文件转换为json格式文件;
  • njmonchart: 一个类似nmonchart的可视化工具。

下面介绍一下nmonchart和njmonchart的安装使用。
Nmonchart主页为
http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmonchart
在主页点击下载链接,下载nmonchart40.tar。
解压后进入目录

# ls
.     nmonchart_cron     nmon_upload.php  sampleC.html  sampleD.html
nmonchart     nmonchart_license  README           sampleC.nmon  sampleD.nmon

nmonchart是用ksh开发的,如果系统中没有安装ksh,首先安装ksh。比如

yum install ksh

或者

apt-get install ksh

nmonchart的用法形如:

./nmonchart sampleC.nmon ./c.html

比如要处理从主机hpctest生成的一个nmon文件hpctest_190115_1433.nmon ./hpctest.html,可使用如下命令:

./nmonchart /mnt/c/work/hpcproject1/hpctest_190115_1433.nmon ./hpctest.html

通过浏览器打开生成的html文件,点击上方的监控条目,即可看到相应的图形。如下所示

njmonchart的使用方法与nmonchart类似。
首先从
https://sourceforge.net/projects/nmon/files/
下载njmonchart_v40.zip。
解压后是两个Python文件

# cd njmonchart_v40/  
# ls  
njmonchart_aix_v40.py njmonchart_linux_v40.py  

njmonchart是用python3开发的,因此要运行的话,系统中要安装python3。
在被监控节点上运行njmon,生成json文件。njmon的安装和运行方法,请参见https://www.talkwithtrend.com/Document/detail/tid/442401

njmon -s 30 -c 120 -f

其中-s表示采样间隔,-c表示采样数量。
运行结束后,会在当前目录下,生成文件<host_name>_<date>_<time>.json,比如这里生成一个sle12sp5_20210330_1737.json文件。

将json文件拷贝到njmonchart目录下。运行njmonchart

python36 njmonchart_linux_v40.py sle12sp5_20210330_1737.json sle12sp5.html

同样的,我们通过浏览器打开这个html文件,点击上方按钮,就可以
看到监控数据的图形了。如下图所示,

备注:无论是nmonchart还是njmonchart,都使用了google的GraphLibrary,画图的时候需要访问google。请确保浏览器能访问google。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论1 条评论

沈天真沈天真售前支持IPS
2021-04-21 11:28
有没有办法不用访问google?例如本地安装GraphLibrary ?
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广