Artículo traducido de: http://www.debian-administration.org/articles/299
Nagios es un potente y modular sistema de monitorización de red que puede ser usado para monitorizar algunos servicios de red como smtp, http y dns en hosts remotos. También tiene soporte para snmp que permite chequear cosas como la carga del procesador en routers y servidores. No puedo cubrir todas las cosa que nagios puede hacer en este artículo, así que sólo hablaré de lo básico para instalarlo y ponerlo a funcionar.
# apt-get install nagios-text
Primero necesitamos definir la gente que será notificada, y definir como serán notificados. En el ejemplo de abajo, defino dos usuarios, joe y paul. Joe es el guru de la red y se encarga de los routers y los switches. Paul es el chico de sistemas, y se encarga de los servidores. Los dos serán notificados via email y via pager. Nótese que si va a monitorizar su servidor de correo, quizás quiera usar un metodo de notificación alternativo al email. Si su servidor de correo cae, no podrá mandar emails a nadie para notificarles!
En ese caso quizás quiera utilizar un servidor pager para enviar mensajes de texto a un teléfono o un pager, o instalar un segundo monitor nagios que use otro servidor de correo diferente para enviar emails.
Edite /etc/nagios/contacts.cfg y añada los siguientes usuarios:
define contact{
contact_name joe
alias Joe Blow
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email,notify-by-pager
host_notification_commands host-notify-by-email,host-notify-by-epager
email joe@yourdomain.com
pager 5555555@pager.yourdomain.com
}
define contact{
contact_name paul
alias Paul Shiznit
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email,notify-by-epager
host_notification_commands host-notify-by-email,host-notify-by-epager
email paul@yourdomain.com
pager 5556666@pager.yourdomain.com
}
Ahora añada los usuarios a los grupos.
En /etc/nagios/contactgroups.cfg añada lo siguiente:
define contactgroup{
contactgroup_name router_admin
alias Network Administrators
members joe
}
define contactgroup{
contactgroup_name server_admin
alias Systems Administrators
members paul
}
Puede añadir múltiples miembros a un grupo de contacto separándolos mediante comas.
Ahora defina algunos hosts para monitorizar. Para mi ejemplo, he definido dos máquinas, un servidor de correo y un router.
Edite /etc/nagios/hosts.cfg y añada:
define host{
use generic-host
host_name gw1.yourdomain.com
alias Gateway Router
address 10.0.0.1
check_command check-host-alive
max_check_attempts 20
notification_interval 240
notification_period 24x7
notification_options d,u,r
}
define host{
use generic-host
host_name mail.yourdomain.com
alias Mail Server
address 10.0.0.100
check_command check-host-alive
max_check_attempts 20
notification_interval 240
notification_period 24x7
notification_options d,u,r
}
Ahora añadimos los hosts a grupos. He definido grupos llamados ‘routers’ y ‘servers’ y añadido el router y el servidor de correo respectivamente.
Edite /etc/nagios/hostgroups.cfg
define hostgroup{
hostgroup_name routers
alias Routers
contact_groups router_admin
members gw1.yourdomain.com
}
define hostgroup{
hostgroup_name servers
alias Servers
contact_groups server_admin
members mail.yourdomain.com
}
Otra vez, para múltiples miembros, simplemente sepárelos con comas.
Lo siguiente es definir que servicios hay que monitorizar en cada host. Nagios viene con múltiples plugins para monitorización. En un sistema debian sarge, se encuentran en /usr/lib/nagios/plugins. En este caso queremos monitorizar el servicio smtp en el servidor de correo, y el chequear el ping en el router.
Edite /etc/nagios/services.cfg
define service{
use generic-service
host_name mail.yourdomain.com
service_description SMTP
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups server_admin
notification_interval 240
notification_period 24x7
notification_options w,u,c,r
check_command check_smtp
}
define service{
use generic-service
host_name gw1.yourdomain.com
service_description PING
is_volatile 0
check_period 24x7
max_check_attempts 3
normal_check_interval 5
retry_check_interval 1
contact_groups router_admin
notification_interval 240
notification_period 24x7
notification_options w,u,c,r
check_command check_ping!100.0,20%!500.0,60%
}
Y eso es todo. Para probar su configuración puede ejecutar
# nagios -v /etc/nagios/nagios.cfg
Si todo va bien podemos reiniciar nagios y moverlo al sitio de apache para obtener la vista visual del monitor.
# /etc/init.d/nagios restart
Asumiendo que tiene un apache instalado y funcionando, puede añadir el fichero apache.conf que viene incluido en el paquete nagios para hacer funcionar la interfaz de administración cgi de nagios. La interfaz web no es obligatoria para correr nagios, pero es altamente recomendable. La forma más fácil de tenerla funcionando es copiar el fichero proporcionado sobre su instalación de apache. En mi sistema, tengo corriendo apache2. Los sistemas con apache 1.3.xx tendrán pequeñas diferencias.
# cp /etc/nagios/apache.conf /etc/apache2/sites-enabled/nagios
Por supuesto querrá configurarlo como un servidor virtual, pero dejo esto como ejercicio para el lector. Ahora queremos configurar un usuario con permisos para ver la interfaz cgi. Por defecto, nagios proporciona acceso administrativo completo al usuario nagiosadmin. Nagios usa el estilo de autenticación apache htpasswd. Así que añadimos un usuario y contraseña al fichero htpasswd por defecto de nagios. Aquí añado el usuario nagiosadmin con contraseña mypassword al fichero htpasswd de nagios.
# htpasswd2 -nb nagiosadmin mypassword >> /etc/nagios/htpasswd.users
Ahora puede reiniciar apache y logearse en
http://tu.servidor.nagios/nagios
Nagios es una herramienta muy potente para monitorizar redes. Sólo he tocado lo básico aquí, pero lo suficiente para tenerlo instalado y funcionando. Posiblemente, una vez que lo tenga, empezará a experimentar con las increíbles características y plugins que hay disponibles. La documentación incluida con la interfaz cgi es muy buena y detallada.
![Validate my RSS feed [Valid RSS]](http://validator.w3.org/feed/images/valid-rss.png)
Instalé nagios, hice correr sin problemas, reinicié nagios no me da ningun error, pero cuando ingreso via WEB me da el siguiente error
————————————————————————–
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, root@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Apache/2.0.52 (Fedora) Server at 172.28.2.1 Port 80
——————————————————————————
al revisar los log de http tengo el siguiente error:
[Thu Sep 07 15:44:33 2006] [error] [client 172.28.2.1] (13)Permission denied: exec of ‘/usr/lib/nagios/cgi/tac.cgi’ failed, referer: http://172.28.2.1/nagios/side.html
[Thu Sep 07 15:44:33 2006] [error] [client 172.28.2.1] Premature end of script headers: tac.cgi, referer: http://172.28.2.1/nagios/side.html
[Thu Sep 07 15:44:33 2006] [error] [client 172.28.2.1] File does not exist: /var/www/html/favicon.ico
[Thu Sep 07 15:45:19 2006] [error] [client 172.28.1.1] File does not exist: /var/www/html/zys
[Thu Sep 07 15:58:03 2006] [error] [client 194.149.73.250] request failed: error reading the headers
[Thu Sep 07 16:12:14 2006] [error] [client 172.28.2.1] (13)Permission denied: exec of ‘/usr/lib/nagios/cgi/status.cgi’ failed, referer: http://172.28.2.1/nagios/side.html
[Thu Sep 07 16:12:14 2006] [error] [client 172.28.2.1] Premature end of script headers: status.cgi, referer: http://172.28.2.1/nagios/side.html
[Thu Sep 07 16:12:14 2006] [error] [client 172.28.2.1] File does not exist: /var/www/html/favicon.ico
[Thu Sep 07 16:12:15 2006] [error] [client 172.28.2.1] (13)Permission denied: exec of ‘/usr/lib/nagios/cgi/tac.cgi’ failed, referer: http://172.28.2.1/nagios/side.html
[Thu Sep 07 16:12:15 2006] [error] [client 172.28.2.1] Premature end of script headers: tac.cgi, referer: http://172.28.2.1/nagios/side.html
[Thu Sep 07 16:12:15 2006] [error] [client 172.28.2.1] File does not exist: /var/www/html/favicon.ico
[Thu Sep 07 16:22:06 2006] [error] [client 172.28.1.1] File does not exist: /var/www/html/zys
Quisiera saber por que ,e da el mensaje… les quedo muy agradecido por su atenciòn.
ah trabajo con fedora core 3
Mas info de la instalación de FreeBSD Nagios Fruity. espero que os guste.
http://gnudocs.dyndns.info/?q=node/3
Tengo exactamente el mismo problema que Lorenzo, alguna solucion???
Debes darle permisos al usuario que corre apache sobre la carpeta donde se ha instalado el nagios para poder ver la interfaz de Nagios vía web.
Este manual está muy bien
http://nagios.linuxbaja.org/?q=node/15
http://www.nagios.org/faqs/viewfaq.php?faq_id=118
Se configuró Nagios en un servidor y al monitorear la memoria, aparece el mensaje: check_winmem IP COMMUNITY warnlevel criticallevel.
Que puedo revisar, no conozco bien nagios, es mi primer servidor. gracias.
me aparece el siguiente menseje:
Error: Could not register timeperiod (config file ‘/etc/nagios/timeperiods.cfg’, line 61)
Muy bueno el tutorial, basico, conciso y de gran ayuda para la iniciarse en las herramientas de monitoreo.
Muchas Gracias.
Diego Unkuch G.
Telcomunicaciones. IT
hay un problema en esto
pues yo tengo varios administradores
y diferentes servicio y necesito que cada servicio tenga una direccion electronica unica
o sea que cada servicio envie correo a cada administrador
saludos
A mi me funciona bien y lo instale de la siguiente manera en Debian, en consola escribi: apt-get install nagios2, agregue el usuario como lo planteo Angel arriba y listo, solo me falta configurar algunas cosas pero no hay que complicarse tanto si uno es nuevo en esto asi como yo
Que tal, todo bien, exepto los mapas 3., que estan copn script cgi, necesitas instalr un plugins para imagenes .gd2…..
pro bien
yo lo instale y configure en base a los manuales que aparecen en la pagina oficial de nagios http://nagios.sourceforge.net/docs/nagios-3.pdf esta en ingles pero es muy intuitivo…
espero les sirva
Tengo implementado Nagios la versión 2.x pero desde hace unos dias tengo este problema con algunos servicios de los hosts que estan dados de alta.
Algunos servicios me arrojan este status:
UNKNOWN – Remote command execution failed: Received disconnect from IP del host: 2: Password change required but no TTY available
CRITICAL – Plugin timed out while executing system call
Me pudieran ayudar, para ver que es lo que tengo que revisar en la configuración.
Para los que le da error de internal server en apache tienen que agregar el usuario nagiosadmin para accesar, usen estos comandos para hacerlo
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Les va a pedir que creen un pass, ese pass es el que usan para ingresar a la interfaz web, al igual que el nombre de usuario nagiosadmin.
Reinicien el apache
/etc/init.d/apache2 reload
Saludos!
Hola,alguien tiene experiencia en instalación de cliente NRPE en AIX para ser monitorizado desde server nagios en Centos, y que pueda ayudarme.
De antemano muchas gracias.
como puedo tener varios usuarios de nagios y quitar la parte de administrador?