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. Archivos de Configuracion ------------------------- Los archivos de configuracion que resultan de estes ejercicios estan display aqui: http://noc.ws.nsrc.org/configs/smokeping/ejercicios/ 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 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 General $ sudo vi General Cambiar los siguiente lineas: owner = NOC contact = sysadm@localhost cgiurl = http://localhost/cgi-bin/smokeping.cgi mailhost = localhost Graba el archivo y salga. Ahora vamos a reinicializar Smokeping para verificar que no haya errores: $ sudo /etc/init.d/smokeping stop $ sudo /etc/init.d/smokeping start OJO! La opcion de "restart" por Smokeping no es confiable. 3. Configurar el monitoreo de nodos ----------------------------------- La mayoria de su tiempo configurando Smokeping va a estar en el archivo /etc/smokeping/config.d/Targets. Usa el chequeo de FPing para verificar: - todo los PCs - El NOC - Los conmutadores - Los enrutadores Puede usar el diagrama de nuestra Red en el wiki del noc (http://noc.ws.nsrc.org) para buscar la direcciones IP por todo los nodos. Crea un poco jerarchia en sus menus de Smokeping. Por ejemplo el archivo de Targets ya tiene una configuracion hecha. Para empezar vamos a cambiar y agregar entradas a este archivo. Empieza con: $ sudo bash # vi Targets Si quiere cambiar el Ingles a Castellano por el primer parte de archivo reemplaza los contenidos al principio con: *** Targets *** probe = FPing menu = Principal title = Graficos de latencia de la red remark = Bienvenido al sitio de web SmokePing +Local menu = Diseno de Redes de Campus title = Servidor NOC por el Taller Diseno de Redes de Campus ++MaquinaLocal menu = LocalHost title = LocalHost host = localhost Ahora, debajo el "localhost" empezamos con la configuracion por nuestra red del curso. Empezamos simple y agregamos los 4 PCs en el Grupo 1 de nuetra red. Tambien, vamos a poner una entrada por el servidor NOC de nuestro curso. Asi, agrega estas entradas al archivo: # # ********* Servidores del Curso ********** # ++Servidores menu = Servidores title = Servidores de Gestion de Red +++noc menu = noc title = Servidor del NOC del Curso host = noc.ws.nsrc.org # # *********** PCs del Curso # ++PCs menu = PCs title = Los PCs del Curso (pc1-pc24) # # Grupo 1 # +++Grupo1 menu = Grupo1 title = PCs del Grupo 1 ++++pc1 menu = pc1 title = pc1, grupo 1 host = pc1.ws.nsrc.org ++++pc2 menu = pc2 title = pc2, grupo1 host = pc2.ws.nsrc.org ++++pc3 menu = pc3 title = pc3, grupo1 host = pc3.ws.nsrc.org ++++pc4 menu = pc4 title = pc4, grupo1 host = pc4.ws.nsrc.org Ahora, graba y salga del archivo. Vamos a ver si todo esta bien antes de continuar: # /etc/init.d/smokeping stop # /etc/init.d/smokeping start Si no hay errores puede revisar como se vea los resultados en la web: http://pcN.ws.nsrc.org/cgi-bin/smokeping.cgi Cuando estas listo abre el archivo Targets de nuevo y seguir agregando los PCs. Aqui es el ejemplo por el grupo 2: # # Grupo 2 # +++Grupo2 menu = Grupo2 title = PCs del Grupo 2 ++++pc5 menu = pc5 title = pc5, grupo 2 host = pc5.ws.nsrc.org ++++pc6 menu = pc6 title = pc6, grupo2 host = pc6.ws.nsrc.org ++++pc7 menu = pc7 title = pc7, grupo2 host = pc7.ws.nsrc.org ++++pc8 menu = pc8 title = pc8, grupo2 host = pc8.ws.nsrc.org Pueden seguir hasta que tienes configurado grupos 3 a 6 (o 9 si esta en uso). Despues graba el archivo, salga (o, usar otro terminal en otra ventana...) y reinicializamos Smokeping de nuevo: # /etc/init.d/smokeping stop # /etc/init.d/smokeping start Si no hay errores puede revisar como se vea los resultados en la web: http://pcN.ws.nsrc.org/cgi-bin/smokeping.cgi 4. Configurar el monitoreo de los routers y switches ---------------------------------------------------- Al final del archivo /etc/smokeping/config.d/Targets vamos a agregar las entradas por los routers y switches del curso: # vi Targets En el archivo ponemos el switch primero (el orden no es muy importante): # # *********** switchess del Curso # ++Switches menu = Switches title = Los Switches del Curso # # switch del backbone # +++sw menu = sw title = switch del backbone host = sw.ws.nsrc.org Ahora agregamos los routers: # # *********** routers del Curso # ++Routers menu = Routers title = Los Routers del Curso +++rtr1 menu = rtr1 title = rtr del grupo 1 host = rtr1.ws.nsrc.org +++rtr2 menu = rtr2 title = rtr del grupo 2 host = rtr2.ws.nsrc.org +++rtr3 menu = rtr3 title = rtr del grupo 3 host = rtr3.ws.nsrc.org Ahora termina con los router rtr4 a rtr6, graba el archivo y salga (o en otro terminal) reinicializamos Smokeping para asegurar que no hay errores. # /etc/init.d/smokeping stop # /etc/init.d/smokeping start Si quiere puede agregar un chequeo por los punto de acceso inalambrico, tambien: # # Puntos de Acceso Inalambrico # ++APs menu = APs title = Puntos de Acceso Inalambrico del Curso +++ap1 menu = ap1 title = ap1 host = ap1.ws.nsrc.org +++ap2 menu = ap2 title = ap2 host = ap2.ws.nsrc.org 5. Agrega Pruebas Nuevas a Smokeping ------------------------------------ Por defecto Smokeping viene solo con la prueba de FPing configurado en el archivo /etc/smokeping/config.d/Probes. Vamos a agregar una configuracion por defecto por las pruebas EchoPingHttp (HTTP) DNS. # cd /etc/smokeping/config.d # vi Probes Al final del archivo agrega: + EchoPingHttp + DNS binary = /usr/bin/dig pings = 5 step = 180 lookup = www.nsrc.org Con esto puede decir a smokeping que quieres ver la saludo de un servidor de Web en un nodo (prueba de EchoPintHttp), o como esta el tiempo de respuesta de un servidor de DNS. 6. Agrega Chequeos de Latencia de HTTP por todo los PCs ------------------------------------------------------- Abre el archivo /etc/smokeping/config.d/Targets y al final del archivo agregamos esto: # cd /etc/smokeping/config.d # vi Targets # # Chequeo de Latencia de HTTP en los PCs del curso # ++HTTP menu = HTTP title = Pruebas de HTTP probe = EchoPingHttp # # Grupo 1 # +++pc1 menu = pc1 title = pc1, grupo 1 host = pc1.ws.nsrc.org +++pc2 menu = pc2 title = pc2, grupo1 host = pc2.ws.nsrc.org +++pc3 menu = pc3 title = pc3, grupo1 host = pc3.ws.nsrc.org +++pc4 menu = pc4 title = pc4, grupo1 host = pc4.ws.nsrc.org # # Grupo 2 # +++pc5 menu = pc5 title = pc5, grupo 2 host = pc5.ws.nsrc.org +++pc6 menu = pc6 title = pc6, grupo2 host = pc6.ws.nsrc.org +++pc7 menu = pc7 title = pc7, grupo2 host = pc7.ws.nsrc.org +++pc8 menu = pc8 title = pc8, grupo2 host = pc8.ws.nsrc.org Termina con grupos 3 a 6 (o 9 si esta en uso) si quiere. Sugero que graba el archivo, salga, y reinicializa Smokeping para estar seguro que no haya errores. 7. Agrega un chequeo del retardo de DNS Al final del archivo /etc/smokeping/config.d/Targets vamos a agregar las entradas por la prueba de DNS. Por defecto la busqueda es por "www.nsrc.org" - esto es que pusimos en el archivo /etc/smokeping/config.d/Probes. Se puede cambiar esto por cada instante de prueba de DNS en el archivo Targets. Por mas informacion lea: http://oss.oetiker.ch/smokeping/probe/DNS.en.html y http://oss.oetiker.ch/smokeping/probe/index.en.html # cd /etc/smokeping/config.d # vi Targets Y, al fin del archivo agrega: # # Prueba de retardo de respuesta de servidores (recursivos) DNS # ++DNS menu = Retardo DNS title = Retardo DNS probe = DNS # # Primero, nuestro servidor de DNS local # +++NOC menu = 10.10.0.254 (NOC) title = Latencia de DNS por el Servidor Local de DNS noc.ws.nsrc.org host = noc.ws.nsrc.org # # Algunos servidores recursivos que responden a pedidos de DNS # +++GoogleA menu = 8.8.8.8 (GoogleA) title = Latencia DNS por google-public-dns-a.google.com host = google-public-dns-a.google.com +++GoogleB menu = 8.8.8.4 (GoogleB) title = Latencia DNS por google-public-dns-b.google.com host = google-public-dns-b.google.com +++OpenDNSA menu = 208.67.222.222 (OpenDNSA) title = Latencia DNS por resolver1.opendns.com host = resolver1.opendns.com +++OpenDNSB menu = 208.67.220.220 (OpenDNSB) title = Latencia DNS por resolver2.opendns.com host = resolver2.opendns.com Graba y salga del archivo. Reinicializa Smokeping para estar seguro que no hay errores en la configuracion. 8. Graficos de MultiHost ------------------------ Despues que ha definido un grupo de nodos bajo un solo chequeo en su archivo /etc/smokeping/config.d/Targets 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: # vi /etc/smokeping/config.d/Targets Busca el final de la seccion de chequeo de los PCs usando FPing. Deberia estar justo antes el parte del archivo que lea: # # *********** switchess del Curso # Justo _Arriba_ esto vamos a agregar un chequeo MultiHost por el grupo 1: # # Grafico MultiHost por los PCs del grupo 1 # +++MultiHostPCs1 menu = MultiHost PCs Grupo 1 title = Retardo a los PCs del Grupo 1 host = /Local/PCs/Grupo1/pc1 /Local/PCs/Grupo1/pc2 /Local/PCs/Grupo1/pc3 \ /Local/PCs/Grupo1/pc4 Nota el "\" - esto es correcto. Significa que una linea nueva sigue. Si quiere puede agregar definiciones de MultiHost por grupos 2 a 6, o por los chequeos de HTTP y/o DNS. Si tiene preguntas sobre esto pide ayuda de su instructor. Para verificar que todo esta bin reinicializamos Smokeping: # /etc/init.d/smokeping stop # /etc/init.d/smokeping start Deberia ver un grafico nuevo debajo el menu "MultiHost PCs Grupo 1" en el menu de los PCs. El grafico tendra lineas de diferente colores por cada nodo que definiste. Ponemos una definicion de MultiHost, tambien, despues que nuestra seccion de chequeo de retardo de DNS. Esto seria al final del archivo. Entonces haz: # cd /etc/smokeping/config.d # vi Targets Y, agrega al final del archivo: # # Grafico MultiHost del Retardo de DNS # +++MultiHostDNS menu = MultiHost Retardo DNS title = Grafico MultiHost por el Retardo de Respuesta de DNS host = /Local/DNS/NOC /Local/DNS/GoogleA /Local/DNS/GoogleB \ /Local/DNS/OpenDNSA /Local/DNS/OpenDNSB Graba y salga del archivo y reinicializa Smokeping para ver los cambios. 9. Recibir Alertas de Smokeping ------------------------------- Si quiere recibir un correo cuando una condicion existe se puede hacer esto con Smokeping. Esto requiere que configuras el archivo Alerts y cambia uno, o mas de sus chequeos en el archivo de Targets. Primero, abre el archivo Alerts: # cd /etc/smokeping/config.d # vi Alerts Cambia las tres primeras lineas a: *** Alerts *** to = sysadm@localhost from = smokeping-alert@localhost Graba el archivo y salga. Vea que haya varias alerta pre-definidas, incluyendo "bigloss", "someloss", "startloss" y "rttdetect" - El sintaxis de los alertas es muy peculiar a Smokeping, pero el concepto es simple. Ahora, dentro el archivo Targets si agregas la linea: alerts = alertNombre1,alertNombre2 A cualquier chequeo de un nodo y/o servicio si la condiciones de la alerta descrito en Alerta se cumplen Smokeping va a mander un correo a "sysadm@localhost" con la notificacion que se paso esta condicion al nodo y/o servicio configurado con la alerta. OJO! Si la condicion de alerta sigue en pie Smokeping le va a notificar de esta condicion cada 5 minutos hasta que el estado cambia - Asi, se puede generar mucho ruido. Para leer mas sobre alertas vea: http://oss.oetiker.ch/smokeping/doc/smokeping_config.en.html y vaya al final de la pagina buscando la seccion llamado "*** Alerts ***" Para hacer funcionar una alerta vamos a agregar la definicion al chequeo de FPing por el pc1. # cd /etc/smokeping/config.d # vi Targets Busca la linea cerca el principio del archivo que dice: host = pc1.ws.nsrc.org Y directamente abajo la linea agrea una linea que dice: alerts = startloss,bigloss,rttdetect Graba y salga del archivo y hacemos: # /etc/init.d/smokeping stop # /etc/init.d/smokeping start Si no hay errores puede revisar todo que has hecho en el interfaz web: http://pcN.ws.nsrc.org/cgi-bin/smokeping.cgi Si Smokeping detecta algo que hacer correr una alerta por el pc1, asi el usuario "sysadm" en su pc va a recibir un correo. 10. EJEMPLO: Instancias Slave (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. /* Ultima actualizacion 8oct2011 por HA */