Monitorear los servicios en Solaris es crucial para mantener el rendimiento y la disponibilidad del sistema.
Con el monitoreo diario de los recursos podríamos generar alertas tempranas para detectar posibles daños en el hardware, por ejemplo: en sectores de los discos duros, aumento de la temperatura del CPU, daños en la memoria.
En este post, exploraremos varios comandos útiles que le ayudarán a supervisar y gestionar los recursos de su servidor Solaris de manera eficiente.
Para una referencia completa sobre comandos se puede usar la documentación disponible para Oracle Solaris 11.
Tabla de Contenidos
- Buscar ayuda
- Conocer el servidor
- Verificar el uso del CPU
- Verificar el uso de la memoria
- Verificar el uso del espacio
- Verificar el uso de la red
- Verificar los procesos en ejecución
- Verificar el log de errores
- Monitor en modo gráfico
- Recomendaciones importantes
- Conclusión
Estos comandos para monitorear los servicios se listan a continuación:
Buscar ayuda
Aunque parezca irrelevante, siempre es muy importante conocer toda la funcionalidad de un comando y los parámetros que soporta, para ello usamos el comando man con el nombre del comando que queremos la información de ayuda o sino podemos hacer búsquedas agregando el parámetro -k en minúscula con una "palabra clave" sobre el comando con -K en mayúsculas vamos a encontrar la palabra clave en la descripción del comando:
$ man boot
$ 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 para cubrir en la totalidad los parámetros que estos comandos aceptan.
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/release
Obtener el nombre del servidor.
$ uname -a
Obtener identificación del servidor.
$ hostid
Saber el total de memoria física.
$ prtconf | grep Memory
Obtener la arquitectura del procesador.
$ isalist
Saber la cantidad de procesadores.
$ psrinfo -p
Saber el detalle de los procesadores virtuales, marca y velocidad.
$ psrinfo -pv
Verificar el uso del CPU
Necesitamos saber cómo 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 cuánto CPU está siendo usado a nivel de usuario, a nivel de sistema, cuando está inactivo en espera de la finalización de una operación de E/S 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 que queremos de estas muestras.
$ sar 5 10
Para tener una visión continua 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.
$ top
Verificar el uso de la memoria
Para saber el uso de la memoria usamos el comando vmstat que tiene como salida la memoria, paginación, discos, fallas 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. Permite contar las operaciones de lectura/escritura y los bytes de estas operaciones.
$ iostat 5 10
Verificar el uso del espacio
Para verificar el espacio asignado, usado y disponible de nuestro almacenamiento, usamos:
$ df -hk
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 para transmisión de paquetes:
$ netstat -f inet
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
Para conocer que procesos están siendo ejecutados en el sistema operativo con un porcentaje de uso, usamos el comando prstat, es muy parecido al comando top solamente que agrupa y hace un resumen de los procesos mostrando la cantidad total en la columna NLWP:
$ prstat
Verificar el log de errores
Para verificar los mensajes recientes que haya registrado el sistema, se usa:
$ dmesg
Si queremos ver todos los mensajes registrados en el sistema, usamos:
$ more /var/adm/messages
Para tener una salida continúa de los últimos mensajes a medida que van ocurriendo, usamos:
$ tail -f /var/adm/messages
Monitor en modo gráfico
Si tenemos acceso al escritorio del sistema operativo podemos usar 2 herramientas para monitorear de forma gráfica nuestro sistema.
Podemos ver información del sistema, los procesos del sistema, una visión gráfica de los recursos y el uso del sistema de archivos, desde el menú en el escritorio /Aplicaciones /Herramientas del Sistema /Supervisor del rendimiento.
Para ver todos los servicios que están siendo ejecutados en el sistema, desde el menú en el escritorio /Sistema /Administración /Servicios SMF
Recomendaciones importantes
Si dentro de sus tareas debe monitorear constantemente servidores, es recomendable realizar:
- Hacer un inventario: Tener un inventario de todos los recursos disponibles de los servidores.
- Documentar: Agregar las métricas en la documentación de los sistemas.
- Monitoreo permanente: Siempre monitorear los sistemas a través de scripts automatizados.
- Comprender el uso de las aplicaciones: A través del monitoreo de los recursos podemos determinar el comportamiento de las aplicaciones.
- Conservar las métricas históricas: Para poder tener una evolución del uso de los servidores, aquí se podría generar una pequeña base de datos junto con una herramienta de visualización como Power BI Desktop para poder verificar la evolución aplicación diferentes criterios de búsqueda.
Conclusión
Monitorear los servicios y recursos en Solaris es una tarea esencial para garantizar el buen funcionamiento y rendimiento de los servidores, especialmente aquellos servidores de producción o aquellos que presten un servicio de misión crítica dentro de la empresa. Con comandos como `sar`, `top`, `vmstat`, y `netstat`, los administradores de sistemas pueden obtener información detallada sobre el uso de CPU, memoria, espacio en disco y actividad de red. Además, herramientas gráficas como el Supervisor del rendimiento y el Servicios SMF proporcionan una visión más intuitiva del estado del sistema. Mantenerse familiarizado con estos comandos y herramientas asegura una administración eficiente y proactiva de los recursos del servidor Solaris.