Documentación de Monitoreo de Red con Nagios

nagios_logo

Siguiendo con la documentación de Nagios que comencé en el año 2007, estoy publicando una actualización dividida en secciones. Con Nagios4 y varias consideraciones acerca de Thruk, para multisitio y tener agrupadas múltiples instancias de Nagios.

Por ahora es solo un borrador, pero sirve para ir viendo, estoy haciendo todo mas separado y enfocando por un lado teórico, por otro lado practico y luego enfocado a productos específicos. Pensado en ambientes de Nagios grandes a escala multi-país

http://wiki.cayu.com.ar/doku.php?id=manuales:nagios:capacitacion

Nagios – Infografía

Siguiendo con la actualización de la Wik y las mejoras de documentación, estuve armando unas infografías simples, aca subo una de ellas.

infografia_nagiosAdemás estuve modificando el aspecto visual de la Wiki y deje el tema por default de dokuwiki.

Personalmente me parece que para entradas largas, no es muy claro a la hora de definir títulos diferentes, por eso recomiendo exportar a ODT para poder leer mejor

http://wiki.cayu.com.ar/doku.php?id=manuales:nagios

Actualizados los PDF de Nagios

Nagios es un sistema de monitorización de equipos y de servicios de red, escrito en C y publicado bajo la GNU General Public License, el lenguage con el cual esta desarrollado nos asegura una rápida ejecución y su licencia que lo determina como Software Libre nos asegura que siempre tendremos actualizaciones disponibles y que hay una gran comunidad de desarrolladores soportándolo.

Como veo que muchos siguen aun entrando al enlace https://cayu.com.ar/files/manual-nagios-2009.pdf igualmente disponible en mi wiki http://wiki.cayu.com.ar/doku.php?id=manuales:nagios me parecio una buena idea publicar los documentos pdf/odf/doc actualizados ya que ese pdf tiene un par de años y hay cosas nuevas que agregue

https://cayu.com.ar/files/manuales-nagios.odt

https://cayu.com.ar/files/manuales-nagios.doc

https://cayu.com.ar/files/manuales-nagios.pdf

Monitoria y análisis de Red con Nagios 2010

Las redes de cómputo de las organizaciones, se vuelven cada vez más complejas y la exigencia de la operación es cada vez mas demandante. Las redes, cada vez mas, soportan aplicaciones y servicios estratégicos de las organizaciones. Por lo cual el análisis y monitoreo de redes se ha convertido en una labor cada vez mas importante y de carácter pro-activo para evitar problemas.

Para prevenir errores en un sistema existe podemos utilizar un equipo que se ocupe de estar “controlado y observando” el funcionamiento de la red, esto podemos realizarlo por medio de un software llamado Nagios.

Nagios es un sistema de monitorización de equipos y de servicios de red, escrito en C y publicado bajo la GNU General Public License, el lenguage con el cual esta desarrollado nos asegura una rápida ejecución y su licencia que lo determina como Software Libre nos asegura que siempre tendremos actualizaciones disponibles y que hay una gran comunidad de desarrolladores soportándolo.

Creado para ayudar a los administradores a tener siempre el control de qué está pasando en la red que administran y conocer los problemas que ocurren en la infraestructura que administran antes de que los usuarios de la misma los perciban, para así no sólo poder tomar la iniciativa, sino asumir la responsabilidad de hacer que las cosas sucedan; decidir en cada momento lo que queremos hacer y cómo lo vamos a hacer, debido a que este software nos permite obtener datos, interpretarlos y tomar decisiones en base a ello como:

  • Conservar y almacene datos de la red para manejar reportes y tendencias
  • Ver y analizar la red, así como el tráfico de la red a través del tiempo
  • Monitorear el estado de la red en comparación a los reportes de análisis
  • Generar reportes sustentados para justificar las necesidades de actualización de la red

Para facilitar tareas de explotación de datos, hay diferentes aditivos como un visor de reportes integrados, en el cual se puede ver el histórico de actividad y performance de servicios, y además un visor de diagramas de red con el estado actual de cada equipo.

El mismo, esta constituido por un Núcleo que construye la interfaz de usuario y por plugins los cuales representan los ojos y oídos de Nagios y por lo cual se encargan de recopilar información (bajo demanda). Los mismos pueden estar programados en diversos lenguajes como C, C++, Python, Perl, PHP, Java, Bash etc, ya que Nagios es independiente del lenguaje en el cual que se desarrolle el plugin y solo procesa los datos recibidos de este, para la posterior elaboración y envío de notificaciones a los encargados de la administración del sistema en cuestión.

Objetivos y necesidades

Conocer el estado de diferentes servicios brindados por equipos como servidores corriendo diferentes sistemas operativos, routers de los cuales dependen varios equipos. Obtener información de los mismos como estado en red, tiempo arriba, puertos abiertos, servicios y procesos corriendo, carga de CPU, carga de memoria física, carga de memoria virtual, espacio en disco, interfaces de red activas. Es posible conocer los estados y datos de estos diferentes equipos para una posterior elaboración de reportes etc, elaborando una configuración personalizada de Nagios para cada caso en particular, por medio de testeo de paquetes de red, o haciendo uso de diferentes funciones que provee el protocolo SNMP (Simple Network Management Protocol) que nos permite gestionar y/o supervisar datos de diferentes elementos y componentes de la red como routers, switches, servidores etc y al ser un protocolo standard es posible monitorizar una amplia variedad de casos en escenarios con sistemas ó equipos diferentes.

Con lo cual podremos concluir si el sistema :

  • Lleva a cabo eficazmente su finalidad
  • Utiliza eficientemente los recursos.

Ya que podemos :

  • Detectar de forma sistemática el uso de los recursos y los flujos de información dentro de una organización.
  • Determinar qué información es crítica para el cumplimiento de su misión y objetivos, identificando necesidades, duplicidades, costos, valor y barreras, que obstaculizan flujos de información eficientes.
  • Análizar de eficiencia del sistema.
  • Verificar el cumplimiento de Normativas.
  • Revisión de la gestión de recursos.

Descripción

Que se puede hacer con Nagios

  • Monitorización de servicios de red (SMTP, POP3, HTTP, NTTP, ICMP, SNMP).
  • Monitorización de los recursos de un host (carga del procesador, uso de los discos, logs del sistema) en varios sistemas operativos, incluso Microsoft Windows con el plugin NRPE_NT.
  • Monitorización remoto, a través de túneles SSL cifrados o SSH.
  • Diseño simple de plugins, que permiten a los usuarios desarrollar sus propios chequeos de servicios dependiendo de sus necesidades, usando sus herramientas preferidas (Bash, C++, Perl, Ruby, Python, PHP, C#, Java, etc.).
  • Chequeo de servicios paralizados.
  • Posibilidad de definir la jerarquía de la red, permitiendo distinguir entre host caídos y host inaccesibles.
  • Notificaciones a los contactos cuando ocurren problemas en servicios o hosts, así como cuando son resueltos ( Vía email, pager, Jabber, SMS o cualquier método definido por el usuario junto con su correspondiente complemento).
  • Posibilidad de definir manejadores de eventos que ejecuten al ocurrir un evento de un servicio o host para resoluciones de problemas proactivas.
  • Rotación automática del archivo de registro.
  • Soporte para implementar hosts de monitores redundantes.
  • Interfaz web opcional, para observar el estado de la red actual, notificaciones, historial de problemas, archivos de registros, etc.
  • Reportes y estadísticas del estado cronológico de disponibilidad de servicios y hosts.

Quien va a usar Nagios

  • Administradores de Redes con alto conocimiento tecnico
  • Operadores con minimo conocimiento tecnico de la situacion, o conocimiento puntual de algun servicio
    • Pudiedo avisar y ayudar a determinar posibles causas de efectos producidos
  • Equipos de desarrollo
  • Coordinadores de Mesas de Ayuda
  • Areas relacionadas

Como impacta

  • Mejora de productividad
  • Antelacion de problemas
  • Reporte y aviso de incidentes
    • Agilidad en su tratamiento
  • Mejor y mayor relacion e integracion de sectores adjuntos

Recién  después de tanto tiempo publico una nueva revisión del PDF del Manual de Nagios disponible en el Wiki

https://cayu.com.ar/wiki/doku.php?id=manuales:nagios

aca va el PDF

https://cayu.com.ar/files/manuales-nagios.pdf

igualmente desde el wiki pueden utilizar al exportación automática a ODT OpenDocumenT de OpenOffice

Plugins de Nagios

Mejorando un ordenando un poco mejor el post anterior sobre nagios :s

Para que funcionen correctamente algunas cosas de Nagios, hay que realizar algunas minimas modificaciones por ejemplo en :
En el plugin «Nagios SAP CCMS» hay que modificar algunas lineas de los archivos agnt_mon.h y sap_moni_ccm.h ya que en estos se establece el path de acceso a los archivos de configuración que por defecto los busca en /etc/sapmon, pero nuestro objetivo es que los busque en /usr/local/nagios/etc/sapmon, de una cierta manera quede mas centralizao u ordenado.

agnt_mon.h

#define AGENT_INI_FILE «/usr/local/nagios/etc/sapmon/agent.cfg»
#define AGENT_LOGIN_FILE «/usr/local/nagios/etc/sapmon/login.cfg»
#define AG_EZ_FILE «/usr/local/nagios/etc/sapmon/moni_tr.cfg»

sap_moni_ccm.h

#define AGENT_INI_FILE «/usr/local/nagios/etc/sapmon/agent.cfg»
#define AGENT_LOGIN_FILE «/usr/local/nagios/etc/sapmon/login.cfg»

También se deben hacer cambios importantes en el archivos {nagios-src}/cgi/statuswrl.c para modificar no solo la estética de su look & feel si no además la correcta generación del formato VRML a utilizar en el mapa de estado 3D.

statuswrl.c

En la linea

printf(«url \»%s%s\»\n»,url_logo_images_path,temp_hostextinfo->vrml_image);

modificar dicho contenido a

printf(«url \»http://ip.servidor.nagios/%s%s\»\n»,url_logo_images_path,temp_hostextinfo->vrml_image);

y en la linea

printf(«url \»%s%s\»\n»,url_logo_images_path,NAGIOS_VRML_IMAGE);

modificar dicho contenido a

printf(«url \»http://ip.servidor.nagios%s%s\»\n»,url_logo_images_path,NAGIOS_VRML_IMAGE);

donde ip.servidor.nagios es la ip de la url del nuestro servidor nagios.

si no hacemos esto el VRML no se genera correctamente y no se veran los iconos, por lo tanto el plugin imprimira warnings por pantalla

otra cosa para que muestre la ip de cada equipo en el statusmap 3D junto al alias
modificar
de

printf(«the_text [\»%s\», \»%s\», «,temp_host->name,temp_host->alias);

a

printf(«the_text [\»%s\»,\»%s\», \»%s\», «,temp_host->name,temp_host->address,temp_host->alias);

Plugins de Nagios para SAP http://nagios-sap-ccms.sf.net

Nota interezante para monitorear wordpress con Nagios http://www.linickx.com/blog/archives/271/how-to-monitor-wordpress-with-nagios/

Otra cosa si a alguno le da un:

You don’t have permission to access /wp-admin/post.php on this server

encontre esta solucion no muy decorosa que digamos pero que funciona :p

en tu wp-admin/.htaccess pone lo siguiente

Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
SecFilterEngine Off
SecFilterScanPOST Off

Monitoreando con Nagios

Hace unos dias tuve que ponerme a monitorear equipos con nagios. El funcionamiento es bastante simple, se instala SNMP en cada cliente a monitorear, y el en la consola Nagios podemos observar datos si el host esta activo, caido, hasta ahora me toco monitorear Oracle, SAPDB, Lotus Notes y un server Blackberry, corriendo con Linux y Windows los diferentes equipos.

Algo asi iria en el snmpd.conf

—-

# Following entries were added by HP Insight Management Agents at
# Fri Jun 1 11:46:15 ART 2007
dlmod cmaX /usr/lib64/libcmaX64.so
#rwcommunity eVLNmcOtb 127.0.0.1
rocommunity public 130.29.10.210
syscontact Sysadmin (root@localhost)
syslocation Server Room

# ———————- END ——————–
# Please see /usr/share/doc/packages/net-snmp/EXAMPLE.conf for a
# more complete example and snmpd.conf(5).
#
# Writing is disabled by default for security reasons. If you’d like
# name to something nominally secure (keeping in mind that this is
# transmitted in clear text).

# Note that if you define the following here you won’t be able to change
# them with snmpset

# These really aren’t meant for production use. They include all MIBS
# and can use considerable resources. See snmpd.conf(5) for information
# on setting up groups and limiting MIBS.

view all included .1
access notConfigGroup «» any noauth exact systemview none none
access notConfigGroup «» any noauth exact all none none
—-

Esta bueno mas que nada lo del mapa 3D en VRML de Nagios.

Para ver correctamente el statusmap 3D de nagios hay que recompilar el CGI statuswrl.cgi con las siguientes modificaciones a su codigo tenemos que modificar las siguientes lineas

de

printf(«url \»%s%s\»\n»,url_logo_images_path,temp_hostextinfo->vrml_image);</code>

lo cambiamos a

printf(«url \»http://130.29.10.210/%s%s\»\n»,url_logo_images_path,temp_hostextinfo->vrml_image);</code>

y de
printf(«url \»%s%s\»\n»,url_logo_images_path,NAGIOS_VRML_IMAGE);
lo modificamos a
printf(«url \»http://130.29.10.210%s%s\»\n»,url_logo_images_path,NAGIOS_VRML_IMAGE);

donde 130.29.10.210 es la url del nuestro servidor nagios.

si no hacemos esto el VRML no se genera correctamente y no se ven los iconos, por lo tanto el plugin tirara warnings

otra cosa para que muestre la ip de cada equipo en el statusmap 3D junto al alias modificar de
printf(«the_text [\»%s\», \»%s\», «,temp_host->name,temp_host->alias);
a
printf(«the_text [\»%s\»,\»%s\», \»%s\», «,temp_host->name,temp_host->address,temp_host->alias);
como veran el puntero tiene los parametros parseados del archivo de hosts de Nagios

La demas cosas no las pongo por que no da y ya estan en el manual de Nagios :p jaja

Otra cosa a los plugins Nagios SAP CCMS y los plugins de perl para lotus hay que realizarle modificaciones para funcionar correctamente en su codigo en donde hayan paths hay que corregirselos

Plugin para ver VRML en Firefox http://freewrl.sourceforge.net/

otra cosa mmm no se habra algun tag para meter codigo fuente en un posteo wordpress??