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 IX Ejercicios Opcionales ------------------------------------------------------------------------------- 1. Compruebe que Nagios est‡ activo -------------------------------------- En vez de simplemente comprobar que un servidor est‡ operativo en las PCs virtuales, podr’amos tambien comprobar que el servicio de Nagios est‡ disponible, solicitando el camino espec’fico /nagios3/. Esto implica que hay que pasar m‡s opciones al plugin de check_http. Para ver una descripci—n de las opciones disponibles, escriba esto: # /usr/lib/nagios/plugins/check_http (ayuda breve) # /usr/lib/nagios/plugins/check_http --help (en detalle) y por supuesto, puede navegar hasta la documentaci—n de Nagios o buscar en Google sobre check_http. Puede incluso ejecutar el plugin a mano para realizar una comprobaci—n œnica: # /usr/lib/nagios/plugins/check_http -H localhost -u /nagios3/ As’ que la meta es configurar Nagios para ejecutar check_http de esta manera: (pista: /etc/nagios-plugins/config/http.cfg) define command{ command_name check_http_arg command_line /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' '$ARG1$' } (pista: /etc/nagios3/conf.d/services_nagios2.cfg_ define service { hostgroup_name nagios-servers service_description NAGIOS check_command check_http_arg!-u /nagios3/ use generic-service } y por supuesto, necesitar‡ crear un hostgroup llamado nagios-servers para asignarle este servicio (pista: /etc/nagios3/conf.d/hostgroups_nagios2.cfg) Una vez hecho esto, compruebe que Nagios le advierte sobre un fallo de autenticaci—n (porque est‡ tratando de bajar la p‡gina sin proveer el usuario y la clave). Hay un par‡metro extra que se puede pasar a check_http_arg para proveer tal informaci—n. A ver si lo puede encontrar. ADVERTENCIA: en la tradici—n de "Debian lo sabe todo", la configuraci—n del comando check_http en /etc/nagios-plugins/config/http.cfg *NO ES LA MISMA* que se recomienda en la documentaci—n de Nagios. Le falta $ARG1$, as’ que cualquier par‡metro que se pase a check_http es ignorado. As’ que usted pensar‡ que est‡ monitorizando /nagios3/, pero en realidad est‡ monitorizando a root! Por esta raz—n es que tuvimos que crear una nueva definici—n de comando "check_http_arg". Usted podr’a crear una m‡s espec’fica como "check_nagios", o en su lugar podr’a modificar la definici—n de check_http de Ubuntu para ajustarla al uso est‡ndar. 2. Compruebe que SNMP est‡ activo en el servidor NOC ---------------------------------------------------- - Este ejercicio no funcionar‡ si no complet— la instalaci—n de MIBs SNMP adicionales al comienzo de la semana, y si no configur— /etc/snmp/snmp.conf apropiadamente. Si no est‡ seguro, Žstos eran los pasos: # apt-get install wget # cd /usr/share/mibs # wget http://noc.ws.nsrc.org/mibs/sample-mibs.tar # tar xvf sample-mibs.tar * Edite el archivo /etc/snmp/snmp.conf Cambie esta l’nea: mibs: ... a: mibs ALL Y agregue esta otra l’nea: mibdirs /usr/share/mibs/cisco:/usr/share/mibs/iana - Primero tendr‡ que agregar un chequeo de servicio para SNMP en el archivo /etc/nagios3/conf.d/services_nagios2.cfg. Aqu’ es donde Nagios es impresionante. Hay cientos, si no miles, de chequeos de servicio disponibles a travŽs de los diferentes sitios web sobre Nagios. Puede ver cu‡les plugins est‡n instalados por Ubuntu via el paquete nagios3, mirando en el siguiente directorio: # ls /usr/lib/nagios/plugins Como podr‡ verificar, ya existe un plugin llamado check_snmp disponible. Si est‡ interesado en las opciones del plugin, puede ejecutarlo as’: # /usr/lib/nagios/plugins/check_snmp (ayuda breve) # /usr/lib/nagios/plugins/check_snmp --help (en detalle) Puede usar el plugin check_snmp junto con Nagios para crear comprobaciones de sistema muy complejas o espec’ficas. - Ahora para ver los chequeos de servicio y host que se han creado con el plugin check_snmp, puede echar un vistazo en /etc/nagios-plutins/config/snmp.cfg. Ver‡ una gran cantidad de chequeos pre-configurados que usan SNMP, incluyendo: snmp_load snmp_cpustats snmp_procname snmp_disk snmp_mem snmp_swap snmp_procs snmp_users snmp_mem2 snmp_swap2 snmp_mem3 snmp_swap3 snmp_disk2 snmp_tcpopen snmp_tcpstats snmp_bgpstate check_netapp_uptime check_netapp_cupuload check_netapp_numdisks check_compaq_thermalCondition Y adem‡s, aœn mejor, puede crear chequeos de servicio muy f‡cilmente. Para el caso de verificar que snmpd (el agente SNMP de Linux) est‡ activo usaremos una solicitud SNMP. Si no recibimos una respuesta, entonces Nagios puede asumir que el servicio SNMP est‡ ca’do en tal nodo. Al usar chequeos de servicio tales como check_http, check_ssh y check_telnet, Žsto es lo que hacen tambiŽn. - En nuestro caso, vamos a crear un nuevo chequeo de servicio y llamarlo "check_system". Este chequeo se conectar‡ al nodo especificado, usar‡ una comunidad de s—lo lectura definida en clase y solicitar‡ via SNMP una varialble, en particular la descripci—n del sistema, o el OID "sysDescr.0". - Para ello, comience por editar: # editor /etc/nagios-plugins/config/snmp.cfg Al comienzo (o al final, como quiera) agregue la siguiente entrada: # 'check_system' command definition define command{ command_name check_system command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o sysDescr.0 } COPIE Y PEGUE esto. No lo escriba a mano y asegœrese de que la l’nea "command_line" es una sola l’nea. Note que "command_line" es una sola l’nea. Si lo copia y pega en su editor, la l’nea probablemente se partir‡ en dos, y tendr‡ que unirlas en una. - Ahora necesita editar otro archivo y agregar el chequeo de servicio. Haremos esta comprobaci—n a todos los servidores de la clase, o al groupo "debian-servers". # editor /etc/nagios3/conf.d/services_nagios2.cfg Al final, agregue: # Comprobar que SNMP est‡ activo en todos los servidores define service { hostgroup_name snmp-servers service_description SNMP check_command check_system!xxxxxx use generic-service notification_interval 0 ; set > 0 if you want to be renotified } "xxxxxx" es la comunidad definida anteriormente en clase. Note que hemos inclu’do nuestra propia comunidad aqu’ en lugar de configurarla globalmente en el archivo snmp.cfg. - Ahora debemos crear el grupo "snmp-servers". Edite el fichero /etc/nagios3/conf.d/hostgroups_nagios2.cfg y vaya al final. Agregue lo siguiente: # Lista de nodos con SNMP define hostgroup { hostgroup_name snmp-servers alias snmp servers members noc,localhost,pc1,pc2,pc3,pc4...pc36,rtr1,rtr2,rtr3...rtr9 } - Note que en "members" puede agregar todas las PCs y todos los enrutadores, ya que todos deber’an tener SNMP activado en este momento. Recuerde EXCLUIR su PC y usar localhost en su lugar. - Ahora verifique que todos los cambios son correctos y reinicie Nagios. # service nagios3 restart - *** DEFECTO en Ubutnu 12.04 LTS *** El paquete net-snmp 5.6.x no se instala el MIB IANAifType-MIB. Esto va a causar un error que va a causar que falla el plugin para snmp. Para rectifar la situacion haz lo siguiente (como root): # cd /usr/share/mibs # wget http://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib # mv ianaiftype-mib ianaiftype-mib.my Y, ahora puede seguir. - Si oprime el enlace "Service Detail" en el menœ, deber’a ver el chequeo de SNMP para el nodo NOC, y para cualesquiera otros nodos haya colocado en la l’nea "members" de m‡s arriba. FIN.