Gestion y Monitoreo de Redes Instalacion y Configuracion de Smokeping Notas: ------ * Comandos que empiezan con un "$" implica que deberia ejecutar el comando como un usuario general - no como root. * Comandos que empiezan con un "#" implica que deberia trabajar como el usuario root. * Comandos con lineas mas especificas (como "GW-RTR>" o "mysql>") implica que esta ejecutando el comando en un equipo remoto o dentro otro programa. * Si una linea termina con un "\" esto indica que el comando sigue en la proxima linea y Ud. deberia tratar el comando si como fuera en una sola linea. Ejercicios ----------- Ejercicios Parte I ------------------ 0. Haz un log in en su PC o abre una ventana de terminal como el usuario sysadmin. 1. Instalar Smokeping $ sudo apt-get install smokeping (Ya esta instalado en sus maquinas) 2. Configuracion initial $ cd /etc/smokeping/config.d $ ls -l -rwxr-xr-x 1 root root 578 2010-02-26 01:55 Alerts -rwxr-xr-x 1 root root 237 2010-02-26 01:55 Database -rwxr-xr-x 1 root root 413 2010-02-26 05:40 General -rwxr-xr-x 1 root root 271 2010-02-26 01:55 pathnames -rwxr-xr-x 1 root root 859 2010-02-26 01:55 Presentation -rwxr-xr-x 1 root root 116 2010-02-26 01:55 Probes -rwxr-xr-x 1 root root 155 2010-02-26 01:55 Slaves -rwxr-xr-x 1 root root 8990 2010-02-26 06:30 Targets Los archivos que tiene que cambiar (como minimo) son: * Alerts * General * Probes * Targets Abre Alerts $ sudo vi Alerts Actualizar el parte arriba en el archivo donde dice: *** Alerts *** to = alertee@address.somewhere from = smokealert@company.xy Y cambiar estes campos a: *** Alerts *** to = sysadmin@localhost from = smokeping-alert@localhost Si vas a crear pedidos de las alertas de Smokeping la direccion de "to" seria un alias por una cola en el sistema de pedidas (como "net" en Request Tracker). Vamos a hacer esto despues. Agrega una alerta nueva por mas tarde: +rttbadstart type = rtt # in milliseconds pattern = ==S,==U priority = 1 comment = fuera servicio al initializacion * "==S, ==U" signifcan "at Startup" y "not Up" * "priority = 1" significa si hay multiples alertas definidas por este nodo y si multiples alertas concuerdan, asi manda sola la alerta con la prioridad mas alta. Ahora graba el archivo, sale y abre otro archivo, "General": $ sudo vi General Cambia los siguiente lineas: owner contact cgiurl mailhost A algo asi: owner = Usuario de Administracion del Taller de Gestion de Redes contact = sysadmin@localhost cgiurl = http://localhost/cgi-bin/smokeping.cgi mailhost = localhost Ahora graba el archivo, sale y abre otro archivo, "Probes": $ sudo vi Probes La entrada corriente en el archivo de Probes esta bien, pero si quiere usar chequeos adicionales de Smokeping se puede agregarlos aqui, y se puede especificar su comportamiento por defecto. Tambien se puede especificar su comportamiento en Targes. Abajo es un ejemplo del archivo Probes que especificaria que usar para hacer un chequeo de HTTP y retardo de DNS y, tambien, el chequeo principal de FPing que se usa para ver el retardo de ping: *** Probes *** + FPing binary = /usr/bin/fping + EchoPingHttp + DNS binary = /usr/bin/dig pings = 5 step = 180 lookup = www.nsrc.org Cambia su archivo de Probes para que tiene las entradas arriba. Grabe el archivo y sale. Ahora reinitializamos el servicio de Smokeping para verificar que no hay errores en nuestros archvios de configuracion: $ sudo /etc/init.d/smokeping stop $ sudo /etc/init.d/smokeping start Tambien puede hacer: $ sudo /etc/init.d/smokeping restart o $ sudo /etc/init.d/smokeping reload _Pero_ hay un defecto en el escripto deinitializacion de Smokeping que no siempre termina todo los procesos de Smokeping si usa "restart" en vez d usar "stop" y "start". "Reload" es para recargar la configuracion en memoria. 3. Configurar el monitoreo de nodos La mayoria de su tiempo configurando Smokeping va a estar en el archivo /etc/smokeping/config.d/Targets. Por este taller vamos a hacer lo siguiente: Usa el chequeo de FPing para verificar: - todo los PCs - El NOC - Los conmutadores - Los enrutadores Puede usar el diagrama de nuestra Red (http://noc/trac/) o revisar las entradas en /etc/hosts en tu maquina para encontrar las direcciones de IP por cada nodo. Crea un poco jerarchia en sus menus de Smokeping. Por ejemplo: PCs Enrutadores Conmutadores Agrega un chequeo por retardo de HTTP or todo los PCs del curso. Asi tendra que agreagar otra categoria como: Servidor HTTP PCs Si tenga tiempo agrega algunas nodos externo a nuestra Red del curso. Mira a los chequeos adicionales de Smokeping y considera implementando algunos de ellos: http://oss.oetiker.ch/smokeping/probe/index.en.html Tratando de explicar todo los detalles de syntactico de archivos de Smokeping es sumamente dificil. Es mucho mas facil aprender esto a traves ejemplos. Asi, el NOC tiene un instante de Smokeping completamente configurado. Los archivos de configuracion por el NOC estan disponible aqui: http://noc/configs/etc/smokeping http://noc/configs/etc/smokeping/config.d Revisa estes archivos y intenta de hacer todo sugerido por arriba. Buena suerte! 4. Agrega un cheque de retardo de DNS Agrega una entrada en la jerarchia del menu por retardo de DNS. Chequea una direccion externa a nuestro curso (nsrc.org, por ejemplo) - y una direccion interna (noc). Esta se vea asi en el archivo de Targets: $ sudo vi /etc/smokeping/config.d/Targets ++ DNS probe = DNS menu = Chequeo de retardo de DNS title = DNS Latency +++ nsrc host = nsrc.org +++ noc host = noc.aroc Graba el archivo Targets y sale. Reinitializar Smokeping para ver los cambios: $ sudo /etc/init.d/smokeping stop $ sudo /etc/init.d/smokeping start 5. Manda alertas de Smokeping a la cola Net en Request Tracker Ya hicemos esto en RT y en /etc/aliases. Solo tiene que apuntar las alertas de Smokeping a nuestra instalacion de RT. Abre el archvio Alerts: $ sudo vi /etc/smokeping/config.d/Alerts Y cambia: to = sysadmin@localhost a to = net@localhost Ahora cuando Smokeping manda un correo de alerta el correo va a terminar como un pedido en la cola de Net en Request Tracker. Ahora defina alertas por algunos nodos. Puede initializar alertas por un chequeo (Probe) en el archivo /etc/smokeping/config.d/Probes, o por un nodo individualmente en el archivo Targets (esto es similar al concepto de Nagios...). En nuestro caso vamos a editor Targets y initializar una alerta por nuestro chequeo de retardo de DNS. Adicionalmente, si agregamos un chequeo por retardo de DNS que no existe podemos ver un pedido en RT mas rapido (es artificial, per bueno como ejemplo): $ sudo vi /etc/smokeping/config.d/Targets Busca lo siguiente en el archivo: ++ DNS probe = DNS menu = External DNS Check title = DNS Latency +++ nsrc host = nsrc.org +++ noc host = noc.aroc Y, despues que la entrada por "noc" agrega: +++ noexist host = does.not.exist alerts = rttbadstart Graba el archivo y sale. Reinitializa Smokeping: $ sudo /etc/init.d/smokeping stop $ sudo /etc/init.d/smokeping start Vas a ver el siguiente error en su pantalla: WARNING: Hostname 'does.not.exist' does currently not resolve to an IPv6 or IPv4 address Esto es esperado porque el nodo "does.not.exist" no es valido. Pero, Smokeping va a initializar y la alerta de "rttbadstart" va a mandar un correo a la cola de Net en Request Tracker. Abre su navegador a: http://localhost/rt/ Y haz un login como "sysadmin" para ver el pedido nuevo. El pedido deberia ver como asi: "[SmokeAlert] rttbadstart is active on AROC.DNSProbe.RT-test" 6. Graficos de MultiHost Despues que ha definido un grupo de nodos bajo un solo chequeo en su archivo /etc/smokeping/config.d/Targes Ud. puede crear un solo grafico que muestra los resultados de todo las pruebas de Smokeping por todo los nodos que ya ha definido. La ventaja es que puede comparar, por ejemplo, un grupo de nodos que estas monitoreando con un solo chequeo. La definicion de graficos de Multihost es _muy_ ma–oso - asi, adelante prestando mucha atencion! ;-) Pare crear un grafico MultiHost abre el archivo Targets: $ sudo vi /etc/smokeping/config.d/Targets Si tiene una seccion por los chequeos de FPing definido asi (esto es solo un ejemplo! Su archivo de Targets, probablemente se vea diferente): + Local menu = Local title = Red Local ++ MaquinaLocal menu = Maquina Local title = Nodo de Smokeping host = localhost ++ pc1 menu = pc1 title = pc1 host = pc1 ++ pc2 menu = pc2 title = pc2 host = pc2 ++ pc3 menu = pc3 title = pc3 host = pc3 Podria hacer una definicion de MultiHost directamente despues la ultima entrada de nodo usando el chequeo de FPing: + MultiHostPCs menu = Ping de MultiHost title = Tiempo de Respuesta Consolidada de Ping host = /Local/MaquinaLocal /Local/pc1 /Local/pc2 \ /Local/pc3 Nota como puede poner la definicion en multiples lineas usando el caracter "\" para especificar una linea nueva. Graba el archivo, sale y reinitializa Smokeping: $ sudo /etc/init.d/smokeping stop $ sudo /etc/init.d/smokeping start Deberia ver un grafico nuevo debajo el menu "Ping de MultiHost" en su interfaz de Smokeping. Este grafico tendra lineas de diferente colores por cada nodo que definiste. 7. Instancias Salve (Esclavo) Esto es solo descripcion por ser caso si quiere intentar este tipo de configuracion despues que el taller termina. La idea detras de correr mas de un instante de de Smokeping en varias lugares es que esto le permite monitorear un solo host y/o servicio con varios puntos de vista. Para hacer esto tiene que armar una instalacion de Smoekping que corre normalmente. Despues, arma otra instalacion de Smokeping en otro lugar que mide algunos nodos y/o servicios en comun. Esta instalacion de Smokeping puede mandar los resultados de su monitorizacion al servidor "master" de Smokeping - y, el servidor master puede mostrar los resultados juntos en un solo grafico. Esto te permite ver como el mundo vea su Red y/o servicios desde otro puntos de vista. Esto puede ser una herramienta bien poderosa para resolver problemas de nodos, en su red y/o con servicios si solamente tiene informacion local. En forma grafica se vea asi: [esclavo 1] [esclavo 2] [esclavo 3] | | | +-------+ | +--------+ | | | v v v +---------------+ | master | +---------------+ Puede ver ejemplos de este tipo de configuracion aqui: http://oss.oetiker.ch/smokeping-demo/ Mira a los graficos. Nota que varios graficos tiene multiple lineas con colores y el indice de colores indicando valores como "median RTT from mipsrv01" - Estes no son graficos de MultiHost, pero graficos con datos de servidores de Smokeping externos (esclavos). Para configurar Smokeping en forma "master/slave" puede ver la documentacion aqui: http://oss.oetiker.ch/smokeping/doc/smokeping_master_slave.en.html Tambien tenemos un ejemplo con los pasos en el archivo sample-smokeping-master-slave.txt. Hay un enlace a este archivo en la agenda del curso.