1 | Instalacin y Configuracin de Nagios |
---|
2 | |
---|
3 | Notas: |
---|
4 | ------ |
---|
5 | * Los comandos precedidos por "$" implican que debe ejecutar el comando |
---|
6 | como usuario genrico - no como root |
---|
7 | * Los comandos precedidos por "#" implican que debera estar trabajando |
---|
8 | como usuario root. |
---|
9 | * Los comandos con inicios de lnea ms especficos como "RTR-GW>" o |
---|
10 | "mysql>" indican que debe ejecutar los comandos en un equipo remoto, |
---|
11 | o dentro otro programa |
---|
12 | |
---|
13 | |
---|
14 | Ejercicios |
---|
15 | --------- |
---|
16 | |
---|
17 | PARTE IV |
---|
18 | Relaciones de dependencia (padre-hijo) |
---|
19 | ----------------------------------------------------------------------------- |
---|
20 | |
---|
21 | Cada elemento es hijo de un switch o un router en la red del taller, EXCEPTO |
---|
22 | su enrutador (rtrX) y los otros miembros de su grupo. Ahora vamos a agregar una |
---|
23 | directiva "parents" para cada dispositivo que hayamos configurado. |
---|
24 | |
---|
25 | Si no est seguro de la relacin padre-hijo, puede mirar el diagrama de la clase. |
---|
26 | Recuerde, la relacin depende del punto de vista de la instanacia de Nagios en su |
---|
27 | PC. |
---|
28 | |
---|
29 | |
---|
30 | 1. Agregar padres en switches.cfg |
---|
31 | --------------------------------- |
---|
32 | |
---|
33 | # cd /etc/nagios3/conf.d |
---|
34 | # editor switches.cfg |
---|
35 | |
---|
36 | Actualice la entrada: |
---|
37 | |
---|
38 | |
---|
39 | define host { |
---|
40 | use generic-host |
---|
41 | host_name sw |
---|
42 | alias Backbone Switch |
---|
43 | address 10.10.0.253 |
---|
44 | } |
---|
45 | |
---|
46 | |
---|
47 | as: |
---|
48 | |
---|
49 | |
---|
50 | define host { |
---|
51 | use generic-host |
---|
52 | host_name sw |
---|
53 | alias Backbone Switch |
---|
54 | address 10.10.0.253 |
---|
55 | parents rtrX |
---|
56 | } |
---|
57 | |
---|
58 | |
---|
59 | Donde "rtrX" es el enrutador de su grupo. Ej. el grupo 1 usar "rtr1", |
---|
60 | el grupo 2 "rtr2", etc. |
---|
61 | |
---|
62 | Grabe y salga del editor. |
---|
63 | |
---|
64 | 2. Configurar padres en routers.cfg |
---|
65 | ----------------------------------- |
---|
66 | |
---|
67 | # editor routers.cfg |
---|
68 | |
---|
69 | Para cada entrada agregaremos la lnea "parents". O sea, que la definicin |
---|
70 | de gw-rtr al comienzo del archivo, debera verse as: |
---|
71 | |
---|
72 | define host { |
---|
73 | use generic-host |
---|
74 | host_name gw-rtr |
---|
75 | alias Enrutador del taller |
---|
76 | address 10.10.0.254 |
---|
77 | parents sw |
---|
78 | } |
---|
79 | |
---|
80 | Para todos los restantes rtrX, debera, tambin, agregar una entrada as: |
---|
81 | |
---|
82 | parents sw |
---|
83 | |
---|
84 | EXCEPTO para el enrutador de su grupo. Este NO DEBE tener una lnea "parents". |
---|
85 | Si tiene una entrada para "ap1" (punto de acceso inalmbrico), entonces su padre |
---|
86 | es tambin "sw", igual que los enrutadores. |
---|
87 | |
---|
88 | De manera que, si est en el grupo 2, las secciones correspondientes a los grupos |
---|
89 | 1, 2 y 3 seran: |
---|
90 | |
---|
91 | |
---|
92 | define host { |
---|
93 | use generic-host |
---|
94 | host_name rtr1 |
---|
95 | alias Enrutador Grupo 1 |
---|
96 | address 10.10.1.254 |
---|
97 | parents sw |
---|
98 | } |
---|
99 | |
---|
100 | define host { |
---|
101 | use generic-host |
---|
102 | host_name rtr2 |
---|
103 | alias Enrutador Grupo 2 |
---|
104 | address 10.10.2.254 |
---|
105 | } |
---|
106 | |
---|
107 | define host { |
---|
108 | use generic-host |
---|
109 | host_name rtr3 |
---|
110 | alias Enrutador Grupo 3 |
---|
111 | address 10.10.3.254 |
---|
112 | parents sw |
---|
113 | } |
---|
114 | |
---|
115 | |
---|
116 | Actualice el resto del archivo, y luego grabe y salga del editor. |
---|
117 | |
---|
118 | |
---|
119 | 3. Agregar padres en pcs.cfg |
---|
120 | ----------------------------- |
---|
121 | |
---|
122 | Cada PC debe tener una lnea "parents" con el enrutador del grupo correspondiente. |
---|
123 | En el caso del NOC, el padre es el switch del taller "sw". |
---|
124 | |
---|
125 | # |
---|
126 | # Classroom NOC |
---|
127 | # |
---|
128 | |
---|
129 | define host { |
---|
130 | use generic-host |
---|
131 | host_name noc |
---|
132 | alias Servidor NOC del taller |
---|
133 | address 10.10.0.250 |
---|
134 | parents sw |
---|
135 | } |
---|
136 | |
---|
137 | |
---|
138 | Para las PCs del grupo 1, debera ser: |
---|
139 | |
---|
140 | |
---|
141 | # |
---|
142 | # Grupo 1 |
---|
143 | # |
---|
144 | |
---|
145 | define host { |
---|
146 | use generic-host |
---|
147 | host_name pc1 |
---|
148 | alias pc1 |
---|
149 | address 10.10.1.1 |
---|
150 | parents rtr1 |
---|
151 | } |
---|
152 | |
---|
153 | define host { |
---|
154 | use generic-host |
---|
155 | host_name pc2 |
---|
156 | alias pc2 |
---|
157 | address 10.10.1.2 |
---|
158 | parents rtr1 |
---|
159 | } |
---|
160 | |
---|
161 | |
---|
162 | etcâ |
---|
163 | |
---|
164 | Haga esto con todas las PCs de los grupos restantes. Por ejemplo, pc5 en el |
---|
165 | grupo 2 tendr: |
---|
166 | |
---|
167 | parents rtr2 |
---|
168 | |
---|
169 | PERO NO AGREGUE PADRES A NINGUNA DE LAS PCS EN SU PROPIO GRUPO! |
---|
170 | REPITO - LAS PCS EN SU GRUPO NO DEBEN TENER UNA LINEA "parents" |
---|
171 | |
---|
172 | Grabe y salga. |
---|
173 | |
---|
174 | 4. Reinicie Nagios y vea el mapa de estado actualizado |
---|
175 | ------------------------------------------------------ |
---|
176 | |
---|
177 | # service nagios3 restart |
---|
178 | |
---|
179 | Si tiene errores, corrjalos y trate de reiniciar de nuevo. |
---|
180 | |
---|
181 | Con el navegador, vaya a http://pcN.ws.nsrc.org/nagios3 y vaya al enlace "Map" |
---|
182 | de la izquierda. Su mapa debera verse bastante diferente. Debera ver un mapa |
---|
183 | que representa la red desde el punto de vista de Nagios. |
---|
184 | |
---|
185 | |
---|
186 | PARTE V |
---|
187 | Crear ms grupos de nodos |
---|
188 | ----------------------------------------------------------------------------- |
---|
189 | |
---|
190 | 0. En la interfaz web, vaya a los enlaces "Hostgroup Overview", "Hostgroup |
---|
191 | Summary", "Hostgroup Grid". Esto muestra una forma conveniente de |
---|
192 | agrupar nodos relacionados (ej. si estn en la misma ubicacin, o si son |
---|
193 | para el mismo propsito) |
---|
194 | |
---|
195 | 1. Actualice /etc/nagios3/conf.d/hostgroups_nagios2.cfg |
---|
196 | |
---|
197 | - Para los siguientes ejercicios ser til si actualizamos o creamos |
---|
198 | los siguientes grupos de nodos: |
---|
199 | |
---|
200 | debian-servers |
---|
201 | routers |
---|
202 | switches |
---|
203 | |
---|
204 | Si edita el archivo /etc/nagios3/conf.d/hostgroups_nagios2.cfg, ver |
---|
205 | una seccin debian-servers que slo contiene a localhost. Actualice |
---|
206 | esta entrada para aadir todas las PCs del taller, incluyendo el NOC |
---|
207 | (asumiendo que ha creado una entrada "noc" en su pcs.cfg). Recuerde |
---|
208 | saltar la entrada de su PC, ya que est representada por localhost. |
---|
209 | |
---|
210 | # editor /etc/nagios3/conf.d/hostgroups_nagios2.cfg |
---|
211 | |
---|
212 | Actualice la entrada que dice: |
---|
213 | |
---|
214 | # A list of your Debian GNU/Linux servers |
---|
215 | define hostgroup { |
---|
216 | hostgroup_name debian-servers |
---|
217 | alias Debian GNU/Linux Servers |
---|
218 | members localhost |
---|
219 | } |
---|
220 | |
---|
221 | Para que el parmetro "members" contenga algo como sigue. Use el diagrama |
---|
222 | de red de su clase para confirmar el nmero exacto de mquinas y nombres |
---|
223 | en su taller. |
---|
224 | |
---|
225 | members localhost,pc1,pc2,pc3,pc4,pc5,pc6,pc7,pc8,pc9,pc10,pc11,pc12, \ |
---|
226 | pc13,pc14,pc15,pc16,pc17,pc18,pc19,pc20,pc21,pc22,pc23,pc24,pc25,\ |
---|
227 | pc26,pc27,pc28,pc29,pc30,pc31,pc32,pc33,pc34,pc35,pc36 |
---|
228 | |
---|
229 | Asegrese de poner una "\" al final de cada lnea. De lo contrario obtendr |
---|
230 | un error cuando reinicie Nagios. Recuerde que su propia PC es "localhost", as |
---|
231 | que debe saltar esa entrada. |
---|
232 | |
---|
233 | - Una vez hecho esto, agregue un grupo de nodos ms para el/los switch(es) del |
---|
234 | taller. Si hay ms de un switch (sw.ws.nsrc.org), incluya esto en la lnea |
---|
235 | "members" de ms abajo, de lo contrario la entrada en hostgroups_nagios3.cfg |
---|
236 | debera ser como sigue (COPIAR Y PEGAR): |
---|
237 | |
---|
238 | # A list of our switches |
---|
239 | define hostgroup { |
---|
240 | hostgroup_name switches |
---|
241 | alias Classroom Switches |
---|
242 | members sw |
---|
243 | } |
---|
244 | |
---|
245 | |
---|
246 | - Cuando termine no olvide verificar y reiniciar Nagios. |
---|
247 | |
---|
248 | 2. Vuelva al navegador y compruebe que estn presentes sus nuevos Host Groups. |
---|
249 | |
---|
250 | |
---|
251 | PARTE VI |
---|
252 | Informacin Extendida ("hacer los grficos ms bonitos") |
---|
253 | ----------------------------------------------------------------------------- |
---|
254 | |
---|
255 | 1. Actualice extinfo_nagios2.cfg |
---|
256 | |
---|
257 | - Si quiere usar los iconos correspondientes para cada nodo definido en Nagios |
---|
258 | ste es el sitio. Tenemos tres tipos de dispositivos: |
---|
259 | |
---|
260 | Enrutadores Cisco |
---|
261 | Switches Cisco |
---|
262 | Servidores Ubuntu |
---|
263 | |
---|
264 | Hay un repositorio bastante grande con imgenes para iconos disponible |
---|
265 | aqu: |
---|
266 | |
---|
267 | /usr/share/nagios/htdocs/images/logos/ |
---|
268 | |
---|
269 | Estos se instalan por defecto como paquetes dependientes del nagios3 |
---|
270 | en Ubuntu. En algunos casos encontrar iconos especficos al modelo |
---|
271 | de su hardware, pero para hacer las cosas ms simples usaremos los |
---|
272 | siguientes en este ejercicio: |
---|
273 | |
---|
274 | /usr/share/nagios/htodcs/images/logos/base/debian.* |
---|
275 | /usr/share/nagios/htdocs/images/logos/cook/router.* |
---|
276 | /usr/share/nagios/htdocs/images/logos/cook/switch.* |
---|
277 | |
---|
278 | - El prximo paso es editar el archivo /etc/nagios3/conf.d/extinfo_nagios2.cfg |
---|
279 | e indicar a Nagios cul imagen debe usar para representar su dispositivo. |
---|
280 | |
---|
281 | # editor /etc/nagios3/conf.d/extinfo_nagios2.cfg |
---|
282 | |
---|
283 | As es como se vera una entrada de enrutador (ya existe una entrada |
---|
284 | para debian-uesrs que funciona tal cual). Note que el modelo de enrutador |
---|
285 | (3600) no es tan importante. La imagen representa un enrutador en general. |
---|
286 | |
---|
287 | |
---|
288 | define hostextinfo { |
---|
289 | hostgroup_name routers |
---|
290 | icon_image cook/router.png |
---|
291 | icon_image_alt Cisco Routers (7200) |
---|
292 | vrml_image router.png |
---|
293 | statusmap_image cook/router.gd2 |
---|
294 | } |
---|
295 | |
---|
296 | Note que podemos simplemente usar "hostgroup_name routers", ya que ste ya |
---|
297 | ha sido definido en el archivo hostgroups_nagios2.cfg. Esto hace que |
---|
298 | configurar mltiples elementos semejantes sea ms fcil. |
---|
299 | |
---|
300 | Ahora agregue una entrada para sus switches. Cuando termine, revise sus cambios |
---|
301 | y reinicie Nagios. Eche un vistazo al mapa de estado (Status Map) en la |
---|
302 | interfaz web. Debera verse mucho ms bonito, con iconos en vez de smbolos |
---|
303 | de interrogacin. |
---|
304 | |
---|
305 | |
---|
306 | PARTE VII |
---|
307 | Crear Grupos de Servicio |
---|
308 | ----------------------------------------------------------------------------- |
---|
309 | |
---|
310 | 1. Cree grupos de servicio para SSH y HTTP para cada groupo de PCs. |
---|
311 | |
---|
312 | - La idea aqu es crear tres grupos de servicios. Cada grupo ser para |
---|
313 | una cuarta parte del taller. Queremos ver estas PCs agrupadas e incluir |
---|
314 | el estado de sus servicios SSH y HTTP. Para ello, cree y edite este archivo: |
---|
315 | |
---|
316 | # cd /etc/nagios3/conf.d (por si acaso) |
---|
317 | # editor servicegroups.cfg |
---|
318 | |
---|
319 | He aqu un ejemplo con el grupo 1: |
---|
320 | |
---|
321 | define servicegroup { |
---|
322 | servicegroup_name group1-services |
---|
323 | alias Servicios del Grupo 1 |
---|
324 | members pc1,SSH,pc1,HTTP,pc2,SSH,pc2,HTTP,pc3,SSH,pc3,HTTP,pc4,SSH,pc4,HTTP |
---|
325 | } |
---|
326 | |
---|
327 | - Fjese que si la lnea de miembros es muy larga, puede usar "\" al final para |
---|
328 | continuar en la lnea de abajo. |
---|
329 | |
---|
330 | - Note que "SSH" y "HTTP" necesitan estar en maysculas, ya que as es como estn |
---|
331 | definidas en el service_description del archivo /etc/nagios3/conf.d/services_nagios2.cfg |
---|
332 | |
---|
333 | - Aada una entrada para otros grupos de servidores tambin. |
---|
334 | |
---|
335 | - CRITICO: Cuando cree una entrada para su grupo, recuerde usar "localhost" en lugar |
---|
336 | del nombre de su PC "pcN", ya que slo ha definido su PC como "localhost" en el archivo |
---|
337 | hostgroups_nagios2.cfg. |
---|
338 | |
---|
339 | - Guarde y verifique sus cambios y reinicie Nagios. Ahora, si oprime el enlace de |
---|
340 | Service Groups en el men de la interfaz web, debera ver esta informacin agrupada. |
---|
341 | |
---|
342 | |
---|
343 | PARTE VIII |
---|
344 | Configure acceso para invitados (guest) en la interfaz web de Nagios |
---|
345 | --------------------------------------------------------------------- |
---|
346 | |
---|
347 | 1. Vamos a editar el archivo /etc/nagios3/cgi.cfg para dar acceso read-only al usuario |
---|
348 | "guest" en la interfaz web de Nagios |
---|
349 | |
---|
350 | - Nagios por defecto est configurado para dar acceso completo (r/w) a travs |
---|
351 | de la interfaz web al usuario "nagiosadmin". Puede cambiar el nombre de este |
---|
352 | usuario, agregar otros usuarios, cambiar cmo se autentifican los usuarios, |
---|
353 | qu usuarios tienen acceso a qu recursos y mucho ms, por medio del archivo |
---|
354 | cgi.cfg. |
---|
355 | |
---|
356 | - Primero, vamos a crear el usuario "guest" y un password en el archivo |
---|
357 | httpasswd.users. |
---|
358 | |
---|
359 | # htpasswd /etc/nagios3/htpasswd.users guest |
---|
360 | |
---|
361 | Puede usar cualquier password que quiera (o ninguno). Por ejemplo, el |
---|
362 | password "guest" sera una buena opcin. |
---|
363 | |
---|
364 | - Siguiente, edite el archivo /etc/nagios3/cgi.cfg y busque qu tipo de acceso |
---|
365 | se le ha asignado al usuario nagiosadmin. Por defecto, ver las siguientes |
---|
366 | directivas (note, hay comentarios entre cada directiva): |
---|
367 | |
---|
368 | authorized_for_system_information=nagiosadmin |
---|
369 | authorized_for_configuration_information=nagiosadmin |
---|
370 | authorized_for_system_commands=nagiosadmin |
---|
371 | authorized_for_all_services=nagiosadmin |
---|
372 | authorized_for_all_hosts=nagiosadmin |
---|
373 | authorized_for_all_service_commands=nagiosadmin |
---|
374 | authorized_for_all_host_commands=nagiosadmin |
---|
375 | |
---|
376 | Ahora digmosle a Nagios que permita al usuario "guest" tener algo de |
---|
377 | acceso a la informacin a travs de la interfaz web. Puede elegir lo que |
---|
378 | desee, pero lo que sera ms tpico es: |
---|
379 | |
---|
380 | authorized_for_system_information=nagiosadmin,guest |
---|
381 | authorized_for_configuration_information=nagiosadmin,guest |
---|
382 | authorized_for_system_commands=nagiosadmin |
---|
383 | authorized_for_all_services=nagiosadmin,guest |
---|
384 | authorized_for_all_hosts=nagiosadmin,guest |
---|
385 | authorized_for_all_service_commands=nagiosadmin |
---|
386 | authorized_for_all_host_commands=nagiosadmin |
---|
387 | |
---|
388 | - Note que no damos al usuario guest acceso a los comandos de sistema, comandos |
---|
389 | de servicio ni comandos de host. |
---|
390 | |
---|
391 | - Al terminar los cambios, grabe el archivo cgi.cfg, verifique y reinicie Nagios. |
---|
392 | |
---|
393 | - Para ver si puede ingresar como "guest", deber eliminar sus "cookies" del |
---|
394 | navegador, o abrir un navegador alternativo si lo tiene. No notar ninguna |
---|
395 | diferencia en la interfaz web. La diferencia est en que algunas de las opciones |
---|
396 | disponibles en el men no funcionarn (por ejemplo, forzar un chequeo de nodo |
---|
397 | o servicio, programacin de chequeos, comentarios, etc). |
---|
398 | |
---|
399 | |
---|
400 | FIN. |
---|