一、nmon
nmon安装
- tar -xvf nmon16e_mpginc.tar.gz -C /u01/test/perf/monitor/nmon-C 后面接的是 你指定目录地址(记得先创建目录)
- 把解压后的命令复制一份到 linux /usr/bin 目录内方便后面在任何地方都可以运行命令mv nmon_x86_64_centos7 /usr/bin/nmon
- 执行nmon命令后,可以进入nmon的监控选项视图
- 键盘按 q 退出
- 键盘按下c后,可以实时监控到服务器CPU中每一个CPU核的使用信息
- 键盘按下l后,可以实时监控CPU的整体使用信息。此时显示的不再是单个CPU核的使用信息,而是所有CPU核整体的平均使用信息
- 键盘按下m后,可以实时监控到服务器的物理内存和虚拟内存的使用信息
- 键盘按下k后,可以实时监控到服务器的内核信息
- 键盘按下d后,可以实时监控到服务器的磁盘I/O的读写信息
- 键盘按下j后,可以实时监控到服务器的文件系统的相关信息
- 键盘按下n后,可以实时监控到服务器网卡流量的相关信息
- 键盘按下t后,可以实时监控top process的相关资源使用信息
nmon采集:
-
为了配合性能测试,我们往往需要将一个时间段内系统资源消耗情况记录下来
-
运行命令的时候,指定让他输出到某个位置
-
1. 创建一个临时文件夹, 用于保存 nmon 采集的数据
-
mkdir /tmp/nmon_logs
-
-
2. 运行 nmon 定时采集
-
nmon -f -N -m /tmp/nmon_logs -s 30 -c 120
-
-
参数含义
-
-f 按标准格式输出文件:_YYYYMMDD_HHMM.nmon
-
-N include NFS sections
-
-m 切换到路径去保存日志文件
-
-s 每隔n秒抽样一次,这里为30
-
采样频率 由你的测试场景决定
-
-
-c 取出多少个抽样数量,这里为120,即监控=120*(30/60/60)=1小时
-
根据小时计算这个数字的公式为:c=h*3600/s,比如要监控10小时,每隔30秒采样一次,则c=10*3600/30=1200
-
-
运行之后,后台运行过程。停止数据采集
-
ps -ef | grep nmon
-
kill -9 进程ID
-
nmon数据分析
-
通过工具进行可视化展示,一般可以使用nmon_analyser
-
nmon_analyser 由IBM提供, 使用excel的宏命令分析加载生成excel图表,展示资源占
-
下载地址:
-
http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser
-
直接下载: https://udomain.dl.sourceforge.net/project/nmon/nmon_analyser_v66.zip
-
-
注意事项
-
1. 不是所有公司 都提供额外的服务器给你去搭建监控看板
-
后续在做瓶颈分析的时候,需要 命令去做仔细的排查
-
缺点: nmon监控单机,集群下不方便去实时监控。
-
所以后续有条件,一定是 分布式集群的监控体系
-
二、prometheus监控体系
控制机器:
直接启动:
-
./prometheus --config.file=prometheus.yml
后台启动:
-
nohup ./prometheus --config.file=prometheus.yml > prom.log 2>&1 &
访问方式:
-
web访问方式: http://ip:9090 记得关闭服务器的防火墙
被控制机器:
下载:
-
https://github.com/prometheus/node_exporter/releases/tag/v1.3.1
前台启动
-
./node_exporter
后台启动
-
nohup ./node_exporter > node_exporter.log 2>&1 &
-
有日志在 node_exporter.log 文件
占用端口 9100
-
netstat -naop | grep 9100linux中查看端口号占用情况
修改配置文件 prometheus.yml 然后重启
三、Grafana 配置大屏
配置 prometheus 数据源
创建监控看板