Ver todos los artículos

Comandos para monitorear servicios en Solaris

Dependiendo del uso que le demos a un servidor con sistema operativo Solaris, sea como: servidor de correo electrónico, servidor web, servidor de impresión, servidor de archivos, servidor de aplicaciones o servidor de gestión de base de datos ... hay recursos que nos interesa monitorear de forma intensiva de acuerdo al servicio que el servidor presta; sea CPU, memoria, uso de red, almacenamiento, etc. Independiente del recurso que queramos monitorear, existen algunos comandos que deben ser bien conocidos por los Administradores de servidores y los Operadores de centro de computo.

Este articulo es una guía para los comandos de uso más frecuente. Para una referencia completa sobre comandos se puede usar la documentación disponible para Oracle Solaris 11.

Si necesitas un servidor con Oracle Solaris para hacer un laboratorio y experimentar con estos comandos mira el artículo Instalación de Solaris 11 en Intel.


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 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 esta siendo usando 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 esta 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

MonitorSolarisScreen1

Para ver todos los servicios que están siendo ejecutados en el sistema, desde el menú en el escritorio /Sistema /Administración /Servicios SMF

MonitorSolarisScreen2