Monitorizando el ancho de banda y latencia de nuestra conexión a Internet

Otra de las curiosidades que podemos hacer con la monitorización es poder medir el ancho de banda de la conexión a Internet de nuestra organización. De manera muy sencilla, mediante un script podremos hacer un test de velocidad con un servidor cercano y monitorizarlo con Centreon, podremos recibir alertas siempre y cuando el ancho de banda sea más bajo de los valores que nos interesen!

 

Instalamos un requisito en el que se apoyará el script que usaremos con Centreon:

pip install speedtest-cli

 

Bajamos el script que usaremos desde: https://exchange.nagios.org/directory/Plugins/Network-Connections%2C-Stats-and-Bandwidth/check_speedtest-2Dcli/details y lo dejamos en la máquina de Centreon, lo movemos al path de plugins de Centreon y lo hacemos ejecutable:

mv check_speedtest-cli.sh /usr/lib/centreon/plugins
cd /usr/lib/centreon/plugins/
chmod +x check_speedtest-cli.sh

Editamos el script y en la linea 175 modificaremos STb= por STb=”/usr/bin”

Y además, si queremos que las gráficas nos funcionen… tendremos que editar la linea 401 y añadir justo después de “# append perfout if argument was passed to script” añadimos en la siguiente línea:

PerfData="TRUE"

 

Y por último en la linea 406 modificar y dejarlo tal cual para meter en la gráfica también el valor de la latencia, que si nos fijamos sólo pasa la velocidad de descarga y subida:

perfout="|'latency'=$ping 'download'=$download;$DLw;$DLc;0;$(echo $MaxDL*1.05|bc) 'upload'=$upload;$ULw;$ULc;0;$(echo $MaxUL*1.05|bc)"

 

Con “speedtest –list | less” sacamos los servidores mas cercanos, apuntamos ID o URL del que más nos interese chequear.
10512) Sarenet (Zamudio, Spain) [14.89 km]
5161) Imatel (Donostia / San Sebastian, Spain) [83.06 km]
4158) iperf.fr (Bayonne, France) [125.01 km]
15961) Sisnet (Pamplona, Spain) [126.35 km]
9646) KNET (La Rioja, Spain) [129.96 km]
11677) Axione (Pau, France) [213.71 km]
11431) TeleCable (Gijón, Spain) [217.92 km]
3276) Telecable (Oviedo, Spain) [228.14 km]

 

 

Vamos ya pues a dar de alta el Comando en Centreon, desde “Configuration” > “Commands” > “Add…” lo creamos:

  • Comman Name: El nombre del Comando, normalmente usamos el nombre del script directamente, en este caso check_speedtest-cli.sh
  • Command Type: Check
  • Command Line: El comando que ejecutará, sustituimos con variables el path donde está el plugin, y los argumentos que le pasaremos. Algo como: “$CENTREONPLUGINS$/check_speedtest-cli.sh -w $ARG1$ -c $ARG2$ -W $ARG3$ -C $ARG4$ -l e -s $ARG5$”

 

Pulsamos en “Describe arguments” y definimos los argumentos del comando, que serán, el Primer argumento el Warning de la velocidad de descarga (en MB) y el Segundo argumento el valor de cuando nos avise con Critical si la velocidad de descarga es menor aún que el Warning. El Tercer argumento será el Warning de la velocidad de subida y el Cuarto argumento será el valor Crítico de subida. Lo dicho, los valores Warning deben ser mayores que los de Critical, cuanto menor sea el ancho de banda disponible peor, no? 😉

 

 

Y creamos el servicio que chequeará cada los minutos que indiquemos la velocidad máxima de descarga y de subida contra el servidor que indiquemos, y además si descarga a menos de 40 nos avisará con Warning y si la descarga es a menos de 30 alertará con un evento crítico. Desde “Configuration” > “Services” añadimos un servicio:

  • Description: Es el nombre con el que veremos monitorizado este ítem, algo como “Test de ancho de banda” o similar más que suficiente.
  • Linked with Hosts: Enlazaremos este servicio normalmente al Router o Firewall, dará igual.
  • Template: Normalmente escogeremos generic-active-service-custom.
  • Check Command: Seleccionamos el Comando recién creado en el paso anterior ‘check_speedtest-cli.sh’.
  • Arguments: Y aquí lo de siempre, cumplimentamos los valores como nos interese y listo!

 

Pulsamos en “Save” y procedemos a grabar la configuración de Centreon & reload.

 

Y listo! Ya tendremos monitorizada la capacidad de nuestra linea o conexión a Internet, podremos ver si el ISP siempre cumple con su SLA y tenemos buenas velocidades tanto de subida como de descarga, así como los tiempos de latencia siempre necesarios! Bueno, desde la vista de monitorización podremos ver el estado del servicio que acabamos de añadir, perfecto, no? Espero que os sea de utilidad!

 

Héctor Herrero

Autor del blog Bujarra.com
Cualquier necesidad que tengas, no dudes en contactar conmigo, os intentare ayudar siempre que pueda, compartir es vivir 😉 . Disfrutar de los documentos!!!