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, de cualquier modo os dejo varios links de informacion basica.
Empezando con Nagios
Iniciacion con Nagios
Descarga de Nagios
Artículo traducido de: http://www.debian-administration.org/articles/299)
# 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, de cualquier modo os dejo varios links de informacion basica.
Empezando con Nagios
Iniciacion con Nagios
Descarga de Nagios
Artículo traducido de: http://www.debian-administration.org/articles/299)
Comentarios