1 | Gestion y Monitoreo de Redes |
---|
2 | Instalacion y Configuracion de Smokeping |
---|
3 | |
---|
4 | Notas: |
---|
5 | ------ |
---|
6 | * Comandos que empiezan con un "$" implica que deberia ejecutar el comando |
---|
7 | como un usuario general - no como root. |
---|
8 | * Comandos que empiezan con un "#" implica que deberia trabajar como el usuario root. |
---|
9 | * Comandos con lineas mas especificas (como "GW-RTR>" o "mysql>") implica que esta |
---|
10 | ejecutando el comando en un equipo remoto o dentro otro programa. |
---|
11 | * Si una linea termina con un "\" esto indica que el comando sigue en la proxima |
---|
12 | linea y Ud. deberia tratar el comando si como fuera en una sola linea. |
---|
13 | |
---|
14 | Ejercicios |
---|
15 | ----------- |
---|
16 | |
---|
17 | Ejercicios Parte I |
---|
18 | ------------------ |
---|
19 | |
---|
20 | 0. Haz un log in en su PC o abre una ventana de terminal como el usuario sysadmin. |
---|
21 | |
---|
22 | 1. Instalar Smokeping |
---|
23 | |
---|
24 | $ sudo apt-get install smokeping |
---|
25 | |
---|
26 | (Ya esta instalado en sus maquinas) |
---|
27 | |
---|
28 | 2. Configuracion initial |
---|
29 | |
---|
30 | $ cd /etc/smokeping/config.d |
---|
31 | $ ls -l |
---|
32 | |
---|
33 | -rwxr-xr-x 1 root root 578 2010-02-26 01:55 Alerts |
---|
34 | -rwxr-xr-x 1 root root 237 2010-02-26 01:55 Database |
---|
35 | -rwxr-xr-x 1 root root 413 2010-02-26 05:40 General |
---|
36 | -rwxr-xr-x 1 root root 271 2010-02-26 01:55 pathnames |
---|
37 | -rwxr-xr-x 1 root root 859 2010-02-26 01:55 Presentation |
---|
38 | -rwxr-xr-x 1 root root 116 2010-02-26 01:55 Probes |
---|
39 | -rwxr-xr-x 1 root root 155 2010-02-26 01:55 Slaves |
---|
40 | -rwxr-xr-x 1 root root 8990 2010-02-26 06:30 Targets |
---|
41 | |
---|
42 | Los archivos que tiene que cambiar (como minimo) son: |
---|
43 | |
---|
44 | * Alerts |
---|
45 | * General |
---|
46 | * Probes |
---|
47 | * Targets |
---|
48 | |
---|
49 | Abre Alerts |
---|
50 | |
---|
51 | $ sudo vi Alerts |
---|
52 | |
---|
53 | Actualizar el parte arriba en el archivo donde dice: |
---|
54 | |
---|
55 | *** Alerts *** |
---|
56 | to = alertee@address.somewhere |
---|
57 | from = smokealert@company.xy |
---|
58 | |
---|
59 | Y cambiar estes campos a: |
---|
60 | |
---|
61 | *** Alerts *** |
---|
62 | to = sysadmin@localhost |
---|
63 | from = smokeping-alert@localhost |
---|
64 | |
---|
65 | Si vas a crear pedidos de las alertas de Smokeping la direccion |
---|
66 | de "to" seria un alias por una cola en el sistema de pedidas |
---|
67 | (como "net" en Request Tracker). Vamos a hacer esto despues. |
---|
68 | |
---|
69 | Agrega esta alerta nueva al fin del archivo: |
---|
70 | |
---|
71 | +rttbadstart |
---|
72 | type = rtt |
---|
73 | # in milliseconds |
---|
74 | pattern = ==S,==U |
---|
75 | priority = 1 |
---|
76 | comment = fuera servicio al initializacion |
---|
77 | |
---|
78 | Ahora graba el archivo y sale de el. |
---|
79 | |
---|
80 | * "==S, ==U" signifcan "at Startup" y "not Up" |
---|
81 | * "priority = 1" significa si hay multiples alertas definidas por |
---|
82 | este nodo y si multiples alertas concuerdan, asi manda sola la |
---|
83 | alerta con la prioridad mas alta. |
---|
84 | |
---|
85 | Abre el archivo General |
---|
86 | |
---|
87 | $ sudo vi General |
---|
88 | |
---|
89 | Cambia los siguiente lineas: |
---|
90 | |
---|
91 | owner |
---|
92 | contact |
---|
93 | cgiurl |
---|
94 | mailhost |
---|
95 | |
---|
96 | A algo asi: |
---|
97 | |
---|
98 | owner = Usuario de Administracion del Taller de Gestion de Redes |
---|
99 | contact = sysadmin@localhost |
---|
100 | cgiurl = http://localhost/cgi-bin/smokeping.cgi |
---|
101 | mailhost = localhost |
---|
102 | |
---|
103 | Ahora graba el archivo, sale de el. |
---|
104 | |
---|
105 | Abre el archivo Probes |
---|
106 | |
---|
107 | $ sudo vi Probes |
---|
108 | |
---|
109 | La entrada corriente en el archivo de Probes esta bien, pero si quiere usar |
---|
110 | chequeos adicionales de Smokeping se puede agregarlos aqui, y se puede |
---|
111 | especificar su comportamiento por defecto. Tambien se puede especificar su |
---|
112 | comportamiento en Targes. |
---|
113 | |
---|
114 | Abajo es un ejemplo del archivo Probes que especificaria que usar para hacer |
---|
115 | un chequeo de HTTP y retardo de DNS y, tambien, el chequeo principal de |
---|
116 | FPing que se usa para ver el retardo de ping: |
---|
117 | |
---|
118 | *** Probes *** |
---|
119 | |
---|
120 | + FPing |
---|
121 | |
---|
122 | binary = /usr/bin/fping |
---|
123 | |
---|
124 | + EchoPingHttp |
---|
125 | |
---|
126 | + DNS |
---|
127 | binary = /usr/bin/dig |
---|
128 | pings = 5 |
---|
129 | step = 180 |
---|
130 | lookup = www.nsrc.org |
---|
131 | |
---|
132 | Cambia su archivo de Probes para que tiene las entradas arriba. Grabe el |
---|
133 | archivo y sale. |
---|
134 | |
---|
135 | Ahora reinitializamos el servicio de Smokeping para verificar que no hay |
---|
136 | errores en nuestros archvios de configuracion: |
---|
137 | |
---|
138 | $ sudo /etc/init.d/smokeping stop |
---|
139 | $ sudo /etc/init.d/smokeping start |
---|
140 | |
---|
141 | Tambien puede hacer: |
---|
142 | |
---|
143 | $ sudo /etc/init.d/smokeping restart |
---|
144 | |
---|
145 | o |
---|
146 | |
---|
147 | $ sudo /etc/init.d/smokeping reload |
---|
148 | |
---|
149 | _Pero_ hay un defecto en el escripto deinitializacion de Smokeping que no |
---|
150 | siempre termina todo los procesos de Smokeping si usa "restart" en vez d |
---|
151 | usar "stop" y "start". |
---|
152 | |
---|
153 | "Reload" es para recargar la configuracion en memoria. |
---|
154 | |
---|
155 | |
---|
156 | 3. Configurar el monitoreo de nodos |
---|
157 | |
---|
158 | La mayoria de su tiempo configurando Smokeping va a estar |
---|
159 | en el archivo /etc/smokeping/config.d/Targets. |
---|
160 | |
---|
161 | Usa el chequeo de FPing para verificar: |
---|
162 | - todo los PCs |
---|
163 | - El NOC |
---|
164 | - Los conmutadores |
---|
165 | - Los enrutadores |
---|
166 | |
---|
167 | Puede usar el diagrama de nuestra Red (http://noc/trac/) o revisar las entradas |
---|
168 | en /etc/hosts en tu maquina para encontrar las direcciones de IP por cada nodo. |
---|
169 | |
---|
170 | Crea un poco jerarchia en sus menus de Smokeping. Por ejemplo: |
---|
171 | |
---|
172 | PCs |
---|
173 | Enrutadores |
---|
174 | Conmutadores |
---|
175 | |
---|
176 | Agrega un chequeo por retardo de HTTP or todo los PCs del curso. Asi tendra |
---|
177 | que agreagar otra categoria como: |
---|
178 | |
---|
179 | Servidor HTTP PCs |
---|
180 | |
---|
181 | Si tenga tiempo agrega algunas nodos externo a nuestra Red del curso. |
---|
182 | |
---|
183 | Mira a los chequeos adicionales de Smokeping y considera implementando |
---|
184 | algunos de ellos: |
---|
185 | |
---|
186 | http://oss.oetiker.ch/smokeping/probe/index.en.html |
---|
187 | |
---|
188 | Tratando de explicar todo los detalles de syntactico de archivos de |
---|
189 | Smokeping es sumamente dificil. Es mucho mas facil aprender esto a traves |
---|
190 | ejemplos. Asi, el NOC tiene un instante de Smokeping completamente |
---|
191 | configurado. |
---|
192 | |
---|
193 | Los archivos de configuracion por el NOC estan disponible aqui: |
---|
194 | |
---|
195 | http://10.10.3.5/configs/etc/smokeping |
---|
196 | http://10.10.3.5/configs/etc/smokeping/config.d |
---|
197 | |
---|
198 | Revisa estes archivos y intenta de hacer todo sugerido por arriba. |
---|
199 | |
---|
200 | Sugero que revisa bien la instancia de SmokePing corriendo en el noc: |
---|
201 | |
---|
202 | http://10.10.3.5/cgi-bin/smokeping.cgi |
---|
203 | |
---|
204 | hasta que entiendes que parte del archivo de Targets coresponde a que tu |
---|
205 | veas en la pantalla. |
---|
206 | |
---|
207 | Buena suerte! |
---|
208 | |
---|
209 | 4. Agrega un cheque de retardo de DNS |
---|
210 | |
---|
211 | Agrega una entrada en la jerarchia del menu por retardo de DNS. Chequea |
---|
212 | una direccion externa a nuestro curso (nsrc.org, por ejemplo) - y una |
---|
213 | direccion interna (noc). Esta se vea asi en el archivo de Targets |
---|
214 | (agrega esta al _final_ del archivo): |
---|
215 | |
---|
216 | $ sudo vi /etc/smokeping/config.d/Targets |
---|
217 | |
---|
218 | ++ DNS |
---|
219 | probe = DNS |
---|
220 | menu = Chequeo de retardo de DNS |
---|
221 | title = DNS Latency |
---|
222 | |
---|
223 | +++ nsrc |
---|
224 | host = nsrc.org |
---|
225 | |
---|
226 | +++ noc |
---|
227 | host = noc.aroc |
---|
228 | |
---|
229 | Graba el archivo Targets y sale. |
---|
230 | |
---|
231 | Reinitializar Smokeping para ver los cambios: |
---|
232 | |
---|
233 | $ sudo /etc/init.d/smokeping stop |
---|
234 | $ sudo /etc/init.d/smokeping start |
---|
235 | |
---|
236 | |
---|
237 | 5. Manda alertas de Smokeping a la cola Net en Request Tracker |
---|
238 | |
---|
239 | Ya hicemos esto en RT y en /etc/aliases. Solo tiene que apuntar las |
---|
240 | alertas de Smokeping a nuestra instalacion de RT. Abre el archvio |
---|
241 | Alerts: |
---|
242 | |
---|
243 | $ sudo vi /etc/smokeping/config.d/Alerts |
---|
244 | |
---|
245 | Y cambia: |
---|
246 | |
---|
247 | to = sysadmin@localhost |
---|
248 | |
---|
249 | a |
---|
250 | |
---|
251 | to = net@localhost |
---|
252 | |
---|
253 | Ahora cuando Smokeping manda un correo de alerta el correo va a terminar |
---|
254 | como un pedido en la cola de Net en Request Tracker. |
---|
255 | |
---|
256 | Ahora defina alertas por algunos nodos. Puede initializar alertas por |
---|
257 | un chequeo (Probe) en el archivo /etc/smokeping/config.d/Probes, o por |
---|
258 | un nodo individualmente en el archivo Targets (esto es similar al concepto |
---|
259 | de Nagios...). |
---|
260 | |
---|
261 | En nuestro caso vamos a editor Targets y initializar una alerta por nuestro |
---|
262 | chequeo de retardo de DNS. Adicionalmente, si agregamos un chequeo por retardo |
---|
263 | de DNS que no existe podemos ver un pedido en RT mas rapido (es artificial, per |
---|
264 | bueno como ejemplo): |
---|
265 | |
---|
266 | $ sudo vi /etc/smokeping/config.d/Targets |
---|
267 | |
---|
268 | Busca lo siguiente en el archivo: |
---|
269 | |
---|
270 | # |
---|
271 | # Ejemplo de Prueba de DNS |
---|
272 | # |
---|
273 | |
---|
274 | + DNS |
---|
275 | |
---|
276 | probe = DNS |
---|
277 | menu = Retardo DNS |
---|
278 | title = Pruebas de Retardo de DNS |
---|
279 | |
---|
280 | Y, despues una de las entradas agrega: |
---|
281 | |
---|
282 | ++ noexist |
---|
283 | menu = does.not.exist |
---|
284 | title = Para generar una alerta en Smokeping |
---|
285 | host = does.not.exist |
---|
286 | alerts = rttbadstart |
---|
287 | |
---|
288 | Graba el archivo y sale. Reinitializa Smokeping: |
---|
289 | |
---|
290 | $ sudo /etc/init.d/smokeping stop |
---|
291 | $ sudo /etc/init.d/smokeping start |
---|
292 | |
---|
293 | Vas a ver el siguiente error en su pantalla: |
---|
294 | |
---|
295 | WARNING: Hostname 'does.not.exist' does currently not resolve to |
---|
296 | an IPv6 or IPv4 address |
---|
297 | |
---|
298 | Esto es esperado porque el nodo "does.not.exist" no es valido. Pero, Smokeping |
---|
299 | va a initializar y la alerta de "rttbadstart" va a mandar un correo a la cola |
---|
300 | de Net en Request Tracker. |
---|
301 | |
---|
302 | Abre su navegador a: |
---|
303 | |
---|
304 | http://localhost/rt/ |
---|
305 | |
---|
306 | Y haz un login como "sysadmin" para ver el pedido nuevo. El pedido deberia ver |
---|
307 | como asi: |
---|
308 | |
---|
309 | "[SmokeAlert] rttbadstart is active on |
---|
310 | AROC.DNSProbe.RT-test" |
---|
311 | |
---|
312 | |
---|
313 | 6. Graficos de MultiHost |
---|
314 | |
---|
315 | Despues que ha definido un grupo de nodos bajo un solo chequeo en su archivo |
---|
316 | /etc/smokeping/config.d/Targes Ud. puede crear un solo grafico que muestra los |
---|
317 | resultados de todo las pruebas de Smokeping por todo los nodos que ya ha |
---|
318 | definido. |
---|
319 | |
---|
320 | La ventaja es que puede comparar, por ejemplo, un grupo de nodos que estas |
---|
321 | monitoreando con un solo chequeo. |
---|
322 | |
---|
323 | La definicion de graficos de Multihost es _muy_ maoso - asi, adelante prestando |
---|
324 | mucha atencion! ;-) |
---|
325 | |
---|
326 | Pare crear un grafico MultiHost abre el archivo Targets: |
---|
327 | |
---|
328 | $ sudo vi /etc/smokeping/config.d/Targets |
---|
329 | |
---|
330 | Si tiene una seccion por los chequeos de FPing definido asi (esto es solo un |
---|
331 | ejemplo! Su archivo de Targets, probablemente se vea diferente): |
---|
332 | |
---|
333 | + Local |
---|
334 | menu = Local |
---|
335 | title = Red Local |
---|
336 | |
---|
337 | ++ MaquinaLocal |
---|
338 | menu = Maquina Local |
---|
339 | title = Nodo de Smokeping |
---|
340 | host = localhost |
---|
341 | |
---|
342 | ++ pc1 |
---|
343 | menu = pc1 |
---|
344 | title = pc1 |
---|
345 | host = pc1 |
---|
346 | |
---|
347 | ++ pc2 |
---|
348 | menu = pc2 |
---|
349 | title = pc2 |
---|
350 | host = pc2 |
---|
351 | |
---|
352 | ++ pc3 |
---|
353 | menu = pc3 |
---|
354 | title = pc3 |
---|
355 | host = pc3 |
---|
356 | |
---|
357 | Podria hacer una definicion de MultiHost directamente despues la ultima entrada |
---|
358 | de nodo usando el chequeo de FPing: |
---|
359 | |
---|
360 | + MultiHostPCs |
---|
361 | menu = Ping de MultiHost |
---|
362 | title = Tiempo de Respuesta Consolidada de Ping |
---|
363 | host = /Local/MaquinaLocal /Local/pc1 /Local/pc2 \ |
---|
364 | /Local/pc3 |
---|
365 | |
---|
366 | Nota como puede poner la definicion en multiples lineas usando el caracter "\" |
---|
367 | para especificar una linea nueva. |
---|
368 | |
---|
369 | Graba el archivo, sale y reinitializa Smokeping: |
---|
370 | |
---|
371 | $ sudo /etc/init.d/smokeping stop |
---|
372 | $ sudo /etc/init.d/smokeping start |
---|
373 | |
---|
374 | Deberia ver un grafico nuevo debajo el menu "Ping de MultiHost" en su interfaz de |
---|
375 | Smokeping. Este grafico tendra lineas de diferente colores por cada nodo que |
---|
376 | definiste. |
---|
377 | |
---|
378 | |
---|
379 | 7. Instancias Slave (Esclavo) |
---|
380 | |
---|
381 | Esto es solo descripcion por ser caso si quiere intentar este tipo de |
---|
382 | configuracion despues que el taller termina. |
---|
383 | |
---|
384 | La idea detras de correr mas de un instante de de Smokeping en varias |
---|
385 | lugares es que esto le permite monitorear un solo host y/o servicio con |
---|
386 | varios puntos de vista. Para hacer esto tiene que armar una instalacion de |
---|
387 | Smoekping que corre normalmente. Despues, arma otra instalacion de Smokeping |
---|
388 | en otro lugar que mide algunos nodos y/o servicios en comun. Esta instalacion |
---|
389 | de Smokeping puede mandar los resultados de su monitorizacion al servidor |
---|
390 | "master" de Smokeping - y, el servidor master puede mostrar los resultados |
---|
391 | juntos en un solo grafico. |
---|
392 | |
---|
393 | Esto te permite ver como el mundo vea su Red y/o servicios desde otro |
---|
394 | puntos de vista. |
---|
395 | |
---|
396 | Esto puede ser una herramienta bien poderosa para resolver problemas de |
---|
397 | nodos, en su red y/o con servicios si solamente tiene informacion local. |
---|
398 | |
---|
399 | En forma grafica se vea asi: |
---|
400 | |
---|
401 | [esclavo 1] [esclavo 2] [esclavo 3] |
---|
402 | | | | |
---|
403 | +-------+ | +--------+ |
---|
404 | | | | |
---|
405 | v v v |
---|
406 | +---------------+ |
---|
407 | | master | |
---|
408 | +---------------+ |
---|
409 | |
---|
410 | Puede ver ejemplos de este tipo de configuracion aqui: |
---|
411 | |
---|
412 | http://oss.oetiker.ch/smokeping-demo/ |
---|
413 | |
---|
414 | Mira a los graficos. Nota que varios graficos tiene multiple lineas con |
---|
415 | colores y el indice de colores indicando valores como "median RTT from |
---|
416 | mipsrv01" - Estes no son graficos de MultiHost, pero graficos con datos |
---|
417 | de servidores de Smokeping externos (esclavos). |
---|
418 | |
---|
419 | Para configurar Smokeping en forma "master/slave" puede ver la documentacion |
---|
420 | aqui: |
---|
421 | |
---|
422 | http://oss.oetiker.ch/smokeping/doc/smokeping_master_slave.en.html |
---|
423 | |
---|
424 | Tambien tenemos un ejemplo con los pasos en el archivo |
---|
425 | sample-smokeping-master-slave.txt. Hay un enlace a este archivo en la |
---|
426 | agenda del curso. |
---|
427 | |
---|