当前位置: 首页 > 科技观察

NmonAnalyzerforPython:让你远离Excel宏_0

时间:2023-03-13 23:10:55 科技观察

Nigel的监视器,也称为“Nmon”,是一个很好的工具,用于监视、记录和分析Linux/*nix系统随时间的性能。Nmon最初由IBM开发,并于2009年夏天开源。如今,Nmon可用于所有Linux平台和架构。它提供了一个基于命令行的实时可视化报告,包括CPU、RAM、网络和磁盘I/O等重要的当前系统统计信息。然而,Nmon的最佳特性是能够随时间记录系统性能的快照。例如:nmon-f-s1.nmonCPU和磁盘利用率创建一个日志文件,该文件以一些系统元数据(AAA-BBBV部分)开头,然后是受监视系统属性(例如CPU和内存使用情况)的定时快照。此输出文件很难由电子表格应用程序直接处理,因此Nmon_Analyzerexcel宏。如果您使用的是Windows/Mac并安装了MicrosoftOffice,则此工具非常有用。如果没有这个环境,也可以使用Nmon2rrd工具,它可以将日志文件转换成RRD输入文件生成图形。这个过程是严格的,有点麻烦。现在有一个更灵活的工具,我向您介绍pyNmonAnalyzer,它提供了一个可定制的解决方案来生成结构化CSV文件和简单的HTML报告,其中包含使用matplotlib生成的图像。GettingStarted介绍系统要求:从名字就可以看出我们需要python。另外pyNmonAnalyzer还依赖matplotlib和numpy。如果你使用的是debian衍生系统,你需要先安装这些包:$sudoapt-getinstallpython-numpypython-matplotlib获取pyNmonAnalyzer:你可以克隆git存储库:$gitclonegit@github.com:madmaze/pyNmonAnalyzer.git或者,直接从这里下载:pyNmonAnalyzer-1.0.zip。(LCTT译注:这是5年前的项目,但一直在持续维护)接下来我们需要一个Nmon文件,如果没有,可以使用发行版中提供的示例或者自己录制一个示例:nmon-Ftest.nmon-s1-c120,会记录120张快照,每秒一张,保存在test.nmon文件中。看一下基本的帮助信息:$./pyNmonAnalyzer.py-husage:pyNmonAnalyzer.py[-h][-x][-d][-oOUTDIR][-c][-b][-rCONFFNAME]input_filenmonParser将Nmon监视器文件转换为时间排序的CSV/电子表格以便于分析,而无需使用MSExcel宏。还包括一个选项,用于构建带有图形的HTML报告,该选项通过report.config.positional配置输入参数:input_fileNMON文件可选参数:-h,--help显示此帮助消息并退出-x,--overwrite覆盖现有结果(默认值:False)-d,--debug调试?(默认值:False)-oOUTDIR,--outputOUTDIRCSV的输出目录(默认值:./data/)-c,--csvCSV输出?(默认值:False)-b,--buildReport报告输出?(默认:False)-rCONFFNAME,--reportConfigCONFFNAME报告配置文件,如果不存在:我们将写出默认配置文件(默认:./report.config)该工具有两个主要选项将nmon文件作为一系列单独的CSV文件使用matplotlib生成带有图形的HTML报告以下命令将生成CSV文件和HTML报告:$./pyNmonAnalyzer.py-c-btest.nmon这将创建一个./data目录,其中包含CSV文件目录(./data/csv/)、PNG图像目录(./data/img/))和HTML报告(./data/report.html)默认情况下,HTML报告以图形方式显示CPU、磁盘繁忙度、内存使用情况和网络流量。所有这些都在一个不言自明的配置文件(report.config)中定义。目前此工具不是特别灵活,因为CPU和MEM无法配置,只能打开和关闭。但是,下一步将改进绘图方法,并允许用户灵活指定针对哪些数据使用哪种绘图方法。目前,这些报告还很枯燥,只能打印出几个基本的标记图表,但其功能仍在完善中。目前正在开发的是一个使配置调整更容易的向导。如果您有任何建议,发现任何错误或有任何功能要求,请随时与我沟通。