Cómo instalar y configurar el agente de Telegraf en RHEL 7 y Centos 7

Hace un tiempo os hablé del stack de monitorización compuesto por Grafana, InfluxDB y Telegraf. Pues bien, en la entrada de hoy vamos a ver como añadir el agente de Telegraf a hosts remotos que queremos controlar en sistemas RHEL 7 y Centos 7

Seguramente ya sabrás en que consiste este servicio, pero si no es así aquí tienes una explicación: Es un servicio que recopila y envía métricas, para después enviarlas a otros sistemas. Puede recopilar datos del sistema en el que se ejecuta, como uso de disco, RAM, CPU, carga del sistema, conexiones y muchos más, e incluye además una creciente lista de plugins de entrada, como apache, consul, couchDB, Docker, Elasticsearch, Fluentd, HAproxy, http POST, entre otros. Su salida la envía por lo general a una base de datos InfluxDB

Instalar el agente de Telegraf en RHEL 7 y Centos 7

Lo primero que tenemos que hacer es habilitar el repositorio de InfluxDB en nuestro sistema, que es el que tiene los paquetes del agente de Telegraf.

Añadimos el repositorio:

  1. sudo vi /etc/yum.repos.d/influxdb.repo

Con el contenido:

  1. name = InfluxDB Repository - RHEL 
  2. baseurl = https://repos.influxdata.com/rhel/7/x86_64/stable/
  3. enabled = 1
  4. gpgcheck = 1
  5. gpgkey = https://repos.influxdata.com/influxdb.key

Guardamos, actualizamos e instalamos:

  1. sudo yum update
  2. sudo yum install telegraf

Una vez hecho esto añadimos el servicio al arranque:

  1. # sudo systemctl enable telegraf

Configuración

El fichero de configuración del servicio está ubicado en la ruta «/etc/telegraf/telegraf.conf«, el dicho fichero debemos cambiar la URL correspondiente de nuestro Stack por la que corresponda:

  1. [[outputs.influxdb]]
  2. urls = ["http://ip-o-dominio-del-stack:8086"]
  3. database = “nombre de la base de datos”

Una vez hecho esto guardamos y salimos

Ahora ya podemos encender el servicio:

  1. sudo systemctl start telegraf

Si la configuración es correcta, ya deberíamos ver la conexión entre los hosts por el puerto 8086

En el host remoto:

  1. [davidochobits@servcliente1 ~]# lsof -i :8086
  2. COMMAND    PID     USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
  3. telegraf 23508 telegraf    5u  IPv4 77976542      0t0  
  4. TCP servcliente1.bitsandlinux.com:33208->servstack1.desigual.com:d-s-n (ESTABLISHED)

Depende de la información que queremos mostrar en el Stack, debemos modificar la configuración de las secciones correspondientes, en el fichero de configuración de Telegraf en el host remoto. Pero eso os lo explicaré otro día 😉

Además, podemos utilizar diferentes plantillas en Grafana, basadas en los datos para InfluxDB recopilados por Telegraf, por ejemplo:

Telegraf: System Dashboard
Telegraf metrics

Y eso es todo. Espero que entrada os pueda servir en algún momento. Nos vamos leyendo.