Instalaci—n y Configuraci—n de Nagios Notas: ------ * Los comandos precedidos por "$" implican que debe ejecutar el comando como usuario genŽrico - no como root * Los comandos precedidos por "#" implican que deber’a estar trabajando como usuario root. * Los comandos con inicios de l’nea m‡s espec’ficos como "RTR-GW>" o "mysql>" indican que debe ejecutar los comandos en un equipo remoto, o dentro otro programa Ejercicios --------- PARTE IV Relaciones de dependencia (padre-hijo) ----------------------------------------------------------------------------- Cada elemento es hijo de un switch o un router en la red del taller, EXCEPTO su enrutador (rtrX) y los otros miembros de su grupo. Ahora vamos a agregar una directiva "parents" para cada dispositivo que hayamos configurado. Si no est‡ seguro de la relaci—n padre-hijo, puede mirar el diagrama de la clase. Recuerde, la relaci—n depende del punto de vista de la instanacia de Nagios en su PC. 1. Agregar padres en switches.cfg --------------------------------- # cd /etc/nagios3/conf.d # editor switches.cfg Actualice la entrada: define host { use generic-host host_name sw alias Backbone Switch address 10.10.0.253 } as’: define host { use generic-host host_name sw alias Backbone Switch address 10.10.0.253 parents rtrX } Donde "rtrX" es el enrutador de su grupo. Ej. el grupo 1 usar‡ "rtr1", el grupo 2 "rtr2", etc. Grabe y salga del editor. 2. Configurar padres en routers.cfg ----------------------------------- # editor routers.cfg Para cada entrada agregaremos la l’nea "parents". O sea, que la definici—n de gw-rtr al comienzo del archivo, deber’a verse as’: define host { use generic-host host_name gw-rtr alias Enrutador del taller address 10.10.0.254 parents sw } Para todos los restantes rtrX, deber’a, tambiŽn, agregar una entrada as’: parents sw EXCEPTO para el enrutador de su grupo. Este NO DEBE tener una l’nea "parents". Si tiene una entrada para "ap1" (punto de acceso inal‡mbrico), entonces su padre es tambiŽn "sw", igual que los enrutadores. De manera que, si est‡ en el grupo 2, las secciones correspondientes a los grupos 1, 2 y 3 ser’an: define host { use generic-host host_name rtr1 alias Enrutador Grupo 1 address 10.10.1.254 parents sw } define host { use generic-host host_name rtr2 alias Enrutador Grupo 2 address 10.10.2.254 } define host { use generic-host host_name rtr3 alias Enrutador Grupo 3 address 10.10.3.254 parents sw } Actualice el resto del archivo, y luego grabe y salga del editor. 3. Agregar padres en pcs.cfg ----------------------------- Cada PC debe tener una l’nea "parents" con el enrutador del grupo correspondiente. En el caso del NOC, el padre es el switch del taller "sw". # # Classroom NOC # define host { use generic-host host_name noc alias Servidor NOC del taller address 10.10.0.250 parents sw } Para las PCs del grupo 1, deber’a ser: # # Grupo 1 # define host { use generic-host host_name pc1 alias pc1 address 10.10.1.1 parents rtr1 } define host { use generic-host host_name pc2 alias pc2 address 10.10.1.2 parents rtr1 } etcâ Haga esto con todas las PCs de los grupos restantes. Por ejemplo, pc5 en el grupo 2 tendr‡: parents rtr2 PERO NO AGREGUE PADRES A NINGUNA DE LAS PCS EN SU PROPIO GRUPO! REPITO - LAS PCS EN SU GRUPO NO DEBEN TENER UNA LINEA "parents" Grabe y salga. 4. Reinicie Nagios y vea el mapa de estado actualizado ------------------------------------------------------ # service nagios3 restart Si tiene errores, corr’jalos y trate de reiniciar de nuevo. Con el navegador, vaya a http://pcN.ws.nsrc.org/nagios3 y vaya al enlace "Map" de la izquierda. Su mapa deber’a verse bastante diferente. Deber’a ver un mapa que representa la red desde el punto de vista de Nagios. PARTE V Crear m‡s grupos de nodos ----------------------------------------------------------------------------- 0. En la interfaz web, vaya a los enlaces "Hostgroup Overview", "Hostgroup Summary", "Hostgroup Grid". Esto muestra una forma conveniente de agrupar nodos relacionados (ej. si est‡n en la misma ubicaci—n, o si son para el mismo prop—sito) 1. Actualice /etc/nagios3/conf.d/hostgroups_nagios2.cfg - Para los siguientes ejercicios ser‡ œtil si actualizamos o creamos los siguientes grupos de nodos: debian-servers routers switches Si edita el archivo /etc/nagios3/conf.d/hostgroups_nagios2.cfg, ver‡ una secci—n debian-servers que s—lo contiene a localhost. Actualice esta entrada para a–adir todas las PCs del taller, incluyendo el NOC (asumiendo que ha creado una entrada "noc" en su pcs.cfg). Recuerde saltar la entrada de su PC, ya que est‡ representada por localhost. # editor /etc/nagios3/conf.d/hostgroups_nagios2.cfg Actualice la entrada que dice: # A list of your Debian GNU/Linux servers define hostgroup { hostgroup_name debian-servers alias Debian GNU/Linux Servers members localhost } Para que el par‡metro "members" contenga algo como sigue. Use el diagrama de red de su clase para confirmar el nœmero exacto de m‡quinas y nombres en su taller. members localhost,pc1,pc2,pc3,pc4,pc5,pc6,pc7,pc8,pc9,pc10,pc11,pc12, \ pc13,pc14,pc15,pc16,pc17,pc18,pc19,pc20,pc21,pc22,pc23,pc24,pc25,\ pc26,pc27,pc28,pc29,pc30,pc31,pc32,pc33,pc34,pc35,pc36 Asegœrese de poner una "\" al final de cada l’nea. De lo contrario obtendr‡ un error cuando reinicie Nagios. Recuerde que su propia PC es "localhost", as’ que debe saltar esa entrada. - Una vez hecho esto, agregue un grupo de nodos m‡s para el/los switch(es) del taller. Si hay m‡s de un switch (sw.ws.nsrc.org), incluya esto en la l’nea "members" de m‡s abajo, de lo contrario la entrada en hostgroups_nagios3.cfg deber’a ser como sigue (COPIAR Y PEGAR): # A list of our switches define hostgroup { hostgroup_name switches alias Classroom Switches members sw } - Cuando termine no olvide verificar y reiniciar Nagios. 2. Vuelva al navegador y compruebe que est‡n presentes sus nuevos Host Groups. PARTE VI Informaci—n Extendida ("hacer los gr‡ficos m‡s bonitos") ----------------------------------------------------------------------------- 1. Actualice extinfo_nagios2.cfg - Si quiere usar los iconos correspondientes para cada nodo definido en Nagios Žste es el sitio. Tenemos tres tipos de dispositivos: Enrutadores Cisco Switches Cisco Servidores Ubuntu Hay un repositorio bastante grande con im‡genes para iconos disponible aqu’: /usr/share/nagios/htdocs/images/logos/ Estos se instalan por defecto como paquetes dependientes del nagios3 en Ubuntu. En algunos casos encontrar‡ iconos espec’ficos al modelo de su hardware, pero para hacer las cosas m‡s simples usaremos los siguientes en este ejercicio: /usr/share/nagios/htodcs/images/logos/base/debian.* /usr/share/nagios/htdocs/images/logos/cook/router.* /usr/share/nagios/htdocs/images/logos/cook/switch.* - El pr—ximo paso es editar el archivo /etc/nagios3/conf.d/extinfo_nagios2.cfg e indicar a Nagios cu‡l imagen debe usar para representar su dispositivo. # editor /etc/nagios3/conf.d/extinfo_nagios2.cfg As’ es como se ver’a una entrada de enrutador (ya existe una entrada para debian-uesrs que funciona tal cual). Note que el modelo de enrutador (3600) no es tan importante. La imagen representa un enrutador en general. define hostextinfo { hostgroup_name routers icon_image cook/router.png icon_image_alt Cisco Routers (7200) vrml_image router.png statusmap_image cook/router.gd2 } Note que podemos simplemente usar "hostgroup_name routers", ya que Žste ya ha sido definido en el archivo hostgroups_nagios2.cfg. Esto hace que configurar mœltiples elementos semejantes sea m‡s f‡cil. Ahora agregue una entrada para sus switches. Cuando termine, revise sus cambios y reinicie Nagios. Eche un vistazo al mapa de estado (Status Map) en la interfaz web. Deber’a verse mucho m‡s bonito, con iconos en vez de s’mbolos de interrogaci—n. PARTE VII Crear Grupos de Servicio ----------------------------------------------------------------------------- 1. Cree grupos de servicio para SSH y HTTP para cada groupo de PCs. - La idea aqu’ es crear tres grupos de servicios. Cada grupo ser‡ para una cuarta parte del taller. Queremos ver estas PCs agrupadas e incluir el estado de sus servicios SSH y HTTP. Para ello, cree y edite este archivo: # cd /etc/nagios3/conf.d (por si acaso) # editor servicegroups.cfg He aqu’ un ejemplo con el grupo 1: define servicegroup { servicegroup_name group1-services alias Servicios del Grupo 1 members pc1,SSH,pc1,HTTP,pc2,SSH,pc2,HTTP,pc3,SSH,pc3,HTTP,pc4,SSH,pc4,HTTP } - F’jese que si la l’nea de miembros es muy larga, puede usar "\" al final para continuar en la l’nea de abajo. - Note que "SSH" y "HTTP" necesitan estar en mayœsculas, ya que as’ es como est‡n definidas en el service_description del archivo /etc/nagios3/conf.d/services_nagios2.cfg - A–ada una entrada para otros grupos de servidores tambiŽn. - CRITICO: Cuando cree una entrada para su grupo, recuerde usar "localhost" en lugar del nombre de su PC "pcN", ya que s—lo ha definido su PC como "localhost" en el archivo hostgroups_nagios2.cfg. - Guarde y verifique sus cambios y reinicie Nagios. Ahora, si oprime el enlace de Service Groups en el menœ de la interfaz web, deber’a ver esta informaci—n agrupada. PARTE VIII Configure acceso para invitados (guest) en la interfaz web de Nagios --------------------------------------------------------------------- 1. Vamos a editar el archivo /etc/nagios3/cgi.cfg para dar acceso read-only al usuario "guest" en la interfaz web de Nagios - Nagios por defecto est‡ configurado para dar acceso completo (r/w) a travŽs de la interfaz web al usuario "nagiosadmin". Puede cambiar el nombre de este usuario, agregar otros usuarios, cambiar c—mo se autentifican los usuarios, quŽ usuarios tienen acceso a quŽ recursos y mucho m‡s, por medio del archivo cgi.cfg. - Primero, vamos a crear el usuario "guest" y un password en el archivo httpasswd.users. # htpasswd /etc/nagios3/htpasswd.users guest Puede usar cualquier password que quiera (o ninguno). Por ejemplo, el password "guest" ser’a una buena opci—n. - Siguiente, edite el archivo /etc/nagios3/cgi.cfg y busque quŽ tipo de acceso se le ha asignado al usuario nagiosadmin. Por defecto, ver‡ las siguientes directivas (note, hay comentarios entre cada directiva): authorized_for_system_information=nagiosadmin authorized_for_configuration_information=nagiosadmin authorized_for_system_commands=nagiosadmin authorized_for_all_services=nagiosadmin authorized_for_all_hosts=nagiosadmin authorized_for_all_service_commands=nagiosadmin authorized_for_all_host_commands=nagiosadmin Ahora dig‡mosle a Nagios que permita al usuario "guest" tener algo de acceso a la informaci—n a travŽs de la interfaz web. Puede elegir lo que desee, pero lo que ser’a m‡s t’pico es: authorized_for_system_information=nagiosadmin,guest authorized_for_configuration_information=nagiosadmin,guest authorized_for_system_commands=nagiosadmin authorized_for_all_services=nagiosadmin,guest authorized_for_all_hosts=nagiosadmin,guest authorized_for_all_service_commands=nagiosadmin authorized_for_all_host_commands=nagiosadmin - Note que no damos al usuario guest acceso a los comandos de sistema, comandos de servicio ni comandos de host. - Al terminar los cambios, grabe el archivo cgi.cfg, verifique y reinicie Nagios. - Para ver si puede ingresar como "guest", deber‡ eliminar sus "cookies" del navegador, o abrir un navegador alternativo si lo tiene. No notar‡ ninguna diferencia en la interfaz web. La diferencia est‡ en que algunas de las opciones disponibles en el menœ no funcionar‡n (por ejemplo, forzar un chequeo de nodo o servicio, programaci—n de chequeos, comentarios, etc). FIN.