House of sysadmins

House of sysadmins

Hola a todos, despues de mucho tiempo sin venir por aqui os traigo mi experiencia con el mejor monitor de red NAGIOS.

Os detallo como lo tengo montado yo y que guias he seguido. Por ultimo comentare los problemas que tengo y a ver si somos capaces de entre todos modificar este post para que sea el manual a seguir para instalacion y configuracion de este estupendo paquete de monitoreo.

CARACTERISTICAS DE MI SISTEMA:

- Maquina virtual de Citrix XenServer
- Ubuntu Server ED 9.04
- Nagios 3 + Plugins

GUIAS A SEGUIR PARA LA INSTALACION Y CONFIGURACION DE NAGIOS SOBRE UBUNTU
Instalacion

NOTA: Despues de instalar el apache2 instalar php5 (sudo aptitude install php5) a mi me dio problemas para cargar la pagina y resulta que era esto jeje.

Monitorear Equipos Windows

NOTA: tengo problemas para obtener informacion con el NSCLIENT y aun no he probado SNMP o WMI. Solo monitore con PING.

Monitorear Impresoras
NOTA: Solo me monitorea si estan levantadas (ping) pero no consigo que me saque cantidad de tinta y numero de impresiones y demas...

Monitoreo de Routers y Switches


Como veis lo tengo montado pero me falta mucho desarrollo aun.

El principal problema que tengo ahora mismo es que he instalado el postfix pero no me llegan correos, estoy investigando aun, pero si a alguien le ha sucedido y/o sabe como solucionarlo seria genial que lo compartiera.


Un saludo

Etiquetas: de, monitor, monitorear, nagios, red, ubuntu

Compartir

Responde a esto

Respuestas a esta discusión

Hola:
¿Que problema tienes con NSClient? A mi me funciona de lujo, aunque estoy probando también con NRPE_NT para comparar.
De todos modos, lo que mas utilizo es SNMP ya que al ser "independiente" del tipo de máquina a chequear puedo definir servicios sin tener que preocuparme de que SO tiene el equipo.

Para ver información de las impresoras lo tienes que hacer con SNMP. Con los plugins check_hpdj y check_printer puedes obtener esa información.

Actualmente estoy monitorizando 151 hosts y 595 servicios sin problemas, a excepción de una ligera lentitud en el host Nagios debido a que es una máquina virtual con MUY pocos recursos. Es una Debian 5 sobre un VMWare Server 1.9 (en Windows 2000 Server) con un único procesador y 512M de RAM, con lo que es lógico que vaya "lentito".

Un saludo.
Diego Fernández
Linux User #95110

Responde a esto

Hola he visto que teneis un hilo de Nagios, yo lo acabo de montar, pero no me funciona el envio de notificaciones por mail, por mas manuales y por mas busquedas por google no he encontrado nada, podrias decirme como lo conseguisteis vosostros.

Un slaudo

Responde a esto

Hola:

Las notificaciones dependen al 99% de que el servidor SMTP que tengas esté bien configurado.
Lo primero que tienes que probar es que puedas enviar un email desde el host Nagios a otro sitio.
Envía un mail desde la consola manualmente (o con el cliente que prefieras) a ver si llega.
Nagios lo único que hace es pasarle los datos a tu SMTP en "localhost".

Si no te funciona dinos que SMTP has puesto (Exim, Postfix, etc.) a ver si podemos ayudarte.

Un saludo.
Diego Fernández
Linux User #95110


Julian Brazuelo dijo:
Hola he visto que teneis un hilo de Nagios, yo lo acabo de montar, pero no me funciona el envio de notificaciones por mail, por mas manuales y por mas busquedas por google no he encontrado nada, podrias decirme como lo conseguisteis vosostros.

Un slaudo

Responde a esto

Instalé sendmail simplemente como gestor SMTP probé a manadar un mail a mi cuenta pero nollegó nada pero, en una ruta que crea Nagios ( o el propio servicio SMTP ) si hay registro de que hay movimiento de correo.

Aunque si me recomiendas que instale otro gestor de correo admito sugerencias, a por cierto Nagiso está instalado con CentOS 5.3

Un saludo y gracias.

Diego Fernández dijo:
Hola:

Las notificaciones dependen al 99% de que el servidor SMTP que tengas esté bien configurado.
Lo primero que tienes que probar es que puedas enviar un email desde el host Nagios a otro sitio.
Envía un mail desde la consola manualmente (o con el cliente que prefieras) a ver si llega.
Nagios lo único que hace es pasarle los datos a tu SMTP en "localhost".

Si no te funciona dinos que SMTP has puesto (Exim, Postfix, etc.) a ver si podemos ayudarte.

Un saludo.
Diego Fernández
Linux User #95110


Julian Brazuelo dijo:
Hola he visto que teneis un hilo de Nagios, yo lo acabo de montar, pero no me funciona el envio de notificaciones por mail, por mas manuales y por mas busquedas por google no he encontrado nada, podrias decirme como lo conseguisteis vosostros.

Un slaudo

Responde a esto

Hola:

Lo primero: quita sendmail... :-P
Sendmail a día de hoy está bastante desfasado, además de ser un monstruo que te es totalmente innecesario.
Te recomiendo Postfix o Exim... yo utilizo Postfix.

Si tienes otro servidor SMTP (supongo que si, porque si este no te funciona no creo que estés sin correo electrónico en tu empresa), configura Postfix en el modo "Correo local con SmartHost". Esto significa que él únicamente gestiona el correo que va dirigido a @tuservidorpostfix.tudominio.local, y el resto lo único que hace con él es reenviarlo al smarthost, que es el servidor SMTP que utilizas normalmente.
De esta forma no tendrás problemas con sistemas antispam que te bloquen los mensajes de Nagios porque llegan desde un servidor sin registrar.

Si haciendo esto te surge algún problema dínoslo aquí.

Un saludo.
Diego Fernández
Linux User #95110

Julian Brazuelo dijo:
Instalé sendmail simplemente como gestor SMTP probé a manadar un mail a mi cuenta pero nollegó nada pero, en una ruta que crea Nagios ( o el propio servicio SMTP ) si hay registro de que hay movimiento de correo.

Aunque si me recomiendas que instale otro gestor de correo admito sugerencias, a por cierto Nagiso está instalado con CentOS 5.3

Un saludo y gracias.

Diego Fernández dijo:
Hola:

Las notificaciones dependen al 99% de que el servidor SMTP que tengas esté bien configurado.
Lo primero que tienes que probar es que puedas enviar un email desde el host Nagios a otro sitio.
Envía un mail desde la consola manualmente (o con el cliente que prefieras) a ver si llega.
Nagios lo único que hace es pasarle los datos a tu SMTP en "localhost".

Si no te funciona dinos que SMTP has puesto (Exim, Postfix, etc.) a ver si podemos ayudarte.

Un saludo.
Diego Fernández
Linux User #95110


Julian Brazuelo dijo:
Hola he visto que teneis un hilo de Nagios, yo lo acabo de montar, pero no me funciona el envio de notificaciones por mail, por mas manuales y por mas busquedas por google no he encontrado nada, podrias decirme como lo conseguisteis vosostros.

Un slaudo

Responde a esto

perdon por mi ausencia, muxo lio y vacaciones.. ya sabeis. a ver yo sigo sin poder chequear discos o memoria que es lo que mas me interesa. (procesador, carga lan etc..) intal nsclient y ni lexes. te pego la parte de uno de mis host en el windows.cfg que hace referencia a eso:

define service{
use genric-service
host_name servidor_dns
service_description NSClient++ 0.3.6.818
check_command check_nt!CLIENTVERSION
}

en fin creo que eso esta bien asi aunque en service_description antes tenia NSClient++ Version y tampoco me iva.

de todas formas me intersa mas como bien dices hacerlo por SNMP. Me podrias enviar tu windows.cfg para comparar??? muchas gracias de antemano.

Diego Fernández dijo:
Hola:
¿Que problema tienes con NSClient? A mi me funciona de lujo, aunque estoy probando también con NRPE_NT para comparar.
De todos modos, lo que mas utilizo es SNMP ya que al ser "independiente" del tipo de máquina a chequear puedo definir servicios sin tener que preocuparme de que SO tiene el equipo.

Para ver información de las impresoras lo tienes que hacer con SNMP. Con los plugins check_hpdj y check_printer puedes obtener esa información.

Actualmente estoy monitorizando 151 hosts y 595 servicios sin problemas, a excepción de una ligera lentitud en el host Nagios debido a que es una máquina virtual con MUY pocos recursos. Es una Debian 5 sobre un VMWare Server 1.9 (en Windows 2000 Server) con un único procesador y 512M de RAM, con lo que es lógico que vaya "lentito".

Un saludo.
Diego Fernández
Linux User #95110

Responde a esto

Hola de nuevo:

Te pongo un ejemplo para chequear la carga de procesador vía check_nt (con NSClient++ puedes realizar chequeos vía check_nt y también via check_nrpe):

Lo primero, tienes que definir el comando check_nt_cpuload (o el nombre que le quieras poner)

define command {
command_name check_nt_cpu
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p $USER19$ -v CPULOAD -l "$ARG1$"

Siendo "USER19" una variable definida en resources.cgi con el password para poder conectar al NSClient++ y "ARG1" el argumento que le paso co los valores de warning, critical, etc.

Y después, defino el servicio para asignarlo a los equipos:

define service {
host_name mi-host
service_description check_nt_cpu
use service-no_notify
check_command check_nt_cpu!5,70,90,30,70,90
register 1

}
En host_name podría ser mi-host, mihost2, etc..., es decir todos los que quieras.
El use service-no_notify significa que use esa plantilla. Ahí defino los tiempos de chequeo, variables, si quiero que avise por email o no, etc...
Y por último el check_command es el nombre del comando definido primero y luego los valores que asigno al argumento "ARG1" (en este caso muestreo cada 5 y 30 minutos y los valores de warning y critical son 70% y 90% en ambos casos.

Si lo quieres hacer con NRPE el procedimiento es el mismo aunque las definiciones del comando y del servicio varían un poco.

Intentalo y nos dices algo.

Cuando ya sepas como funciona te recomiento que veas como funcionan las plantillas y los grupos. Un error muy común cuando se empieza con Nagios es definir uno a uno en todos los equipos y servicios los parámetros de monitorización, notificación, etc... y como tu instalación crezca un poco cuando quieras modificar cualquier cosa tendrás que ir uno a uno y será una locura. Utilizando plantillas únicamente modificas la plantilla y ya tienes el cambio en todos.

Un saludo
Diego Fernández
Linux User #95110

PD. Aunque lo ideal es que primero aprendas a hacerlo "a mano" (porque si algún día te falla será la única forma de que sepas que está haciendo y lo puedas reparar), si quieres ponerlo en marcha rápidamente hay multitud de gestores gráficos para la configuración. Te recomiendo algunos:

* Groundwork Open Source: Es un "paquete completo". En una instalación "limpia" de linux lo instalas y él pone todo (Nagios, Apache, Plugins, etc...) Para empezar está muy bien porque sin necesidad de saber como funciona te deja un sistema Nagios configurable vía web, con sistema de generación de gráficos, etc... totalmente funcional. Y una vez configurado todo con el gestor que lleva (Monarch) puedes ver los ficheros de configuración para descubrir como funciona Nagios.

*Nagios + Centreon: Aquí ya tienes que tener Nagios, Apache, PHP, etc... instalado. Luego Centreon te añade un gestor gráfico y varios añadidos mas (snmptt, integración con MySQL, etc).

*Ossim: Esto es otro mundo. Aquí Nagios es únicamente uno de los módulos que lleva para chequeo internamente. Ossim realmente es un sistema para coger muchos de los programas de monitorización mas usados (Nagios, Snort, Ntop, Ossec, OCSInventory, etc...) y todos los eventos que generan "correlacionarlos" y mostrarlos de forma integrada entre ellos. Es lo que yo estoy usando ahora, aunque la verdad todavía estoy aprendiendo a utilizarlo. A la instalación "standard" de Ossim yo le he añadido Nagiosql para configuración gráfica de Nagios, PNP4Nagios para generación de gráficos y NagVis para mapas de red.

Bueno, menudo rollo que he soltado en un momento. Espero que me hallas entendido.

Un saludo otra vez.
Diego Fernández
Linux User #95110


Ruben Iglesias dijo:
perdon por mi ausencia, muxo lio y vacaciones.. ya sabeis. a ver yo sigo sin poder chequear discos o memoria que es lo que mas me interesa. (procesador, carga lan etc..) intal nsclient y ni lexes. te pego la parte de uno de mis host en el windows.cfg que hace referencia a eso:

define service{
use genric-service
host_name servidor_dns
service_description NSClient++ 0.3.6.818
check_command check_nt!CLIENTVERSION
}

en fin creo que eso esta bien asi aunque en service_description antes tenia NSClient++ Version y tampoco me iva.

de todas formas me intersa mas como bien dices hacerlo por SNMP. Me podrias enviar tu windows.cfg para comparar??? muchas gracias de antemano.

Diego Fernández dijo:
Hola:
¿Que problema tienes con NSClient? A mi me funciona de lujo, aunque estoy probando también con NRPE_NT para comparar.
De todos modos, lo que mas utilizo es SNMP ya que al ser "independiente" del tipo de máquina a chequear puedo definir servicios sin tener que preocuparme de que SO tiene el equipo.

Para ver información de las impresoras lo tienes que hacer con SNMP. Con los plugins check_hpdj y check_printer puedes obtener esa información.

Actualmente estoy monitorizando 151 hosts y 595 servicios sin problemas, a excepción de una ligera lentitud en el host Nagios debido a que es una máquina virtual con MUY pocos recursos. Es una Debian 5 sobre un VMWare Server 1.9 (en Windows 2000 Server) con un único procesador y 512M de RAM, con lo que es lógico que vaya "lentito".

Un saludo.
Diego Fernández
Linux User #95110

Responde a esto

La primera en la frente. el resources.cgi no lo encuentro. que ruta sigue ese fichero?? tengo instalado nagios3 bajo ubuntu 9.04

Diego Fernández dijo:
Hola de nuevo:

Te pongo un ejemplo para chequear la carga de procesador vía check_nt (con NSClient++ puedes realizar chequeos vía check_nt y también via check_nrpe):

Lo primero, tienes que definir el comando check_nt_cpuload (o el nombre que le quieras poner)

define command {
command_name check_nt_cpu
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p $USER19$ -v CPULOAD -l "$ARG1$"

Siendo "USER19" una variable definida en resources.cgi con el password para poder conectar al NSClient++ y "ARG1" el argumento que le paso co los valores de warning, critical, etc.

Y después, defino el servicio para asignarlo a los equipos:

define service {
host_name mi-host
service_description check_nt_cpu
use service-no_notify
check_command check_nt_cpu!5,70,90,30,70,90
register 1

}
En host_name podría ser mi-host, mihost2, etc..., es decir todos los que quieras.
El use service-no_notify significa que use esa plantilla. Ahí defino los tiempos de chequeo, variables, si quiero que avise por email o no, etc...
Y por último el check_command es el nombre del comando definido primero y luego los valores que asigno al argumento "ARG1" (en este caso muestreo cada 5 y 30 minutos y los valores de warning y critical son 70% y 90% en ambos casos.

Si lo quieres hacer con NRPE el procedimiento es el mismo aunque las definiciones del comando y del servicio varían un poco.

Intentalo y nos dices algo.

Cuando ya sepas como funciona te recomiento que veas como funcionan las plantillas y los grupos. Un error muy común cuando se empieza con Nagios es definir uno a uno en todos los equipos y servicios los parámetros de monitorización, notificación, etc... y como tu instalación crezca un poco cuando quieras modificar cualquier cosa tendrás que ir uno a uno y será una locura. Utilizando plantillas únicamente modificas la plantilla y ya tienes el cambio en todos.

Un saludo
Diego Fernández
Linux User #95110

PD. Aunque lo ideal es que primero aprendas a hacerlo "a mano" (porque si algún día te falla será la única forma de que sepas que está haciendo y lo puedas reparar), si quieres ponerlo en marcha rápidamente hay multitud de gestores gráficos para la configuración. Te recomiendo algunos:

* Groundwork Open Source: Es un "paquete completo". En una instalación "limpia" de linux lo instalas y él pone todo (Nagios, Apache, Plugins, etc...) Para empezar está muy bien porque sin necesidad de saber como funciona te deja un sistema Nagios configurable vía web, con sistema de generación de gráficos, etc... totalmente funcional. Y una vez configurado todo con el gestor que lleva (Monarch) puedes ver los ficheros de configuración para descubrir como funciona Nagios.

*Nagios + Centreon: Aquí ya tienes que tener Nagios, Apache, PHP, etc... instalado. Luego Centreon te añade un gestor gráfico y varios añadidos mas (snmptt, integración con MySQL, etc).

*Ossim: Esto es otro mundo. Aquí Nagios es únicamente uno de los módulos que lleva para chequeo internamente. Ossim realmente es un sistema para coger muchos de los programas de monitorización mas usados (Nagios, Snort, Ntop, Ossec, OCSInventory, etc...) y todos los eventos que generan "correlacionarlos" y mostrarlos de forma integrada entre ellos. Es lo que yo estoy usando ahora, aunque la verdad todavía estoy aprendiendo a utilizarlo. A la instalación "standard" de Ossim yo le he añadido Nagiosql para configuración gráfica de Nagios, PNP4Nagios para generación de gráficos y NagVis para mapas de red.

Bueno, menudo rollo que he soltado en un momento. Espero que me hallas entendido.

Un saludo otra vez.
Diego Fernández
Linux User #95110


Ruben Iglesias dijo:
perdon por mi ausencia, muxo lio y vacaciones.. ya sabeis. a ver yo sigo sin poder chequear discos o memoria que es lo que mas me interesa. (procesador, carga lan etc..) intal nsclient y ni lexes. te pego la parte de uno de mis host en el windows.cfg que hace referencia a eso:

define service{
use genric-service
host_name servidor_dns
service_description NSClient++ 0.3.6.818
check_command check_nt!CLIENTVERSION
}

en fin creo que eso esta bien asi aunque en service_description antes tenia NSClient++ Version y tampoco me iva.

de todas formas me intersa mas como bien dices hacerlo por SNMP. Me podrias enviar tu windows.cfg para comparar??? muchas gracias de antemano.

Diego Fernández dijo:
Hola:
¿Que problema tienes con NSClient? A mi me funciona de lujo, aunque estoy probando también con NRPE_NT para comparar.
De todos modos, lo que mas utilizo es SNMP ya que al ser "independiente" del tipo de máquina a chequear puedo definir servicios sin tener que preocuparme de que SO tiene el equipo.

Para ver información de las impresoras lo tienes que hacer con SNMP. Con los plugins check_hpdj y check_printer puedes obtener esa información.

Actualmente estoy monitorizando 151 hosts y 595 servicios sin problemas, a excepción de una ligera lentitud en el host Nagios debido a que es una máquina virtual con MUY pocos recursos. Es una Debian 5 sobre un VMWare Server 1.9 (en Windows 2000 Server) con un único procesador y 512M de RAM, con lo que es lógico que vaya "lentito".

Un saludo.
Diego Fernández
Linux User #95110

Responde a esto

Hola de nuevo:

Bueno, lo primero, error mio: no es resources.cgi (las prisas al escribir...) es resource.cfg y está en el directorio etc de Nagios.
En ubuntu creo que es /etc/nagios3, pero podría ser también /usr/local/nagios3/etc o varias opciones mas dependiendo de la distribución...
Es un fichero para definir variables de uso interno por Nagios.

Los tres ficheros "principales" de configuración son: nagios.cfg, cgi.cfg y resource.cfg.

Bueno, corregido el error, inténtalo a ver si lo consigues.

Un saludo.
Diego Fernández
Linux User #95110

Responde a esto

Bueno... creo que lo he hecho bien, pero no termina de funcionar. He modicicado el fichero resource.cfg añadiendole estas lineas:
define command {
command_name check_nt_cpu
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p $USER19$ -v CPULOAD -l "$ARG1$"
} -----------------------------AQUI HE CERRADO YO, PERO NO LO TENIAS PUESTO, NO SE SI ESTA BIEN QUE LO HAYA CERRADO.
define service {
host_name mi-host
service_description check_nt_cpu
use service-no_notify
check_command check_nt_cpu!5,70,90,30,70,90
register 1

}


La duda que me queda es la del ARG1. eso donde lo edito o añado?. aparte de esto aun no funciona. gracias

p.d. Estaria interesante que me enviaras tus ficheros para que los analizara si quieres te dejo mi email. ruben.iglesias@imex.es

muichas gracias de antemano ^^

Responde a esto

Hola:
Lo que te he puesto es un ejemplo, si lo copias literalmente no te funcionará, porque por ejemplo, tú no tendrás la plantilla service-no_notify que uso yo.
Lo mismo para la llave de cierre: solo he copiado la definición, no el fichero completo.

Por otro lado, no te puedo enviar mis ficheros porque en ellos aparece información interna que no puedo ni debo compartir.

La forma más fácil de que compruebes si un comando/plugin de Nagios funciona es que lo lances desde la consola de tu equipo linux. Únicamente tienes que irte a tu directorio de plugins (depende de la distribución), y ejecutar el comando que vas a poner en linux pero con los valores de las variables.

De todos modos, creo que tu problema es que no has captado el proceso "completo" de configuración de Nagios. Resumiendo MUCHO:

* Creas tus plantillas de servicios y equipos con los tiempos de chequeo, las opciones de notificación, etc. (por ejemplo, querras que te envíe un email si un servidor no responde, pero no querras que lo haga si una impresora tiene un papel atascado o se ha quedado sin tinta).
* Creas los equipos utilizando las plantillas que ya has definido. Lo puedes hacer sin plantillas, pero tendrás que decir EN TODOS los tiempos de chequeo, opciones de notificación, etc...
* Creas los comandos de chequeo. Aquí es importante que todo lo que sea "común" lo pongas en variables. Por ejemplo, no querras crear un comando para chequear el disco C y otro para el D, sino únicamente un comando check_nt_disk (por ejemplo) y el parámetro del disco a chequear ponerlo como argumento $ARGx$, para luego en cada caso definir que disco quieres chequear.
* Creas los servicios que utilizan los comandos definidos.
* Creas los grupos de equipos y grupos de servicios.
* Asignas servicios a equipos concretos o a grupos de equipos.
* Verificas la configuración (los path dependerán de tu distribución): /usr/sbin/nagios3 -v /etc/nagios3/nagios.cfg **MUY IMPORTANTE. SI REINICIAS NAGIOS CON UNA CONFIGURACIÓN INCORRECTA NO ARRANCARÁ**
* Si todo es OK, reinicias Nagios: /etc/init.d/nagios3 restart

Como te decía, te recomiendo que te instales un "configurador" gráfico, hagas los pasos básicos con él, y luego estudies los ficheros de configuración generados para que veas exactamente como lo hace.

Un saludo.
Diego Fernández
Linux User #95110

Ruben Iglesias dijo:
Bueno... creo que lo he hecho bien, pero no termina de funcionar. He modicicado el fichero resource.cfg añadiendole estas lineas:
define command {
command_name check_nt_cpu
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p $USER19$ -v CPULOAD -l "$ARG1$"
} -----------------------------AQUI HE CERRADO YO, PERO NO LO TENIAS PUESTO, NO SE SI ESTA BIEN QUE LO HAYA CERRADO.
define service {
host_name mi-host
service_description check_nt_cpu
use service-no_notify
check_command check_nt_cpu!5,70,90,30,70,90
register 1

}


La duda que me queda es la del ARG1. eso donde lo edito o añado?. aparte de esto aun no funciona. gracias

p.d. Estaria interesante que me enviaras tus ficheros para que los analizara si quieres te dejo mi email. ruben.iglesias@imex.es

muichas gracias de antemano ^^

Responde a esto

que configurador grafico me recomiendas?, hay algun sitio en el que haya documentacon en español de esto, en el que pueda ver ejemplos??

Responde a esto

Responde a esto

RSS

Acerca de

logadmin logadmin creó esta red social en Ning.

Distintivo

Cargando…

¿DESEA PUBLICAR UNA OFERTA DE TRABAJO?

House of Sysadmins es una red especializada del sector IT.
Póngase en contacto con nosotros y le ayudaremos en su búsqueda.

contáctanos

Patrocinadores oficiales

Blog de un administrador de sistemas.

Las mejores partidas, en blog de poker.

© 2009   Creado por logadmin en Ning.   Crear tu propia red social

Emblemas  |  Reportar un problema  |  Privacidad  |  Términos de servicio

Iniciar sesión en el chat