Definitivamente las herramientas de monitoreo nos facilitan la vida a los administradores de TI. Directamente nos permiten conocer el uso de los recursos en el tiempo, el estado de las aplicaciones o servicios, ver el estado actual de hardware y software entre otros. Indirectamente nos permite proyectar la adquisición de nuevos equipos o partes, prevenir futuros problemas, incluso solucionar problemas actuales.
Las herramientas de monitoreo cumplen objetivos generales como:
- Alertar sobre problemas inminentes o actuales.
- Tener una visión centralizada de los equipos, servicios, software, hardware, versiones.
- Tener datos históricos de uso de recursos.
- Mostrar gráficos, reportes, resúmenes que ayudan a sintetizar la información.
Estos objetivos permiten a los administradores de TI realizar tareas como:
- Prevenir posible problemas futuros relacionados con falta de recursos por aumento de carga o uso.
- Resolver problemas inminentes con avisos y alertas pertinentes antes que el problema sea alertado por los usuarios finales.
- Estimar presupuestos para adquisiciones de software/hardware brindando datos históricos para sustentar la inversión.
- Realizar mejoras y optimizaciones en el uso de los recursos.
- Prevenir fallas de seguridad.
- Reforzar los puntos débiles de la infraestructura, ya sea hardware, software o servicios.
En esta ocasión describiremos tres herramientas de monitoreo que cubren diferentes funcionalidades y permiten tener una vista integral de la infraestructura de TI.
Munin
Esta herramienta permite tener una recopilación gráfica de como ha evolucionado el uso de los recursos durante el tiempo.
Características
- Cuenta con una interfaz web que muestra la evolución histórica del uso de recursos durante el tiempo.
- Munin monitorea el uso de recurso de cada máquina, recursos como disco, red, uso de CPU, RAM, Carga (load).
- También es capaz de monitorear indicadores de algunas aplicaciones como tamaño de cola de postfix, procesos de apache, consultas de mysql entre otras.
- Genera gráficas por día, semana, mes y año de cada uno de los indicadores.
- Muestra el mínimo, máximo, media y valor actual los indicadores en cada periodo de tiempo.
- Es posible configurar umbrales de alerta para estado de advertencia y crítico.
- El servidor corre sobre Linux, el agente corre sobre Linux y Windows (con algunas limitaciones).
Beneficios
- Permite determinar con anticipación cuando un recurso estará sobre utilizado o será insuficiente. Por ejemplo permite anticipar la compra de discos duros antes que estos estén llenos.
- Permite monitorear errores o generar mejoras. Por ejemplo permite detectar errores de red que pueden ser causados por la alta carga del servidor.
- Permite medir cuantitativamente el crecimiento del uso de los recursos, de esta manera es posible sustentar compra de hardware o medir el crecimiento.
Nagios
El principal objetivo de esta herramienta es sensar el estado de aplicaciones mediante escaneo de puertos, ejecución de comandos o la ejecución de cualquier prueba que pueda determinar si un servicio está corriendo correctamente (peticiones http o consultas sql por ejemplo).
Características
- Para establecer un sensor se siguen los siguientes pasos:
- Determinar el servidor que va a ser sensado.
- Determinar el tipo de sensor (HTTP, TCP, SMTP, SQL, etc).
- Establecer los umbrales de alerta y crítico. (Por ejemplo tiempo de respuesta mayor a X segundos o más de Y correos en la cola de correo).
- Establecer el tipo de alerta (normalmente correo) y el contacto (persona o servicio al que llega la alerta).
- La herramienta cuenta con una interfaz web que muestra el estado de los diferentes servidores y servicios.
- Los posibles estados son desconocido, correcto, advertencia y crítico.
- Permite establecer diferentes niveles de alerta o escalamiento. Diferentes niveles de alerta pueden llegar a diferentes contactos.
- Es posible establecer diferentes alertas según periodos de tiempo (horas laborales, días laborales, fines de semana, madrugada, etc)
- Permite establecer modelos (templates) de tipos de servidores (servidores remotos o locales, servidores o desktops, servidores o equipos de red) o tipos de servicios (servicios críticos o no críticos, servicios locales o remotos, etc) según este modelo es posible establecer diferentes frecuencias de muestreo, contactos de alertas, umbral de falla, etc.
- Una de las características que me parece más resaltante de Nagios es la facilidad para crear nuevos sensores y otros comandos. Es posible crear un sensor virtualmente para cualquier tipo de servicio. Además es posible crear un comando personalizado para el envío de alertas utilizando algún medio alternativo (VoIP, mensajería instantánea, etc).
- El sensado puede ser de 3 tipos:
- Activo, el servidor inicia la prueba, por ejemplo el servidor solicita una página http.
- Remoto, el servidor inicia la prueba, pero esta se ejecuta un agente remoto. Por ejemplo ejecutar un comando remoto para saber cuantos procesos se están ejecutando en otro servidor.
- Pasivo: el servidor nagios recibe el estado de otro servidor, en este caso no inicia la prueba y no tiene control de la frecuencia de ejecución.
- Permite programar los tiempos de inoperatividad con anticipación para evitar el envío innecesario de alertas.
Beneficios
- Permite tener un control exhaustivo del estado de los servicios de los diferentes servidores de manera centralizada.
- Permite realizar pruebas sobre infinidad de servicios.
- Permite ejecutar alertas según el tipo de evento.
- Permite detectar los problemas antes que causen daños mayores.
OCSInventory
Este programa sencillo pero muy útil permite tener un inventario centralizado de software y hardware.
Características
- Interfaz web que muestra el listado de servidores o computadoras. El listado puede ser ordenado por cualquier columna y es posible agregar o quitar columnas según la necesidad.
- La interfaz web muestra el detalle de cada servidor incluyendo:
- Hardware: CPU, RAM, red, placa madre, video, sonido, entre otros.
- Software: Sistema operativo, programas instalados.
- Versión de BIOS
- Detalles de red o redes activas
- Cuenta con una funcionalidad de búsqueda que permite filtrar datos como programas instalados, memoria RAM, redes, entre otros.
- Permite agrupar los servidores por diferentes criterios (similar a la búsqueda).
- El agente debe ser instalado y configurado en cada servidor o computadora a ser inventariada.
- El instalador del agente se encuentra disponible para Windows y Linux.
Beneficios
- Permite tener una vista centralizada de los servidores y computadores de escritorio.
- Facilita la tarea de mantenimiento y renovación de hardware.
- Facilita la detección de software no autorizado.
- Facilita la prevención de ataques de seguridad brindando detalle de las versiones de los programas instalados en cada computador.
¿Cuál usar?
En un ambiente de producción, el uso de todas estas herramientas es casi necesario. Son herramientas complementarias que además se pueden integrar entre sí. Por ejemplo, Munin y Nagios se pueden integrar para que el primero reporte al segundo en forma relativamente sencilla. La fortaleza del Munin es poder contar con reportes de uso de recursos en el tiempo, mientras que la de Nagios es la de reportar alertas no sólo respecto a recursos si no a disponibilidad de servicios (por su flexibilidad).
Enlaces
Via: