Agenda: ejercicios-nagios-IX-opcional.txt

File ejercicios-nagios-IX-opcional.txt, 10.5 KB (added by admin, 6 years ago)
Line 
1%Instalaci—n y Configuraci—n de Nagios
2%
3
4#Introduccion
5
6## Metas
7
8*Ejercicios opcionales para Nagios
9
10## Notas:
11
12* Los comandos precedidos por "$" implican que debe ejecutar el comando
13  como usuario genérico - no como root
14* Los comandos precedidos por "#" implican que debería estar trabajando como usuario root.
15* Los comandos con inicios de línea más específicos como "rtrX>" o
16  "mysql>" indican que debe ejecutar los comandos en un equipo remoto,
17  o dentro otro programa
18
19
20# Ejercicios
21
22
23# PARTE IX - Ejercicios Opcionales
24
25## 1. Compruebe que Nagios está activo
26
27En 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.
28
29Para ver una descripción de las opciones disponibles, escriba esto:
30
31~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32      # /usr/lib/nagios/plugins/check_http             (ayuda breve)
33      # /usr/lib/nagios/plugins/check_http --help      (en detalle)
34~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
35
36y 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:
37
38~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39# /usr/lib/nagios/plugins/check_http -H localhost -u /nagios3/
40~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41
42Así que la meta es configurar Nagios para ejecutar check_http de esta
43manera:
44
45~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
46{hint, /etc/nagios-plugins/config/http.cfg)
47
48define command{
49        command_name    check_http_url
50        command_line    /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -u '$ARG1$'
51        }
52
53        (hint, /etc/nagios3/conf.d/services_nagios2.cfg_
54
55define service {
56        hostgroup_name                  nagios-servers
57        service_description             NAGIOS
58        check_command                   check_http_url!/nagios3/
59        use                             generic-service
60}
61~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
62
63y por supuesto, necesitará crear un hostgroup llamado nagios-servers para asignarle este servicio (pista: /etc/nagios3/conf.d/hostgroups_nagios2.cfg)
64
65Una 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 para proveer tal información. A ver si lo puede encontrar.
66
67~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
68define command{
69        command_name    check_http_url_auth
70        command_line    /usr/lib/nagios/plugins/check_http -H '$HOSTADDRESS$' -u '$ARG1$' -a '$ARG2$'
71        }
72~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73
74y se invoca:
75 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76check_command                   check_http_url_auth!/nagios3/!nagiosadmin:password
77~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
78
79ADVERTENCIA: 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á monitoreando a root!
80
81Por esta raz—n  tuvimos que crear una nueva definici—n de comando "check_http_url". 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.
82
83## 2. Compruebe que SNMP está activo en el servidor NOC
84
85Este 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. Por favor, consulte los ejercicios originales de SNMP si no está seguro.
86           
87Primero 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:
88
89~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
90# ls /usr/lib/nagios/plugins
91~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92
93Como podrá verificar, ya existe un plugin llamado check_snmp disponible. Si está interesado en las opciones del plugin, puede ejecutarlo así:
94
95~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96    # /usr/lib/nagios/plugins/check_snmp          (ayuda breve)
97    # /usr/lib/nagios/plugins/check_snmp --help   (en detalle)
98~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
99
100Puede usar el plugin check_snmp junto con Nagios para crear comprobaciones de sistema muy complejas o específicas.
101
102Ahora 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:
103 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104      snmp_load
105      snmp_cpustats
106      snmp_procname
107      snmp_disk
108      snmp_mem
109      snmp_swap
110      snmp_procs
111      snmp_users
112      snmp_mem2
113      snmp_swap2
114      snmp_mem3
115      snmp_swap3
116      snmp_disk2
117      snmp_tcpopen
118      snmp_tcpstats
119      snmp_bgpstate
120      check_netapp_uptime
121      check_netapp_cupuload
122      check_netapp_numdisks
123      check_compaq_thermalCondition
124~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
125     
126Y 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.
127
128En nuestro caso, vamos a crear un nuevo chequeo de servicio y llamarlo
129"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".
130
131Para ello, comience por editar el arcihvo /etc/nagios-plugins/config/snmp.cfg
132
133~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
134# editor /etc/nagios-plugins/config/snmp.cfg
135~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
136
137Al comienzo (o al final, como quiera) agregue la siguiente entrada:
138
139~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
140# 'check_system' command definition
141define command{
142       command_name    check_system
143       command_line    /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C '$ARG1$' -o sysDescr.0
144~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
145     
146COPIE Y PEGUE esto. No lo escriba a mano y asegurarse de que la l’nea "command_line" es una sola línea.
147
148Note 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.
149         
150- 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".
151
152Edite el archivo /etc/nagios3/conf.d/services_nagios2.cfg
153
154~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
155# editor /etc/nagios3/conf.d/services_nagios2.cfg
156~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
157
158      Al final, agregue:
159
160~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
161# Comprobar que SNMP está activo en todos los servidores
162define service {
163        hostgroup_name                  snmp-servers
164        service_description             SNMP
165        check_command                   check_system!xxxxxx
166        use                             generic-service
167        notification_interval           0 ; set > 0 if you want to be renotified
168}
169~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
170
171"xxxxxx" es la comunidad definida anteriormente en clase.
172
173Note que hemos incluído nuestra propia comunidad aquí en lugar de
174configurarla globalmente en el archivo snmp.cfg. Usted debe cambiar el "xxxxx" por la comunidad SNMP dada en la clase o esta verificación no va a funcionar.
175       
176Ahora debemos crear el grupo "snmp-servers". Edite el fichero
177/etc/nagios3/conf.d/hostgroups_nagios2.cfg y vaya al final. Agregue lo
178siguiente:
179 
180~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~     
181# Lista de nodos con SNMP
182define hostgroup {
183           hostgroup_name       snmp-servers
184                   alias        snmp servers
185                   members      noc,localhost,pc1,pc2,pc3,pc4...pc36,rtr1,rtr2,rtr3...rtr9
186          }
187~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
188         
189Note 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.
190
191Ahora verifique que todos los cambios son correctos y reinicie Nagios.
192   
193~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
194      # service nagios3 restart
195~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
196
197*** DEFECTO en Ubutnu 12.04 LTS ***
198El 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):
199
200~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
201# cd /usr/share/mibs
202# wget http://www.iana.org/assignments/ianaiftype-mib/ianaiftype-mib
203# mv ianaiftype-mib ianaiftype-mib.my
204~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
205
206Y, ahora puede seguir.
207
208Si 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.
209