神器Nmon

admin7个月前笔记61

image.png

比如:nmon -f -s 1。

nmon CPU and Disk utilization

会创建一个日志文件,该日志文件最开头是一些系统的元数据(AAA - BBBV 部分),后面是所监控的系统属性的定时快照,比如 CPU 和内存的使用情况。这个输出的文件很难直接由电子表格应用来处理,因此诞生了Nmon_Analyzer excel 宏。如果你用的是 Windows/Mac 并安装了 Microsoft Office,那么这个工具非常不错。如果没有这个环境那也可以使用 Nmon2rrd 工具,这个工具能将日志文件转换 RRD 输入文件,进而生成图形。这个过程很死板而且有点麻烦。现在出现了一个更灵活的工具,我向你们介绍一下 pyNmonAnalyzer,它提供了一个可定制化的解决方案来生成结构化的 CSV 文件和带有用 matplotlib 生成的图片的简单 HTML 报告。

入门介绍

系统需求:

从名字中就能看出我们需要有 python。此外 pyNmonAnalyzer 还依赖于 matplotlib 和 numpy。若你使用的是 debian 衍生的系统,则你需要先安装这些包:

$ sudo apt-get install python-numpy python-matplotlib
获取 pyNmonAnalyzer:

你可以克隆 git 仓库:

$ git clone [email protected]:madmaze/pyNmonAnalyzer.git

或者,直接从这里下载:pyNmonAnalyzer-1.0.zip 。(LCTT 译注:这是个 5 年前的项目但是一直在陆陆续续的进行维护)

接下来我们需要一个 Nmon 文件,如果没有的话,可以使用发行版中提供的实例或者自己录制一个样本:nmon -F test.nmon -s 1 -c 120,会录制 120 个快照,每秒一个,存储到 test.nmon 文件中。

让我们来看看基本的帮助信息:

$ ./pyNmonAnalyzer.py -h
usage: pyNmonAnalyzer.py [-h] [-x] [-d] [-o OUTDIR] [-c] [-b] [-r CONFFNAME]
 input_file
nmonParser converts Nmon monitor files into time-sorted
CSV/Spreadsheets for easier analysis, without the use of the
MS Excel Macro. Also included is an option to build an HTML
report with graphs, which is configured through report.config.
positional arguments:
 input_file Input NMON file
optional arguments:
 -h, --help show this help message and exit
 -x, --overwrite overwrite existing results (Default: False)
 -d, --debug debug? (Default: False)
 -o OUTDIR, --output OUTDIR
 Output dir for CSV (Default: ./data/)
 -c, --csv CSV output? (Default: False)
 -b, --buildReport report output? (Default: False)
 -r CONFFNAME, --reportConfig CONFFNAME
 Report config file, if none exists: we will write the
 default config file out (Default: ./report.config)

该工具有两个主要的选项

  1. 将 nmon 文件传唤成一系列独立的 CSV 文件

  2. 使用 matplotlib 生成带图形的 HTML 报告

下面命令既会生成 CSV 文件,也会生成 HTML 报告:

$ ./pyNmonAnalyzer.py -c -b test.nmon

这会创建一个 ./data 目录,其中有一个存放 CSV 文件的目录 (./data/csv/),一个存放 PNG 图片的目录 (./data/img/) 以及一个 HTML 报告 (./data/report.html)。

默认情况下,HTML 报告中会用图片展示 CPU、磁盘繁忙程度、内存使用情况和网络传输情况。所有这些都定义在一个不言自明的配置文件中 (report.config)。目前这个工具还不是特别的灵活,因为 CPU 和 MEM 除了on 和 off 外,无法做其他的配置。不过下一步将会改进作图的方法并允许用户灵活地指定针对哪些数据使用哪种作图方法。

目前这些报告还十分的枯燥而且只能打印出基本的几种标记图表,不过它的功能还在不断的完善中。目前在开发的是一个向导来让配置调整变得更容易。如果有任何建议,找到任何 bug 或者有任何功能需求,欢迎与我交流。


相关文章

GPT4不限制使用次数了!GPT5即将推出了!

GPT4不限制使用次数了!GPT5即将推出了!

今天 GPT玩家 登录到ChatGPT Plus账户,出现了如下提示:With DALL·E,browing and analysis Usage limits may apply已经没有了数量和时间...

SSH无密码登录:只需两个简单步骤 (Linux)

SSH无密码登录:只需两个简单步骤 (Linux)

如果你管理一台Linux服务器,那么你就会知道每次SSH登录时或者使用scp复制文件时都要输入密码是一个多么繁琐的过程.这篇教程介绍使用SSH Key来实现SSH无密码登录,而且使用scp复制文件时也...

V2Ray使用教程:节点搭建、配置及软件下载方法

V2Ray使用教程:节点搭建、配置及软件下载方法

V2Ray是一个可以帮助在一些互联网信息受到限制的国家的网络用户突破限制的代理软件,从而使他们能够正常访问那些因被限制或屏蔽而不能访问的网站,诸如谷歌、推特、脸书、YouTube、Instagram等...

Linux下的计划任务--crontab

Linux下的计划任务--crontab

一、cron服务cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。service crond start //启动服务 service&n...

SSH 隧道

SSH 隧道

1. 什么是 SSH 隧道SSH 隧道是 SSH 中的一种机制,它能够将其他 TCP 端口的网络数据通过 SSH 连接来转发,并且自动提供了相应的加密及解密服务。因为 SSH 为其他 TCP 链接提供...

linux下三种开机自启动服务的方式总结

linux下三种开机自启动服务的方式总结

方法1:.利用ntsysv命令进行设置,利用root登陆终端命令下输入ntsysv 回车;如下图a在这个界面上进行操作即可,简要的操作说明:括号中(*)代表默认开机启动,否则不会在开机的时候启动;按钮...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。