
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 nmon
debe 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 nmon
descubrí 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 nmon
Para Red Hat Enterprise Linux o CentOS, nmon
Disponible en Paquetes adicionales para Enterprise Linux (EPEL) repositorio.
Instalar en pc nmon
primero habilite EPEL:
$ sudo dnf -y install \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ sudo dnf repolist
luego instalar nmon
utilizar dnf
:
$ sudo dnf -y install nmon
ahora 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 nmon
Verá 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 -t
Ejecute este comando:
$ nmon -f -s60 -c60 -t
El 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 -t
En 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.nmon
Dado 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,f35ks01
Ademá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 nmoncart
desde nmon
Página principal:
$ curl -LO http://sourceforge.net/projects/nmon/files/nmonchart40.tar
Luego extraiga el contenido del paquete usando tar
:
$ mkdir nmonchart
$ tar xvf nmonchart40.tar -C nmonchart
nmonchart
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 ksh
A 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 nmonchart
El 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 nginx
Si 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.