Nmon本地监控

Nmon, 是 Nigel's Monitor
的缩写,是一个使用很普遍的开源工具,用以监控 Linux 系统的性能。
例如:处理器的使用率、内存使用率、队列、磁盘I/O统计、网络I/O统计、内存页处理和进程信息。
源码安装
一.安装编译依赖库
yum -y install gcc gcc-c++ ncurses-devel
二.下载 lmon.c) & makefile
三.硬链接lmon.c
ln lmon15h.c lmon.c
四.根据模板makefile针对发行版修改
如:CentOS6.5 x64
cp makefile{,.bak}
cat >makefile <<HERE
# NOTE: link
the curent working copy of the code to lmon.c for
compiling
CFLAGS=-g
-O3 -D JFS -D GETUSER -Wall -D LARGEMEM -lm
# CFLAGS=-g
-O2 -D JFS -D GEER -Wall -D POWER
#CFLAGS=-g
-D JFS -D GETUSER
LDFLAGS=-lncurses -g
FILE=lmon.c
nmon_x86_64_rhel65:
$(FILE)
gcc -o
nmon_x86_64_rhel65 $(FILE) $(CFLAGS) $(LDFLAGS) -D
X86 -D
KERNEL_2_6_18
HERE
五.编译
make
执行完成后会生成二进制文件nmon_x86_64_rhel65
二进制包
下载对应平台最新的二进制包集合,解压后执行对应发行版的二进制文件即可(请确保有可执行权限)
语法

CPU、内存、磁盘和网络的消耗情况
生成nmon报告
1.采集数据
./nmon_x86_64_rhel65 -s10
-c60 -f -m /root/
-s10 每 10 秒采集一次数据。
-c60 采集 60 次,即为采集十分钟的数据。
-f 生成的数据文件名中包含文件创建的时间。
-m 生成的数据文件的存放目录。
这样就会生成一个 nmon 文件,并每十秒更新一次,直到十分钟后。
生成的文件名如: db2_151015_1032.nmon ,db2是这台主机的主机名。
2.生成报表
工具一:nmon analyser
zip文件解压后有一个带宏的excel和说明文档, 运行excel需要office
2007及以上版本且要启用宏,如果宏不能运行,需要做以下操作:
工具 -> 宏 -> 安全性 ->
中,然后再打开文件并允许运行宏。
点击 Excel 文件中的 "Analyze nmon data" 按钮,选择 nmon
数据文件,这样就会生成一个分析后的结果文件: db2_151015_1032.nmon.xlsx ,用 Excel
打开生成的文件就可以看到结果了。
ln nmon2rrd_21.c nmon2rrd.c
gcc nmon2rrd.c -o nmon2rrd
语法
nmon2rrd -f nmonfile [-d directory]
[-x] [-n files] [-g] [-w width] [-h height]
Version:20a
Example:
需要安装rrdtool
yum -y install rrdtool
生成rrdtool报表命令到web服务器的指定目录
./nmon2rrd -f db2_151015_1032.nmon -d /usr/local/nginx/html/
-x
3.自动按天采集数据
在 crontab 中增加一条记录:
0 0 * * * root /root/nmon_x86_64_rhel65 -s300
-c288 -f -m /root/ > /dev/null 2>&1
300*288=86400 秒,正好是一天的数据。
有兴趣的朋友还可以通过脚本定期更新