在我们监控我们的操作系统的时候如果可以把各个硬件的监控信息生成形象化的分析报表图对于我们来说是件太好的事情了,而通过ibm的nom和nmon_analyser两者的结合完全可以实现我们的要求。首先对nmon和nmon_analyser做一个大概介绍。
Nmon 是一个分析aix和linux性能的免费工具(其主要是ibm为自己的aix操作系统开发的,但是也可以应用在linux操作系统上),而nmon_analyser是nmon的一个工具可以把nmon生成的报告转化成excel报表的形式供我们查看。下面先让我们饱下眼福,看下nmon_analyser生成的报表。(这样我们学习起来会有点动力,呵呵)
(cpu 和系统io 汇总图)
(磁盘读写io相关图)
只要安装nmon工具然后通过nmon_analyser把nmon生成的数据转化成excel格式的即可。下面开始讲nmon工具的安装和使用。
首先下载nmon软件http://nmon.sourceforge.net/pmwiki.php?n=Site.Download,打开这个网站下载符合自己操作系统的硬件的相关nmon版本的软件到linux本地。
[root@localhost source]# unzip nmon_x86_12a.zip
Archive: nmon_x86_12a.zip
inflating: nmon_x86_rhel45
inflating: nmon_x86_rhel52
inflating: nmon_x86_sles9
inflating: nmon_x86_sles10
inflating: nmon_x86_ubuntu810
inflating: nmon_x86_fedora10
inflating: nmon_x86_opensuse10
然后通过unzip解压软件,然后会到解压出来好多类型不同平台的二进制nmon,笔者这里的系统是nmon_x86_rhel52,所以给nmon_x86_rhel52文件执行权限,并且为了方便我们对其重命名。
[root@localhost source]# chmod u+x nmon_x86_rhel45
[root@localhost source]# mv nmon_x86_rhel45 nmon
[root@localhost source]# ./nmon
注意:nmon是个交互式程序,当我们执行nmon的时候会出现一个交互窗口,我们执行相关的命令就会出现相关的信息。
当我们执行[root@localhost source]# ./nmon后出现一个帮助信息,我们执行相关的命令,就会出现相关的信息了,比如这里我按c,就会显示cpu的相关信息
接下来我们紧接着按键盘m和n字母就会出现内存和网卡的相关信息了。
按q键,退出显示,其实就是这么简单。
接下来我们我们成我们想要的报表怎么来实现呢?
数据采集
运行带 -f 标志的 nmon 命令。有关详细信息,请参阅 nmon -h。但是作为示例,可以尝试运行下面的 nmon 命令来,告知 nmon 创建文件,并每隔 30 秒的时间进行一次数据收集,共采集 180 次(共计 1.5 个小时):
nmon -f -s 10 -c 60
-f 表示生成的数据文件名中有时间;
-s 10 表示每 10 秒采集一次数据;
-c 60 表示采集 60 次,10*60=600 秒,
刚好是 10分钟的数据,这样运行一次这个程序就会生成一个采集 10分钟数据的文件。该行命令将在当前目录中创建输出文件,其名称为:<hostname>_date_time.nmon", hostname" 是这台主机的主机名。
例如:
[root@localhost source]# hostname
linux_test
[root@localhost source]# ./nmon -f -s 10 -c 60
[root@localhost source]# ps -ef | grep nmon
root 17815 1 0 08:22 pts/1 00:00:00 ./nmon -f -s 10 -c 60
root 17888 6977 0 08:22 pts/1 00:00:00 grep nmon
[root@localhost source]# ls linux_test_120724_0822.nmon
linux_test_120724_0822.nmon
当我们执行相关命令后,就在当前目录生成了一个以本主机名linux_test开头,以执行日期为规则,nmon结尾的文件,并且我们通过ps命令会看到相关的nmon进程,这里我们当10分钟过去以后我们会发现相关nmon进程会消失的。
linux_test_120724_0822.nmon 就是我们所生成的数据文件,所有的信息都在linux_test_120724_0822.nmon记录,而且我们通过more命令后发现都是我们看不懂的一些文本,这就需要我们把其转化成我们能看懂的excel格式的文件。首先我们把linux_test_120724_0822.nmon文件导出到我们的windows本地。然后我们从http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser
下载nmonanalyser软件到windows本地。打开解压缩文件后,我们会发现2个文件,一个是nmonanalyse的说明word格式的说明稳定,另一个是excel格式的nmonanalyse文件。
我们这里所需要的就是excel格式问文件,我们双击打开。
接下来我们双击按钮导入我们刚才生成的linux_test_120724_0822.nmon即可