一、nmon获取到.nmon数据文件(环境centos6)
1.安装nmon执行命令:
wget https://nchc.dl.sourceforge.net/project/nmon/nmon16d_x86.tar.gz
第二步:解压到一个指定的目录nmon16d_x86(先创建好)
第三步:对nmon_x86_64_centos6文件加入执行权限,再把该程序文件加入环境变量运行目录
chmod +x nmon_x86_64_centos6
mv nmon_x86_64_centos6 /usr/local/bin/nmon
第四步:运行nmon
nmon
q : 停止并退出 Nmon
h : 查看帮助
c : 查看 CPU 统计数据
m : 查看内存统计数据
d : 查看硬盘统计数据
k : 查看内核统计数据
n : 查看网络统计数据
N : 查看 NFS 统计数据
j : 查看文件系统统计数据
t : 查看高耗进程
V : 查看虚拟内存统计数据
v : 详细模式
...
第五步:生成.nmon文件
nmon -f -T -s 10 -c 60 -m /tmp
-f 参数:生成文件,文件名=主机名+当前时间.nmon
-T 参数:显示资源占有率较高的进程
-s 参数:-s 10表示每隔10秒采集一次数据
-c 参数:-c 60表示总共采集60次数据
-m 参数:指定文件保存目录
二、将.nmon数据文件转成csv文件(环境Windows):
python 安装3个包
pip install matplotlib numpy pyNmonAnalyzer
执行转成成csv文件的命令
pyNmonAnalyzer -c -x -o testOut -i blueking_200427_1454.nmon
-c 参数:-c 代表输出文件为csv
-x 参数:-x 覆盖,如果同名没有-x会执行命令报错
-o 参数:-o 输出文件 + 文件名
-i 参数:-i 输入文件名称
简单写了一个读取这些数据的demo
# -*- coding: utf-8 -*-
import os
path1 = os.getcwd() + '/testOut/csv/'
x = os.listdir(path1)
for i in x:
if i.endswith('.csv'):
with open(path1 + i, 'r') as f:
lines = f.readlines()
title = lines.pop(0)
print '==========================================='
print title
for m in lines:
print m
执行结果
后续可以设计表结构,将这些数据全部入库,再对这些数据进行处理,返回给前端展示。