Buscar ayuda
Es muy importante antes de usar algún comando conocer toda la funcionalidad disponible de este, junto con los parámetros que soporta. Para ello, usamos el comando man con el nombre del comando que queremos conocer su utilización. Así; por ejemplo, si queremos conocer la utilidad del comando shutdown, escribimos:
$ man shutdown
El comando man permite también hacer búsquedas dentro de todas las entradas de ayuda que posee agregando el parámetro -k (en minúscula) con una "palabra clave" ... busca las coincidencias sobre las entradas. Usando el parámetro -K (en mayúscula) vamos a encontrar la palabra clave en la descripción de los comandos con coincidencia en su documentación de forma iterativa:
$ man -k palabra_clave
$ man -K palabra_clave
Se recomienda que para cada uno de los comandos que vamos a ver en este artículo se verifique su documentación usando el comando man para cubrir en totalidad los parámetros que estos comandos aceptan. Consideremos esto a modo de ejercicio para mejorar nuestro aprendizaje sobre CentOS 7.
Conocer el servidor
Los siguientes comandos nos permiten obtener información general del servidor que vamos a revisar.
Obtener la fecha/hora del sistema.
$ date
Obtener la versión del sistema operativo.
$ cat /etc/redhat-release
Obtener la versión completa del sistema operativo, arquitectura de los procesadores y el nombre del servidor.
$ uname -a
Obtener el nombre del servidor.
$ hostname
Obtener la identificación del servidor.
$ hostid
Saber el total de memoria física.
$ grep MemTotal /proc/meminfo
Para saber el total de memoria física, también se puede usar.
$ lshw -c memory
Saber el total de la memoria swap.
$ grep SwapTotal /proc/meminfo
Obtener la arquitectura del procesador.
$ lscpu | grep Architecture
Saber la cantidad de procesadores. vendedor, modelo y cores por socket.
$ cat /proc/cpuinfo
Verificar el uso del CPU
Necesitamos saber como está siendo usado el CPU de una forma global.
El reporteador de la actividad del sistema llamado sar, es una utilidad que nos permite saber cuanto CPU está siendo usando a nivel de usuario (%user), a nivel de usuario con prioridad (%nice), a nivel de sistema (%system), porcentaje de espera en operaciones de entrada/salida (%iowait), el porcentaje que es utilizado por el hypervisor entre procesadores virtuales (%steal) y cuando porcentaje de CPU hay disponible (%idle). El resultado de este comando es una instantánea (fotografía) que indica como está funcionando nuestro equipo; a este resultado le vamos a llamar muestra. Este comando puede recibir 2 parámetros numéricos, el primero es el intervalo en segundos que queremos obtener entre muestra y muestra, el segundo es la cantidad de muestras que queremos.
$ sar 5 10
Para tener una visión repetida de intervalos de tiempo del uso de los recursos para cada proceso del sistema usamos el comando top. Este comando da un resultado continuo, para detenerlo presionamos la letra q de quit. También muestra un resumen de como se encuentran los procesos en la parte superior del resultado de este comando.
$ top
Verificar el uso de la memoria
Para saber el uso de la memoria usamos el comando vmstat que tiene como salida la memoria RAM, memoria SWAP, los bloques enviados/recibidos en las operaciones de entrada/salida, sistema y cpu. También se obtiene como una instantánea, el primer parámetro es el tiempo en segundos del intervalo entre las muestras y el segundo es la cantidad de muestras.
$ vmstat 2 5
Es una utilidad para obtener métricas sobre la actividad al terminal, discos, tape y el uso del CPU. El resultado que muestra es el número de transferencias por segundo que fueron realizas al dispositivo, indica los KBytes en las operaciones de entrada/salida y la cantidad de bloques en las operaciones de entrada/salida.
$ iostat 5 10
Verificar el uso del espacio
Para verificar el espacio asignado, usado y disponible de nuestro almacenamiento, usamos:
$ df -kh
Verificar el uso de la red
Para mostrar el estado de la red, usamos netstat, este comando acepta varios parámetros al igual que los que ya vimos para cpu y memoria. Dependiendo de lo que queremos verificar.
Estadísticas por protocolo:
$ netstat -s
El estado de las interfaces de red:
$ netstat -i
Estadísticas continuas cada segundo:
$ netstat -c
Para monitorear los puertos abiertos:
$ ss -tulpn
Verificar los procesos en ejecución
Para tener un listado con el detalle de los procesos/servicios que están siendo ejecutados, usamos:
$ ps -ef
Verificar el log de errores
Para verificar los mensajes recientes que hayan sido enviados por el kernel, se usa:
$ dmesg -H
Si queremos ver todos los mensajes registrados en el sistema, usamos:
$ sudo more /var/log/messages
Para tener una salida continúa de los últimos mensajes a medida que van ocurriendo, usamos:
$ sudo tail -f /var/log/messages
Monitor en modo gráfico
Si tenemos acceso al escritorio del sistema operativo podemos ver información: de los procesos del sistema, una visión gráfica de los recursos y el uso del sistema de archivos. Para visualizar este pantalla, desde el menú en el escritorio usamos la opción /Aplicaciones /Herramientas del Sistema /Monitor del Sistema.
Conclusión
Monitorear servicios y recursos en CentOS es una tarea fundamental para asegurar el rendimiento y estabilidad del sistema. Utilizando comandos como `top`, `sar`, `vmstat`, y `netstat`, los administradores pueden obtener una visión detallada del uso de CPU, memoria, almacenamiento y red. Estos comandos proporcionan información crítica para el diagnóstico y resolución de problemas, permitiendo una gestión proactiva y eficiente del entorno de servidor. Implementar estos comandos regularmente garantiza que el sistema opere de manera óptima y facilita la identificación rápida de posibles problemas.