Cómo instalar TIG Stack (Telegraf, InfluxDB y Grafana) en Ubuntu 18.04 LTS

InfluxDB es una base de datos de series temporales de código abierto escrita en Go. Está optimizada para un almacenamiento rápido y de alta disponibilidad, y se utiliza como almacén de datos para cualquier caso de uso que implique grandes cantidades de datos con fecha de caducidad, como la monitorización de DevOps, los datos de registro, las métricas de las aplicaciones, los datos de los sensores de IoT y los análisis en tiempo real.

Telegraf es un agente para recoger, procesar, agregar y escribir métricas. Admite varios plugins de salida, como influxdb, Graphite, Kafka, OpenTSDB, etc.

Grafana es una suite de visualización y monitorización de datos de código abierto. Ofrece soporte para Graphite, Elasticsearch, Prometheus, influxdb y muchas más bases de datos. La herramienta proporciona un bonito panel de control y análisis de métricas, con la posibilidad de gestionar y crear tu propio panel de control para la monitorización del rendimiento de tus aplicaciones o infraestructuras.

En este tutorial, te mostraré cómo instalar y configurar el TIG Stack (Telegraf, influxdb y Grafana) utilizando un único servidor Ubuntu 18.04. Utilizaremos la Pila TIG para monitorizar las cargas del sistema, como la red, la memoria RAM, el tiempo de actividad, etc.

Requisitos previos

  • Ubuntu 18.04
  • Privilegios de root

¿Qué vamos a hacer?

  1. Instalar InfluxDB
  2. Crea una base de datos y un usuario InfluxDB
  3. Instalar el Agente Telegraf
  4. Configurar Telegraf
  5. Instalar Grafana
  6. Configurar la fuente de datos de Grafana
  7. Configurar el panel de control de Grafana

Paso 1 – Instalar InfluxDB

En este primer paso, instalaremos la base de datos de series temporales influxdb en el sistema Ubuntu. Instalaremos tanto ‘influxdb’ como ‘telegraf’ desde el mismo repositorio ‘influxdata’, ya que ambos programas fueron creados por la misma organización.

Añade la clave de influxdata.

sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -

Añade el repositorio influxdata.

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

Ahora actualiza el repositorio e instala el paquete ‘influxdb’ con el comando apt que aparece a continuación.

sudo apt update
sudo apt install influxdb -y

Instalar InfluxDB

Una vez completada la instalación, inicia el servicio influxdb y habilítalo para que se inicie cada vez que el sistema arranque.

sudo systemctl start influxdb
sudo systemctl enable influxdb

Ahora comprueba los puertos abiertos en el sistema.

netstat -plntu

Comprueba los puertos abiertos con netstat

Y asegúrate de que tienes los puertos influxdb ‘8088’y ‘8086’ en estado ‘LISTEN’.

Paso 2 – Crear la base de datos y el usuario InfluxDB

Para almacenar todos los datos de los agentes de telegraf, tenemos que configurar la base de datos influxdb y el usuario.

InfluxDB proporciona la herramienta CLI llamada ‘influx’ para interactuar con un servidor InfluxDB. El comando influx es como el ‘mysql’ en MySQL, y ‘mongo’ en la base de datos MongoDB.

Ejecuta el comando ‘influx’ que aparece a continuación.

influx

Ahora estás conectado al servidor influxdb por defecto en el puerto ‘8086’.

Crea una nueva base de datos y un usuario ‘telegraf’ con la contraseña ‘hakase-ndlr’ ejecutando las consultas influxdb que aparecen a continuación.

create database telegraf
create user telegraf with password 'hakase-ndlr'

Ahora comprueba la base de datos y el usuario.

show databases
show users

Asegúrate de que tienes la base de datos y el usuario llamados ‘telegraf’ en el servidor influxdb.

Crear una base de datos y un usuario de InfluxDB

Paso 3 – Instalar el agente de Telegraf

Telegraf fue creado por ‘influxdata’, la misma organización que creó influxdb. Así que cuando añadimos la clave y el repositorio de influxdata al sistema, significa que podemos instalar ambas aplicaciones.

Instala el paquete telegraf utilizando el comando apt que aparece a continuación.

sudo apt install telegraf -y

Una vez completada la instalación, inicia el servicio telegraf y habilítalo para que se inicie siempre al arrancar el sistema.

sudo systemctl start telegraf
sudo systemctl enable telegraf

El agente de telegraf ya está en marcha, compruébalo con el siguiente comando.

sudo systemctl status telegraf

Instalar el Agente Telegráfico

Paso 4 – Configurar Telegraf

Telegraf es un agente basado en plugins y tiene 4 conceptos de tipo de plugins.

  1. Utilizando los ‘Plugins de entrada’ para recoger las métricas.
  2. Utilizando los ‘Plugins Procesadores’ para transformar, decorar y filtrar las métricas.
  3. Utilizando los ‘Plugins Agregadores’ para crear y agregar métricas.
  4. Y utilizando los «Plugins de salida» para escribir las métricas en varios destinos, incluido influxdb.

En este paso, configuraremos el Telegraf para que utilice los plugins de entrada básicos para recoger las métricas del sistema del servidor y utilizar influxdb como plugin de salida.

Ve al directorio ‘/etc/telegraf’ y cambia el nombre del archivo de configuración por defecto.

cd /etc/telegraf/
mv telegraf.conf telegraf.conf.default

Ahora crea otra configuración ‘telegraf.conf’ utilizando el editorvim.

vim telegraf.conf

Pega las configuraciones de abajo.

# Global Agent Configuration
[agent]
  hostname = "hakase-tig"
  flush_interval = "15s"
  interval = "15s"


# Input Plugins
[[inputs.cpu]]
    percpu = true
    totalcpu = true
    collect_cpu_time = false
    report_active = false
[[inputs.disk]]
    ignore_fs = ["tmpfs", "devtmpfs", "devfs"]
[[inputs.io]]
[[inputs.mem]]
[[inputs.net]]
[[inputs.system]]
[[inputs.swap]]
[[inputs.netstat]]
[[inputs.processes]]
[[inputs.kernel]]

# Output Plugin InfluxDB
[[outputs.influxdb]]
  database = "telegraf"
  urls = [ "http://127.0.0.1:8086" ]
  username = "telegraf"
  password = "hakase-ndlr"

Guarda y sal.

Configurar Telegraf

Nota:

Telegraf proporciona el comando telegraf para gestionar la configuración, incluso para generar la propia configuración, ejecuta el comando como se indica a continuación.

telegraf config -input-filter cpu:mem:disk:swap:system -output-filter influxdb > telegraf.conf
cat telegraf.conf

Configuración del telégrafo

Reinicia el servicio de telegraf y asegúrate de que no hay ningún error.

sudo systemctl restart telegraf

Ahora prueba la configuración de telegraf con el comando que aparece a continuación.

sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter cpu
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter net
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter mem

Prueba de configuración

La configuración de InfluxDB y Telegraf se ha completado.

Paso 6 – Instalar Grafana

En este paso, instalaremos el bonito panel de control Grafana para la visualización de datos.

Añade la clave y el repositorio de grafana.

sudo curl https://packagecloud.io/gpg.key | sudo apt-key add -
echo 'deb https://packagecloud.io/grafana/stable/debian/ stretch main' > /etc/apt/sources.list.d/grafana.list

Actualiza el repositorio e instala el paquete grafana utilizando el comando apt que aparece a continuación.

sudo apt update
sudo apt install grafana -y

Instalar Grafana

Una vez completada la instalación, inicia el servicio grafana y habilítalo para que se inicie siempre al arrancar el sistema.

sudo systemctl start grafana-server
sudo systemctl enable grafana-server

El servidor de grafana está funcionando en el puerto por defecto ‘3000’, compruébalo con netstat.

netstat -plntu

Y obtendrás el resultado que se muestra a continuación.

Comprobar los puertos

Paso 7 – Configurar la fuente de datos de Grafana

Abre tu navegador web y escribe la dirección IP del servidor con el puerto 3000.

http://192.168.33.15:3000/

Inicia sesión con el usuario por defecto ‘admin’ y la contraseña ‘admin’.

Iniciar sesión en Grafana

Ahora se te pedirá la página para cambiar la contraseña por defecto, escribe tu nueva contraseña y haz clic en el botón ‘Guardar’.

Establecer una nueva contraseña

Y serás redirigido al Dashboard de Grafana por defecto.

Haz clic en el botón «Añadir fuente de datos» para añadir la fuente de datos influxdb.

Panel de control de Grafana

Escribe los detalles de la configuración del servidor influxdb.

  • Nombre: influxdb
  • Tipo: influxdb
  • URL: http://localhost:8086/

Establecer los detalles de influxdb

Desplázate hasta la página inferior y escribe los detalles de la configuración de la base de datos influxdb.

  • Base de datos: telegraf
  • Usuario: telegraf
  • Contraseña: ‘hakase-ndlr’

Configuración de la base de datos

Haz clic en el botón «Guardar y probar» y asegúrate de que obtienes el resultado «La fuente de datos está funcionando».

La fuente de datos InfluxDB se ha añadido al servidor de Grafana.

Paso 8 – Configurar el panel de control de Grafana

Después de añadir InfluxDB como fuente de datos al servidor de Grafana, en este paso importaremos el panel de control de Grafana basado en nuestra configuración de plugins de entrada de Telegraf.

Grafana proporciona el repositorio para los plugins y cuadros de mando de grafana.

Para importar el cuadro de mando de Grafana, haz clic en el menú «+» del panel izquierdo y haz clic en «Importar».

Configurar el panel de control de Grafana

Ahora abre el dashboard de Grafana de ejemplo desde la URL‘https://grafana.com/dashboards/5955‘ y haz clic en el botón ‘Copiar el ID al Portapapeles’.

Pega el identificador del panel de control.

Importar la configuración del panel de control

Y serás redirigido automáticamente a la configuración del panel de control.

En la sección de opciones, haz clic en InfluxDB y elige tu servidor influxdb, luego haz clic en el botón «Importar».

Importación del servidor Influxdb

Y a continuación se muestran algunas capturas de pantalla del cuadro de mandos importado.

Salpicadero importado 1

Salpicadero importado 2

La instalación de TIG Stack (Telegraf, InfluxDB y Grafana) en Ubuntu 18.04 se ha completado con éxito.

Referencia

También te podría gustar...