Tenemos muchas alternativas en cuanto a monitorización de sistemas se refiere: Netdata, Cacti, Monitorix, Nagios, Zabbix, Pandora FMS… Pero posiblemente ninguna tenga el nivel de personalización que la pila de Grafana, InfluxDB y Telegraf.

Primero de todo explicamos cómo se comportan cada uno de los mencionados.

  • Telegraf: Esta aplicación es la encargada de recolectar y procesar datos de nuestro sistema en base a plugins que podemos ir habilitando.
  • InfluxDB: Es una base de datos optimizada para almacenar datos en serie y poder manejarlos de forma muy rápida. Aquí se irá almacenando la información que llegue de Telegraf, ambas aplicaciones son desarrolladas por InfluxData, por lo que su integración es perfecta.
  • Grafana: Los ojos de nuesta información. En la cúspide de la pila encontramos a Grafana, un panel extremadamente configurable donde podemos crear varios dashboard con multitud de gráficas que iremos cocinando en base a querys, configurar alarmados, etc.

Instalación de InfluxDB

Comenzamos instalando la BBDD, los comandos mostrados en esta guía son para sistemas Ubuntu, en la documentación oficial podéis obtener los equivalentes para la distribución Linux que utilicéis (o incluso para Mac OS X).

Primero procedemos a añadir el repositorio de InfluxData que nos permitirá instalar tanto InfluxDB como Telegraf.

wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

Es posible que al ejecutar alguno de los comandos anteriores devuelva algún tipo de error en cuanto a que no encuentra el binario o similar, si así fuera, antes de añadir los repositorios sería necesario instalar los siguientes paquetes.

sudo apt-get install apt-transport-https
sudo apt-get install software-properties-common wget

Una vez hecho esto, podemos lanzar un update y comenzar con la instalación de InfluxDB.

sudo apt-get update && sudo apt-get install influxdb

Al realizar la instalación el servicio no se levanta de forma automática, por lo que lo hacemos nosotros manualmente.

sudo service influxdb start

Podemos comprobar el estado del servicio corriendo el siguiente comando.

systemctl status influxd

Instalación de Telegraf

Anteriormente indicamos que el repositorio añadido nos iba a servir también para Telegraf, por lo que en este caso podemos lanzar directamente la instalación.

sudo apt install telegraf

En este caso el servicio arranca automáticamente por lo que podemos simplemente hacer la comprobación, no es necesario arrancarlo de forma manual.

systemctl status telegraf.service

Instalación de Grafana

Al igual que al principio, añadimos el repositorio de Grafana Labs.

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

Continuamos ya para finalizar, actualizando los repositorioos y realizando la instalación de nuestro panel de monitorización.

sudo apt-get update && apt-get install grafana

En este caso necesitamos levantar el servicio.

service grafana-server start

Y finalmente comprobamos que se encuentre arriba.

systemctl status grafana-server.service

Para terminar, podremos acceder a nuestro panel mediante la dirección IP de vuestro servidor por el puerto 3000, es decir:

http://IPdeServidor:3000

Tanto el usuario como la contraseña es admin, tras el primer acceso os pedirá cambiar la password por una más segura.