# Gestion de Redes - Smokeping - Parte II

## Adiciones nuevos chequeos a Smokeping

La entrada actual en Probes esta’ bien, pero si Ud. quisiera usar chequeos adicionales con Smokeping puede definirlos en este fichero, y especificar el comportamiento por defecto. Ud. puede hacer esto tambien en el fichero Targets si lo desea.

Para adicionar un chequeo para demora de DNS, edite el fichero Probes y adicione AL FINAL del fichero el texto que sigue (no saques el texto de “*** Probes ***” ni de “FPing”):

    # editor Probes

    + DNS
    binary = /usr/bin/dig
    pings = 5
    step = 180
    lookup = www.nsrc.org

!! Favor asegurese de no remover la entrada de FPing en este fichero !!

El chequeo de DNS va a resolver la direccion de IP del registro DNS www.nsrc.org usando cualquier servidor DNS abierto (de resolucion) que Ud. defina en el fichero Targets. Ud. vera’ esto mas adelante en el ejercicio.

Ahora salve el fichero y salga, y verifique que sus cambios funcionan bien:

    # systemctl restart smokeping
    # journalctl -eu smokeping

> Note: el modulo “echoping”, que podria chequear latencia de HTTPs/HTTPS ya no se mantiene y ha sido removido from Ubuntu 22.04.

## Adicione chequeos de demora de DNS

Al final del fichero Targets vamos a adicionar algunas entradas para verificar la demora desde nuestra posicion a servidores de resolucion DNS remotos, chequeando el registro de DNS de nsrc.org.

Tambien puede substituir el registro de DNS, usando en su lugar una direccion notable de su propia institucion en el fichero Probes. Alternativamente, este registro puede ser especificado en el fichero Targets tambien. Para mas informacion:

http://oss.oetiker.ch/smokeping/probe/DNS.en.html

y

http://oss.oetiker.ch/smokeping/probe/index.en.html

Ahora edite el fichero Targets otra vez. Asegurese de ir al FINAL del fichero:

    # cd /etc/smokeping/config.d            (para asegurarnos...)
    # editor Targets

Al final del fichero, adicione:

    #
    # Muestra de Chequeo de DNS
    #

    +DNS

    probe = DNS
    menu = Demora DNS
    title = Chequeos de Demora DNS

    ++LocalDNS1
    menu = gw.ws.nsrc.org
    title =  Demora DNS de Servidor DNS local en gw.ws.nsrc.org
    host = gw.ws.nsrc.org

    ++GoogleA
    menu = google-public-dns-a.google.com
    title = Demora de DNS google-public-dns-a.google.com
    host = 8.8.8.8

    ++GoogleB
    menu = google-public-dns-b.google.com
    title = Demora de DNS google-public-dns-b.google.com
    host = 8.8.4.4

    ++OpenDNSA

    menu = resolver1.opendns.com
    title = Demora de DNS resolver1.opendns.com
    host = 208.67.222.222

    ++OpenDNSB

    menu = resolver2.opendns.com
    title = Demora de DNS resolver2.opendns.com
    host = 208.67.220.220

Ahora salve el fichero, salga y verifique sus cambios:

    # systemctl restart smokeping

Vea chequeos adicionales de Smokeping, y considere implementar aquellos que le sean utiles en su institucion:

http://oss.oetiker.ch/smokeping/probe/index.en.html

## Graficos de MultiServidor

Una vez que haya definido un grupo de servidores asociados a un tipo especifico de chequeo en el fichero /etc/smokeping/config.d/Targets Ud. puede crear un grafico unico que muestre los resultados de todos los chequeos de todos los hosts en ese grupo. Esto tiene como ventaja facilitar la comparacion visual de resultados, por ejemplo, de un grupo de hosts que Ud. monitorea con el chequeo FPing.

La funcion de grafico de MultiServidor tiene una sintaxis complicada. Preste atencion!!

Para crear un grafico MutiServidor edite el fichero Targets:

    # editor Targets

Vamos a crear un grafico MultiServidor para los chequeos de demora de DNS que acabamos de adicionar en el paso anterior. Para ello, edite el fichero Targets y adicione al final:

    #
    # Grafico MultiServidor de todos los chequeos de demora de DNS
    #

    ++MultiHostDNS

    menu = MultiServidor DNS
    title = Respuestas DNS Consolidadas
    host = /DNS/LocalDNS1 /DNS/GoogleA /DNS/GoogleB /DNS/OpenDNSA /DNS/OpenDNSB

Como siempre, salve el fichero Targets, salga y verifique sus cambios:

    # systemctl restart smokeping
    # journalctl -eu smokeping

Si falla, lo mas seguro es que tenga un error en los cambios recientes. Si no puede determinar cual es el error (recuerde tratar de resolver via “tail /var/log/syslog” primero!) pida ayuda a su instructor.

Puede adicionar graficos MultiServidor para cualquier otro conjunto de chequeos (FPing, EchoPingHttp) que Ud. haya configurado. Ud. debe adicionar la entrada MultiServidor al final de una seccion de chequeo. Si no comprende como funciona, pida ayuda a su instructor.

Adicionalmente, en el NOC del taller hay muestras de ficheros de configuracion disponibles, incluyendo uno para Smokeping con ejemplos de entrada MultiServidor.

## Enviando alertas con Smokeping

Actualice las entradas de sus dispositivos para incluir una linea que especifique:

    alerts = alertName1, alertName2, etc, etc...

Por ejemplo, la alerta “someloss” ya ha sido definida en el fichero Alerts. Para documentarse respecto a las alertas de Smokeping, y que condiciones detectan, como crear su propia alerta, etc., vea:

http://oss.oetiker.ch/smokeping/doc/smokeping_config.en.html

Al final de la pagina hay una seccion titulada `*** Alerts ***`

Para configurar alertas en algunos de sus servidores edite el fichero Targets

    # editor Targets

vaya cerca del principio del fichero donde definimos nuestros servidores. Justo debajo de la linea “host =” adicione otra linea que especifique:

    alerts = someloss

Por ejempo, la entrada para host1 en CampusY seria asi:

    ++host1

    menu = host1
    title = Servidor 1 Campus Y
    host = host1-campusY.ws.nsrc.org
    alerts = someloss

Si quiere adicionar opciones de alerta a otros servidores, adelante. Cuando termine, salve el fichero Targets, salga y verifique sus cambios:

    # systemctl restart smokeping

Si alguno de los servidores que tienen entradas “alerts =” entran en estado que activa la alerta, un mensaje de correo electronico llegara’ al mailbox del usuario sysadm en el servidor Smokeping (localhost). Como todos los servidores son locales con buena conexion, no es probable que se generen muchas alertas. Para verificar que puede acceder a los mensajes de correo electronico del usuario “sysadm”, usando un programa cliente como “mutt” –

    # su - sysadm               (cambioa de root al usuario sysadm)
    $ mutt

Responda “yes” a la pregunta sobre creacion del buzon de mensajes cuando aparezca la pregunta, y verifique si ha recibido mensajes procedentes de
smokeping-alerts@localhost user. Probablemente no. Para salir de Mutt presione “q”.

Para salir del usuario “sysadm” teclee:

    $ exit   - (Ctrl + D)
    #

## Servidores Esclavos - Solo para Informacion

Lo que sigue es una descripcion solamente para su informacion, en caso de que decida tratar de configurar este tipo de arquitectura a su regreso del taller.

La idea central consiste en correr varios servidores Smokeping en diferentes lugares que monitoreen los mismos servidores y/o servicios que el servidor Smokeping central. Los servidores esclavos enviaran los resultados de sus chequeos al servidor central, y Ud. podra’ revisar los resultados de todos los chequeos comparativamente. Esto permite visualizar el comportamiento de su red desde el punto de vista de los usuarios localizados fuera de su red.

Esta puede ser una herramienta util para solucionar problemas con servidores o servicios, que de otra forma son dificiles de diagnosticar si solo tiene informacion local.

Graficamente, se vee asi:

              [esclavo 1]     [esclavo 2]      [esclavo 3]
                    |             |              |
                    +-------+     |     +--------+
                            |     |     |
                            v     v     v
                            +---------------+
                            |    central    |
                            +---------------+

Ud. puede ver un ejemplo aqui:

http://oss.oetiker.ch/smokeping-demo/

Vea como los diferentes grupos de graficos con lineas multiples y codigos de color que listan elementos como “median RTT from mipsrv01” - estos no son graficos MultiServidor, sino graficos con datos provenientes de servidores externos (esclavos).

Para configurar un servidor Smokeping central/esclavo puede ver la documentacion aqui:

http://oss.oetiker.ch/smokeping/doc/smokeping_master_slave.en.html

Adicionalmente, una muestra de los pasos a seguir para establecer la configuracion se puede encontrar en el fichero sample-smokeping-master-slave.txt listado como referencia al final de la agenda en el wiki del taller.