NMON es un sistema para monitorizar Linux y AIX, que nos permite ver en pantalla los diferentes indicadores de nuestro sistema operativo, o hacerlo de forma no interactiva guardando todos los datos a un CSV para luego procesar y graficar los datos recabados. Este post, escrito por Matías Fornara, veremos cómo utilizar esta herramienta, que la utilizamos en la mayoría de nuestras pruebas de performance en Abstracta cuando tenemos alguno de estos sistemas operativos en parte de la infraestructura.
NMON nos permite monitorizar:
- Uso de CPU.
- Uso de memoria.
- Estadísticas del kernel y de la cola de ejecución de procesos.
- I/O, transferencias, y tasas de lectura/escritura de los discos.
- Espacio libre en file systems.
- I/O, transferencias, y tasas de lectura/escritura de las interfaces de red.
- Paginado de memoria.
- Network File System (NFS).
Instalación de NMON
El proceso de instalación cambia dependiendo del sistema operativo, por lo que si usamos Debian/Ubuntu:
sudo apt-get install nmon
Para Fedora:
yum install nmon
Y si tenemos CentOS/RHEL, debemos instalar primero el repositorio EPEL.
yum install epel-release yum install nmon
Existe otra posibilidad que es descargar la versión correspondiente a nuestro SO desde aquí, descomprimir el archivo en algún directorio conveniente y darle permisos de ejecución con chmod x.
Como dijimos al principio existen 2 maneras de usar NMON, las cuales explicamos a continuación.
NMON Interactivo
Para iniciar NMON de esta manera solo ejecutamos el comando nmon, con lo cual veremos algo así:
Desde aquí podemos tener monitorización en vivo de varios componentes mediante los shortcuts que se muestran en pantalla. Los más utilizados son:
Utilización de CPU (Tecla c)
En esta gráfica de barras horizontales, las U representan el tiempo de usuario, las s el tiempo de sistema y las w el wait time. Los > registran los picos de CPU.
Consumo de Memoria (Tecla m)
En esta sección se pueden ver las métricas comunes de memoria, memoria total, memoria libre.
Tráfico de Red (Tecla n)
Métricas de Disco (Teclas d y D)
Utilizando la tecla d vemos la información de manera tabulada.
Pero si utilizamos D, lo podemos ver de manera similar al uso de CPU, es decir con gráficas de barra horizontal donde la W representa la escritura en disco y la R las lecturas, mientras que los > registran los picos.
NMON para Captura de Datos
Con NMON también podemos capturar la monitorización y volcarla a un archivo CSV que después podemos parsear con un un archivo Excel que nos provee NMON. Para esto lo que usualmente se hace es ejecutar el NMON con algunas banderas:
- -f : para especificar que vamos a volcar las estadísticas a un archivo.
- -s : para configurar el período de muestreo.
- -c : para configurar la cantidad de minutos por la que se va a recabar datos.
- -t : para incluir los procesos que figuran en el top.
Usualmente nosotros ejecutamos la siguiente línea:
nmon -s 15 -ft -c 9999
De esta manera se guardan los datos hasta que decidamos terminar el proceso (normalmente luego de finalizada la ejecución de una prueba en particular). Para hacer esto, hacemos lo siguiente:
ps ax | grep nmon kill -9 <PID de NMON>
Esta manera de ejecutar NMON genera un archivo del tipo hostname_date_time.nmon en el directorio donde se haya instalado NMON.
Análisis de Logs de NMON con NMON Analyzer
Luego de haber generado el archivo CSV del que hablamos antes, debemos procesar dicho archivo para generar gráficas que podamos analizar. Para este propósito NMON nos brinda NMON Analyzer, que es un archivo Excel desde el cual vamos a abrir los archivos generados por NMON de la siguiente forma:
Abrimos el Excel y en la pestaña ¨Analyzer¨, seleccionamos ¨Analyze nmon data¨ (antes debemos habilitar el contenido y la edición de Excel):
Luego elegimos el archivo NMON y dejamos que se procese:
Una vez terminado nos dará la opción de guardar el archivo en formato Excel conteniendo las distintas gráfica separadas por pestaña.
Análisis de Logs de NMON con NMON Visualizer
Otra herramienta interesante es NMONVisualizer, que funciona de manera similar al Excel pero con una interfaz más amigable.
La gran ventaja que otorga esta herramienta es que permite cargar varios archivos de NMON a la vez, por lo cual en el caso de que tuviéramos, por ejemplo, un grupo de balanceo, podemos cargar varias monitorizaciones y realizar un análisis comparativo entre ellas. Otra característica que esta herramienta provee y el Excel no, es la capacidad de filtrar por rangos de tiempo específicos.
Cerrando
Por lo que mostramos en este post, podemos utilizar NMON para monitorizar Linux y AIX de forma gratuita y muy fácil de instalar. Podemos hacer esto tanto en forma interactiva, viendo qué está pasando en cada momento, o también podemos guardar los datos de cierta ventana de tiempo en un archivo CSV que luego podemos utilizar para graficar. Entendemos que NMONVisualizer es la mejor opción a la hora de interpretar las métricas de NMON, especialmente si necesitamos filtrar o comparar distintos archivos.
Tengo ubuntu server 18.04.1 y al querer instalar nmon me arroja esto:
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
E: No se ha podido localizar el paquete nmon
Hola Miguel, parece como que no tuvieras actualizados ël repositorio, intentá hacer un ¨sudo apt-get update¨ antes de instalarlo.
Si eso no funciona, podés fijarte si en ¨Software & Updates¨ en la sección ¨Downloadabl from internet¨ tenés que tener las primera 4 opciones seleccionadas.
Cualquier cosa volvé a preguntar acá.
Saludos!
Matias.
Buenas tardes, disculpa la pregunta en tu conocimiento sabes si es posible instalar nmon en windows server
Hola Alexander
nmon es para sistemas basados en linux y AIX, así que no lo veo viable.
Gracias Matías!. muy buena presentación de la aplicación. es justo lo que necesitaba.
Saludos!
The way you put together the information on your posts is commendable. I would highly recommend this site. You might also want to check my page QU6 for some noteworthy inputs about Airport Transfer.