| 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 | |
|---|