
El monitor de Nigel (nmon) es una herramienta de supervisión del rendimiento del sistema desarrollada originalmente por IBM para el sistema operativo AIX y luego adaptada a varias arquitecturas de CPU en Linux.
principales beneficios nmon Sí, le permite monitorear diferentes aspectos de su sistema, como la utilización de la CPU, la memoria, el disco ocupado, la utilización de la red, etc. en una vista concisa.no nmondebe usar herramientas de monitoreo especializadas como top Para el proceso, iostat para discos y ifstat Se utiliza para la supervisión de red de varios recursos. Cada uno de ellos presenta los datos de una manera diferente.
solía nmon Primera vez como administrador del sistema AIX hace unos 10 años.mediante el uso nmon, pude solucionar algunos problemas difíciles de encontrar, incluido lo que inicialmente parecían cuellos de botella en la red.Verifique múltiples recursos al mismo tiempo usando nmondescubrí que era un problema de la aplicación causado por tener demasiados archivos abiertos.
Además de monitorear interactivamente su sistema, también puede usar nmon Recopile y guarde datos de rendimiento en modo por lotes para su análisis.Para más información nmon Para Linux, vea el proyecto Página web oficial.
Este artículo analiza esta poderosa herramienta de monitoreo. Comience por instalarlo.
instalar nmon
nmon Disponible en los repositorios predeterminados de muchas distribuciones de Linux. Por ejemplo, para instalarlo usando DNF en Fedora 35:
$ sudo dnf -y install nmonPara Red Hat Enterprise Linux o CentOS, nmon Disponible en Paquetes adicionales para Enterprise Linux (EPEL) repositorio.
Instalar en pc nmonprimero habilite EPEL:
$ sudo dnf -y install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ sudo dnf repolistluego instalar nmon utilizar dnf:
$ sudo dnf -y install nmonahora has instalado nmonúselo para monitorear su sistema.
Usar nmon de forma interactiva
Después de instalar la aplicación, puede monitorear el sistema de forma interactiva ejecutando nmonVerá una pantalla de inicio con información del sistema y un pequeño menú de ayuda que muestra qué teclas puede presionar para cambiar entre las diferentes métricas:
$ nmon
┌─16k──[H for help]──Hostname=f35ks01─Refresh= 2secs ─18:04:27────┐
│ │
│------------------------------ │
│ _ __ _ __ ___ ___ _ __ For help type H or ... │
│| '_ \| '_ ` _ \ / _ \| '_ \ nmon -? - hint │
│| | | | | | | | | (_) | | | | nmon -h - full details │
│|_| |_|_| |_| |_|\___/|_| |_| │
│ To stop nmon type q to Quit │
│------------------------------ │
│ │
│Fedora release 35 (Thirty Five) VERSION="35 (Thirty Five)" │
│Vendor=AuthenticAMD Model=AMD EPYC-Milan Processor │
│MHz=1911.004 bogomips=3822.00 lscpu:CPU=4 Little Endian │
│ProcessorChips=4 PhysicalCores=1 Sockets=4 Cores=1 Thrds=1│
│ VirtualCPUs =4 MHz=0 max=0 min=0 │
│ │
│Use these keys to toggle statistics on/off: │
│ c = CPU l = CPU Long-term - = Faster screen updates│
│ C = " WideView U = Utilisation + = Slower screen updates│
│ m = Memory V = Virtual memory j = File Systems │
│ d = Disks n = Network . = only busy disks/procs│
│ r = Resource N = NFS h = more options │
│ k = Kernel t = Top-processes q = Quit │
│─────────────────────────────────────────────────────────────────│Por ejemplo, presione C Alternar visualización de utilización de la CPU:
┌─16k──[H for help]──Hostname=f35ks01─Refresh= 2secs ─18:05:58─┐
│ CPU Utilisation ─────────────────────────────────────────────│
│---------------------------+---------------------------------+│
│CPU User% Sys% Wait% Idle|0 |25 |50 |75 100| │
│ 1 3.6 17.2 0.0 79.2|Ussssssss> | │
│ 2 2.1 6.2 0.0 91.7|Usss > | │
│ 3 0.0 1.1 0.0 98.9| > | │
│ 4 6.1 17.2 0.0 0.5|UUUssssssss> | │
│---------------------------+---------------------------------+│
│Avg 3.0 10.3 0.0 86.7|Usssss> | │
│---------------------------+---------------------------------+│
│──────────────────────────────────────────────────────────────│urgente norte Alterne la visualización de la red y apílela automáticamente debajo de la visualización de la CPU:
┌─16k──[H for help]──Hostname=f35ks01─Refresh= 2secs ─18:17:01─┐
│ CPU Utilisation ─────────────────────────────────────────────│
│---------------------------+---------------------------------+│
│CPU User% Sys% Wait% Idle|0 |25 |50 |75 100| │
│ 1 2.6 10.3 0.0 87.1|Usssss > | │
│ 2 0.0 2.2 0.0 97.8|s > | │
│ 3 6.5 11.0 0.0 82.5|UUUsssss> | │
│ 4 0.0 0.5 0.0 99.5| > | │
│---------------------------+---------------------------------+│
│Avg 2.4 5.9 0.0 91.6|Uss > | │
│---------------------------+---------------------------------+│
│ Network I/O ─────────────────────────────────────────────────│
│I/F Name Recv=KB/s Trans=KB/s p_in p_out in_sz out_sz Peak->..│
│ lo 0.0 0.0 0.0 0.0 0.0 0.0...│
│ enp1s0 0.0 0.0 0.5 0.0 52.0 0.0...│
│ enp7s0 218.6 5923.4 3335.5 9989.68 67.1 607.2...│
│ Network Error Counters ──────────────────────────────────────│
│I/F Name iErrors iDrop iOverrun iFrame oErrors oDrop oOver..│
│ lo 0 0 0 0 0 0 ...│
│ enp1s0 0 34419 0 0 0 0 ...│
│ enp7s0 0 34419 0 0 0 0 ...│
│──────────────────────────────────────────────────────────────│Continúe presionando otras teclas para apilar otras métricas en la misma vista.Por ejemplo, use D Para E/S de disco, Metro para la memoria, y Tonelada para procesos de primer nivel.
Además de apilar nuevos monitores, puede presionar la tecla de punto o punto (.) para mostrar solo las CPU y los discos ocupados, y + y – Aumente o disminuya el tiempo de actualización de la pantalla.utilizar H Mostrar ayuda.
Debido a que puede habilitar y deshabilitar diferentes monitores y métricas en cualquier momento, nmon es una herramienta altamente flexible que le ayuda a comprender el comportamiento de su sistema. También ayuda a resolver problemas mostrando diferentes métricas al mismo tiempo, brindando una visión holística del sistema y mejorando su capacidad para comprender los problemas.
Cuando haya terminado, presione pedir Salga y termine la sesión de monitoreo.
Recopilar datos de rendimiento
Además de proporcionar una vista interactiva general del sistema, puede ejecutar nmon Recopile datos de rendimiento a largo plazo de su sistema en modo por lotes para su posterior análisis.
Además de las métricas en tiempo real proporcionadas por el modo interactivo, esta función le permite comprender cómo se comporta el sistema durante un período de tiempo prolongado. Esta es una característica poderosa que permite la planificación de la capacidad y la oportunidad de resolver problemas esporádicos que son difíciles de detectar en tiempo real.
Correr nmon Banderas de uso masivo -f al iniciar la aplicación. Debe ser el primer parámetro proporcionado. por defecto, nmon Los datos se recopilan cada cinco minutos durante un día.Puede cambiar estos valores predeterminados especificando parámetros -s Para el intervalo de recolección y -c por el número de instantáneas.
Por ejemplo, para habilitar nmon En el modo por lotes, los datos se recopilan cada minuto durante una hora, incluida la captura de procesos de nivel superior -tEjecute este comando:
$ nmon -f -s60 -c60 -tEl indicador de su terminal regresará inmediatamente porque la aplicación se ejecuta en segundo plano cuando ejecuta este comando.Puedes verlo funcionando usando ps:
$ ps -ef | grep nmon
ricardo 1849 1 0 12:27 pts/0 00:00:00 nmon -f -s60 -c60 -tEn modo por lotes, nmon Guarde los datos recopilados en formato de valores separados por comas (CSV) con la extensión .nmon En el directorio actual:
$ ls -l
total 36
-rw-r--r--. 1 ricardo ricardo 36395 Feb 13 12:28 f35ks01_220213_1227.nmonDado que se trata de un archivo CSV, puede procesarlo con otras herramientas de línea de comandos de manipulación de texto de Linux o abrirlo con un software de hoja de cálculo para un análisis más detallado.
$ head f35ks01_220213_1227.nmon
AAA,progname,nmon
AAA,command,nmon -f -s60 -c60 -t
AAA,version,16k
AAA,disks_per_line,150
AAA,max_disks,256,set by -d option
AAA,disks,10,
AAA,host,f35ks01
AAA,user,ricardo
AAA,OS,Linux,5.16.8-200.fc35.x86_64,#1 SMP PREEMPT Tue Feb 8 20:58:59 UTC 2022,x86_64
AAA,runname,f35ks01Además de estos métodos, nmon El equipo de desarrollo proporciona un script para convertir estos datos en un gráfico que puede visualizar mediante un navegador web. A continuación voy a ver cómo hacer esto.
[ It wouldn’t be Linux if there weren’t a dozen ways to perform any task. For info on the various ways to install software, download this guide to installing applications on Linux. ]
Generar gráfico
CSV es un formato flexible que le permite exportar, analizar y ver estos datos utilizando diferentes aplicaciones, como el software de procesamiento de hojas de cálculo.Esta nmon desarrollador creado nmonchart Hazlo un poco más fácil. Este script de shell convierte estos datos a HTML utilizando Google Charts JavaScript para visualizar e interactuar con los datos en un entorno gráfico.
utilizar nmoncartdesde nmon Página principal:
$ curl -LO http://sourceforge.net/projects/nmon/files/nmonchart40.tarLuego extraiga el contenido del paquete usando tar:
$ mkdir nmonchart
$ tar xvf nmonchart40.tar -C nmonchartnmonchart utilizar hoja de maíz (ksh), por lo que para crear un gráfico, primero instale ksh utilizar en su sistema dnf:
$ sudo dnf install -y kshA continuación, convierte .nmon archivo creado cuando se ejecuta nmon Use este comando en modo por lotes:
$ ./nmonchart/nmonchart f35ks01_220213_1227.nmon El script crea un archivo HTML con el mismo nombre que la fuente .nmon documento.Alternativamente, puede proporcionar el nombre de archivo de destino como el segundo parámetro nmonchart. Aquí hay un ejemplo:
$ ls -lg
total 4164
-rw-r--r--. 1 ricardo 113822 Feb 14 18:52 f35ks01_220213_1227.html
-rw-r--r--. 1 ricardo 93436 Feb 13 13:26 f35ks01_220213_1227.nmon
drwx------. 2 ricardo 4096 Aug 28 2020 nmonchartEl diagrama de su sistema ya está listo. Su próximo paso es mirarlos.
[ Get the Bash shell scripting cheat sheet. ]
Visualizar gráficos de rendimiento
nmonchart Crear un archivo HTML para cada archivo .nmon El archivo de origen que proporciona, que incorpora la biblioteca JavaScript de gráficos necesaria. Si tiene el archivo HTML en su computadora local, visualícelo directamente en su navegador web.
También puede servir estos archivos usando un servidor web. Una de mis formas favoritas es usar Nginx en un contenedor Podman, como sugiero en Agregar 20 comandos de Linux de una línea a su caja de herramientas.
Primero, cree un directorio y mueva los archivos HTML allí:
$ mkdir html
$ mv f35ks01_220213_1227.html html/Luego usa Podman de html Directorio usando Nginx en el puerto 8080:
$ podman run --rm -v ./html:/usr/share/nginx/html:ro,Z -p 8080:80 -d nginxSi es necesario, abra el puerto 8080 en el firewall del servidor para permitir el tráfico:
$ sudo firewall-cmd --add-port 8080/tcp luego apunta tu navegador a tu url http:// Mira el gráfico:
Haga clic en cualquier botón en la parte superior de la pantalla para ver el gráfico correspondiente. Los gráficos son interactivos. Puede acercar y alejar para ver más datos granulares, o pasar el cursor sobre el gráfico para ver datos detallados para un momento determinado.
envolver
nmon es una aplicación de monitoreo de sistema flexible y poderosa que lo ayuda a comprender mejor su sistema y solucionar problemas cuando surgen. Combina la capacidad de monitorear y consolidar datos en tiempo real de recursos dispares del sistema con la recopilación y el análisis de datos de rendimiento a largo plazo, lo que la convierte en una excelente herramienta para el administrador del sistema.







