• 服务端监控工具 nmon的安装和使用


    一、前言

      之前了解了grafana监控服务器性能,想着多了解些其他工具,于是就着手查找了nmon的资料。

    二、简介

      nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面,

    并且能输出结果到文件中,然后通过nmon_analyzer工具产生数据文件与图形化结果。另外,它并不会消耗大量的 CPU 周期,通常低于百分之二;在更新的计算机上,其CPU使用率将低于百分之一。

    1、nmon可监控的数据类型

    内存使用情况

    磁盘适配器

    文件系统中的可用空间

    CPU使用率

    页面空间和页面速度

    异步I/O,仅适用于AIX

    网络文件系统(NFS)

    磁盘I/O速度和读写比率

    服务器详细信息和资源

    内核统计信息

    消耗资源最多的进程

    运行队列信息

    2、特点

    ①、占用系统资源少(一般不到2%)

    ②、功能强大(监控数据类型全面)

    ③、结合grafana之类的仪表图,可以更直观的实时展示所监控的数据

    ④、移植性、兼容性较好

    三、安装下载

    1、官方地址:http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

    2、通过xftp把文件上传到服务器(rz)

    3、解压授权

    解压命令:tar -zxvf 文件名.tar.gz

    给工具授权(相当于给文件的所有者增加可执行权限):chmod u+x 文件名

    四、运行nmon

    1、./nmon_x86_64_centos7

    完成上面的操作后,执行 ./nmon 命令,出现如下界面,说明安装成功:

    2、快捷命令

    输入如下命令后,效果如图

    # c
    查看CPU相关信息
    # m
    查看内存相关信息
    # d          
    查看磁盘相关信息
    # n          
    查看网络相关信息
    # t
    查看相关进程信息
    # h          
    查看帮助相关信息

    3、指标解读

    1)CPU(对应excel标签的‘CPU_ALL’)

    User% :显示在用户模式下执行的程序所使用的 CPU 百分比;

    Sys%:显示在内核模式下执行的程序所使用的 CPU 百分比;

    Wait%:显示等待 IO 所花的时间百分比;

    Idle%:显示 CPU 的空闲时间百分比;

    CPU%:CPU总体占用情况;
    CPU_ALL 表,的CPU%列取平均值即可---注意下图中红框中就是无效数据;

    2)磁盘设备占用(对应excel标签的‘DISKBUSY’)

    Disk %Busy Hostname:执行间隔时间列表;
    hdisknn:每个磁盘执行采样数据;(磁盘设备的占用百分比)
    DISKBUSY表,对于单磁盘服务器直接对SDA列取平均即可;多服务器的话看情况而定,如果只有一个磁盘有压力那么就选择那个磁盘即可,要是两个磁盘均有则要合起来取个平均;

    3)内存占用(对应excel标签的‘MEM’)

    MemTotal:显示当前服务器物理内存大小,本服务器有8063180 KB≈7874 MB左右。

    MemFree:显示当前服务器的空闲内存大小,本服务器有5052336 KB≈4934 MB左右。

    Buffers:显示当前服务器Buffer(在内存中要写到磁盘上的)缓存的大小,本服务器有459108 KB≈448 MB左右,注意,这里的数值仅是采集初期的静态值,具体Buffer的变化还需要看Sheet MEM。

    Cached:显示当前服务器Cache缓存的大小(从磁盘读取到内存的),本服务器有1032572 KB≈1008 MB左右。,这里的数值仅是采集初期的静态值,具体Buffer的变化还需要看Sheet MEM。

    SwapCached:显示当前服务器Swap空间已缓存的大小,本服务器尚未使用到Swap空间。

    SwapTotal:显示当前服务器Swap空间大小,本服务器有8385532 KB≈8189 MB左右。

    SwapFree:显示当前服务器Swap空闲空间大小,本服务器Swap空间都空闲。

    4)在MEM表里面使用如下公式计算出每行的内存使用率并进行取平均:

    (Memtotal - Memfree - cached - buffers)/Memtotal * 100即( =(B2-F2-K2-N2)/B2*100)

    通过分析内存使用率的趋势,可定位是否内存泄露情况。

    有人看到内存使用率是99%,就认为内存用满了,并没有区分内存分页是什么类型,这样武断的说内存用满了是不科学的。在AIX上主要关注的是计算内存占整个物理内存的百分比,linux上主要关注的是active内存占整个物理内存的百分比。

    5)网络(对应excel标签的‘NET’)

    read/write:本sheet显示系统中每个网络适配器的数据传输速率(千字节/秒)

    NET(MB) 网络占用是唯一需要转换为MB的而不是%

    找到eth0-total eth1-total中不为0的那列,取平均并除以1024。

    注意此处的write 相当于 nmon时时监控(直接执行并按n键)中的TRANS(OUT),read相当于RECVS(IN)

    五、采集数据(纯转发,未实操)

    nmon通过命令行启动监控,捕获服务器的各项数据,命令如下:

    ./nmon -ft -s 10 -c 60 -m /root/nmon 
    # 参数说明 
    -f   监控结果以文件形式输出,默认机器名+日期.nmon格式 
    -F   指定输出的文件名,比如test.nmon 
    -s   指的是采样的频率,单位为毫秒 
    -c   指的是采样的次数,即以上面的采样频率采集多少次 
    -m   指定生成的文件目录

    PS:一般来说不建议对稳定性测试使用nmon监控,因为生成的nmon文件超过10M时,分析工具会由于内存不足导致报错。

    如果必须进行的话,建议加大采样频次,降低采样次数(低于330次)。

    六、监控结果分析(纯转发,未实操)

    1、下载分析工具

    nmon监控捕获的信息,一般用nmon_analyser来进行分析。nmon_analyser 由IBM提供, 使用excel的宏命令分析加载生成excel图表,展示资源占用的各项信息。

    下载地址:https://community.ibm.com/community/user/legacy?lang=en#!/wiki/Power%20Systems/page/nmon_analyser

    下载你需要的版本,然后解压,解压后出现如下2个文件:

    2、使用nmon analyser工具

    打开.xlsm文件,点击Analyze nmon data,打开你需要进行分析的nmon监控文件:

    PS:如果提示分析文件不可用,从“工具-宏-安全性”启动宏,然后再次打开文件,即可使用该分析文件。

    3、生成各种图表数据

    通过分析工具生成的监控数据结果如下图:

     红色标注区域为采集的监控数据,选择自己需要的类型(比如cpu),然后筛选对应的服务Pid(比如1314),选择对应的数据类型(比如CPU使用率占比)。

    参考博客:https://www.cnblogs.com/imyalost/p/9689213.html

  • 相关阅读:
    82.Java集合学习之Collections与Arrays
    81.Java集合之TreeMap
    vuex 封装
    async awiat
    纯前端导入导出
    使用node搭建服务器
    node.js
    axios请求拦截器
    数据结构学习第十九天
    数据结构学习第十八天
  • 原文地址:https://www.cnblogs.com/Chilam007/p/16120740.html
Copyright © 2020-2023  润新知