Cómo instalar InfluxDB y Telegraf en Rocky Linux 9

InfluxDB es una base de datos de series temporales de código abierto escrita en Go. Se trata de una plataforma de series temporales de alto rendimiento creada específicamente para recopilar, almacenar, procesar y visualizar datos de series temporales. InfluxDB es la solución de referencia para las bases de datos de series temporales, ya que proporciona un motor de datos de series temporales de alto rendimiento con una potente API integrada para crear aplicaciones en tiempo real. InfluxDB es una plataforma que se utiliza para, por ejemplo, monitorización de operaciones, métricas de rendimiento de aplicaciones y servidores, datos de sensores IoT y analítica en tiempo real.

En este tutorial, instalarás la base de datos de series temporales de código abierto influxdb y Telegraf en un servidor Rocky Linux 9. También asegurarás la instalación de influxdb con autenticación y certificados TLS, configurarás la CLI de influxdb y recopilarás métricas mediante el agente Telegraf. Al final de esta guía, crearás y visualizarás la base de datos de series temporales influxdb mediante el panel de control influxdb.

Requisitos previos

Para empezar, debes tener los siguientes requisitos para completar este tutorial:

  • Un servidor Rocky Linux 9.
  • Un usuario no root con privilegios de administrador sudo/root.
  • Un SELinux con modo «permisivo».

Configuración del repositorio

InfluxDB es una base de datos de series temporales de código abierto que puede desplegarse en múltiples entornos, que incluyen máquinas virtuales con Linux, Windows y macOS. Y también entornos en contenedores como Docker y Kubernetes.

Para instalar influxdb en Linux, puedes instalarlo manualmente mediante un paquete binario o instalarlo a través del repositorio influxdb. En este paso, instalarás influxdb a través del repositorio oficial de influxdb.

Ejecuta el siguiente comando para añadir el repositorio influxdb a tu sistema Rocky Linux.

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = influxdb Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF

Después, comprueba la lista de repositorios disponibles en tu sistema.

sudo dnf repolist

Recibirás una salida como la siguiente captura de pantalla – El repositorio influxdb añadido.

configurar repositorio

Instalar InfluxDB

Una vez añadido el repositorio influxdb, instala el paquete influxdb en tu sistema Rocky Linux e inicia el servicio influxdb y habilítalo.

Ejecuta el siguiente comando dnf para instalar el paquete influxdb v2. En el momento de escribir esto, instalarás la última versión de influxdb v2.5.1.

sudo dnf install influxdb2

Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar.

instalar influxdb

Además, cuando se te pida la clave GPG de influxdb, introduce y para confirmar y pulsa INTRO.

aceptar clave gpg

Una vez instalado influxdb, ejecuta el siguiente comando systemctl para iniciar y activar el servicio influxdb.

sudo systemctl start influxdb
sudo systemctl enable influxdb

El servicio influxdb ya debería estar en marcha y activado. Y se iniciará automáticamente al arrancar.

Verifica el servicio influxdb mediante el comando siguiente. Verás que el servicio influxdb se está ejecutando y está habilitado.

sudo systemctl status influxdb

comprobar influxdb

Por defecto, el servicio influxdb se ejecuta en el puerto TCP «8085». Ahora que influxdb se está ejecutando, tendrás que añadir el puerto influxdb al cortafuegos.

Ejecuta el siguiente comando firewall-cmd para añadir el puerto«8086» al firewalld.

sudo firewall-cmd --add-port=8086/tcp --permanent

Ahora recarga el firewalld para aplicar los nuevos cambios. A continuación, comprueba el estado del firewalld para asegurarte de que el puerto influxdb se ha añadido al firewalld.

sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

Recibirás una salida como la siguiente – El puerto influxdb 8089 añadido al firewalld.

configurar firewalld

Con influxdb instalado y el firewalld configurado, a continuación instalarás y configurarás la CLI de influxdb que se utilizará para gestionar influxdb a través de la línea de comandos.

Instalación de influxdb CLI

Una vez instalada la base de datos de series temporales influxdb, instalarás la línea de comandos influxdb2-cli o influxdb. influxdb2-cli proporciona una línea de comandos «influx» que te permite gestionar la administración de influxdb, como la gestión de buckets, organizaciones, usuarios, tareas, etc.

Ejecuta el siguiente comando dnf para instalar el paquete influxdb2-cli.

sudo dnf install influxdb2-cli

Introduce y cuando se te pida confirmación y pulsa ENTER para continuar.

instalar influxdb cli

Una vez instalado influxdb2-cli, ejecuta el siguiente comando para comprobar el archivo binario inlfuxdb2-cli y verificar la versión de influxdb-cli.

which influx
influx version

Se imprimirá en tu pantalla una salida como ésta: el archivo binario influxdb2-cli está disponible en ‘/bin/influx’ y la versión actual de influxdb2-cli instalada en tu sistema es la v2.5.0.

comprobar afluencia cli

El influxdb2-cli proporciona las terminaciones de comandos para múltiples shells como bash y zsh. La mayoría de las máquinas Linux utilizan el shell bash por defecto. Por lo tanto, configurarás el completado de comandos influxdb2-cli para el intérprete de comandos bash.

Ejecuta el siguiente comando para generar el completado de comandos influxdb2-cli en‘/etc/bash_completion.d/influx.sh‘. A continuación, haz que el archivo‘/etc/bash_completion.d/influx.sh’ sea ejecutable mediante el comando chmod.

sudo influx completion bash > /etc/bash_completion.d/influx.sh
sudo chmod +x /etc/bash_completion.d/influx.sh

Ahora, si escribes el comando «influx» en tu sistema y pulsas TAB, verás las opciones disponibles para el comando«influx».

sudo influx TAB

configurar autocompletar

Llegados a este punto, habrás instalado la base de datos de series temporales influxdb y el influxdb2-cli en tu sistema Rocky Linux. A continuación, configurarás la instalación de influxdb a través de influxdb2-cli.

Configurar InfluxDB mediante InfluxDB CLI

En este paso, configurarás la instalación de influxdb a través de influxdb2-cli. Configurarás el usuario y contraseña de administrador de influxdb, configurarás el bucket o base de datos por defecto, verificarás la lista de usuarios y auth en influxdb. También aprenderás a conectarte al shell de influxdb mediante el comando influx y el token de usuario, y también a acceder al panel de administración web de influxdb mediante el navegador web.

En primer lugar, ejecuta el siguiente comando influx para empezar a configurar la implantación de influxdb.

sudo influx setup

Ahora se te pedirá la siguiente configuración de influxdb:

  • Configurar usuario admin – introduce el nuevo nombre de usuario para tu servidor influxdb. En este ejemplo se utiliza«alice» como usuario administrador de influxdb.
  • Establece la contraseña de administrador – introduce la nueva contraseña de administrador para tu despliegue de influxdb y repite la contraseña.
  • Define el nombre de la organización – introduce el nombre de tu organización. En este ejemplo, la organización es«HW.IO«.
  • Define el nombre del cubo primario que crearás – introduce el nombre del cubo para la instalación por defecto. En este ejemplo, el nombre del cubo es «test-bucket«.
  • Establece el periodo de retención de influxdb: introduce 0 para infinito.
  • Ahora introduce«Sí» para confirmar la configuración básica de influxdb.

A continuación se muestra la salida completa durante la configuración de influxdb mediante el comando «influx».

configurar influxdb

Ahora que se ha creado el usuario administrador de influxdb, comprueba la lista de usuarios y autenticaciones en influxdb mediante el siguiente comando influx.

sudo influx user list
sudo influx auth list

La siguiente salida confirma que se ha creado el usuario admin de influxdb «alice» y también deberías ver los detalles de autenticación del usuario«alice«, que incluyen el identificador de autenticación, el token y los permisos.

influxdb list usuario auth

Como puedes ver, el token de usuario se genera automáticamente durante el proceso de configuración. Y a continuación utilizarás el token para iniciar sesión en el shell de influxdb y verificar que tienes la configuración adecuada de influxdb.

Antes de iniciar sesión en el intérprete de comandos influxdb, ejecuta el siguiente comando para crear la variable de entorno«INFLUX_TOKEN«. Y asegúrate de cambiar el token en el comando de abajo por tu token.

export INFLUX_TOKEN=FlIq521ZVxEA40Iz7rVVKK25sDmuEWUHm_Mbly-4mYxt-rWrYOOytVnmE5yL5bpNB_gNHBWlYXKDED9PEbk-0g==

Ahora inicia sesión en el intérprete de comandos influxdb mediante el comando «influx» que aparece a continuación. Después de conectarte, deberías ver un mensaje como ‘Conectado a InfluxDB OSS v2.5.1’.

sudo influx v1 shell $INFLUX_TOKEN

conectar con influxdb

A continuación, ejecuta la siguiente consulta influx para obtener detalles de las bases de datos o buckets del servidor influxdb.

show DATABASES

Y deberías obtener la base de datos‘test-bucket‘ disponible en el servidor influxdb.

mostrar cubos

Ahora puedes pulsar«q» para salir del modo interactivo y escribir«exit» para cerrar la sesión en el shell de influxdb.

A continuación, también puedes acceder a la administración de influxdb desde el navegador web.

Abre tu navegador web y visita la dirección IP del servidor influxdb seguida del puerto ‘8086’ (es decir: http://192.168.5.100:8086). Ahora deberías obtener la página de inicio de sesión de influxdb.

Introduce el usuario y la contraseña de influxdb que has creado durante el proceso de configuración de influxdb y haz clic en«INICIAR SESIÓN». En este ejemplo, el usuario administrador es«alice«.

influxdb login

Una vez iniciada la sesión, deberías ver el panel de administración web de influxdb.

tablero influxdb

En el menú de la izquierda, haz clic en«Cargar datos» y selecciona la pestaña«Cubos«. Y deberías ver que «test-bacuket» está disponible en el servidor influxdb.

cubos de control

Con la configuración básica de influxdb terminada, a continuación empezarás a añadir la capa de seguridad en influxdb habilitando la conexión segura mediante certificados TLS.

Asegurar InfluxDB con TLS

Una vez terminada la configuración básica del servidor influxdb, a continuación asegurarás la implantación de influxdb mediante certificados SSL/TLS. A continuación, actualizarás la configuración/perfil por defecto de influx con el nuevo servidor influxdb seguro.

Antes de empezar, asegúrate de que has generado certificados SSL/TLS. Puedes utilizar certificados SSL/TLS autofirmados o utilizar los certificados SSL generados de terceros como Letsencrypt.

Primero, crea un nuevo directorio para almacenar los certificados SSL/TLS ‘/etc/influxdb/ssl’.

mkdir -p /etc/influxdb/ssl

Ahora copia los certificados SSL/TLS al directorio ‘/etc/influxdb/ssl’ y cambia la propiedad del directorio ‘/etc/influxdb/ssl’ al usuario ‘influx’.

cp /etc/letsencrypt/live/influxdb.hwdomain.io/{fullchain.pem,privkey.pem} /etc/influxdb/ssl/
sudo chown -R influx: /etc/influxdb/ssl

Una vez copiados los certificados SSL/TLS, abre el archivo de configuración de influxdb‘/etc/influxdb/config.toml ‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/influxdb/config.toml

Añade las siguientes líneas al archivo.

tls-cert = "/etc/influxdb/ssl/fullchain.pem"
tls-key = "/etc/influxdb/ssl/privkey.pem"

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando systemctl para reiniciar el servicio influxdb y aplicar los nuevos cambios.

sudo systemctl restart influxdb

Ahora que influxdb se está ejecutando con TLS activado, no podrás consultar y gestionar el servidor influxdb a través de la línea de comandos «influx». Para solucionarlo, debes actualizar el perfil influx por defecto de tu sistema.

Ejecuta el siguiente comando para actualizar la configuración/perfil «por defecto» en el entorno influx. En este ejemplo, actualizarás la URL a‘https://influxdb.hwdomain.io:8086‘ con SSL/TLS seguro activado y actualizarás el token con la variable de entorno‘INFLUX_TOKEN’ y la organización a‘HW.IO‘.

sudo influx config set -a -n default -u https://influxdb.hwdomain.io:8086 -t $INFLUX_TOKEN -o HW.IO

Verifica la lista de configuraciones/perfiles de influx utilizando el siguiente comando. Ahora deberías ver que la URL ha cambiado a ‘https://influxdb.hwdomain.io:8086’, que es el SSL/TLS activado en el servidor influxdb.

sudo influx config ls

activar ssl influxdb

Por último, ejecuta el comando siguiente para comprobar que la nueva configuración/perfil influx de actualización funciona.

sudo influx user list
sudo influx auth list

Supongamos que la configuración/perfil de influx se actualiza correctamente. En ese caso, deberías obtener la lista de usuarios y auth en el servidor influxdb y te habrás conectado al servidor influxdb a través de la conexión segura SSL/TLS.

telégrafo

Llegados a este punto, habrás finalizado la instalación y configuración del servidor influxdb en Rocky Linux y habrás asegurado la implantación de influxdb mediante certificados SSL/TLS. A continuación, empezarás a recopilar datos y métricas mediante telegraf, y luego visualizarás los datos de series temporales de influxdb creando un panel de control.

Recopilación de datos mediante telegraf

Telegraf forma parte de la plataforma de series temporales creada por influxdata. Es un agente de código abierto basado en servidor para recopilar y enviar métricas y eventos de múltiples entornos, como sensores IoT, sistemas de bases de datos, telemetría de sistemas y herramientas y marcos DevOps. Telegraf está compilado como un único archivo binario y escrito en Go, sin necesidad de dependencias externas para la instalación.

En este paso, instalarás telegaf en un servidor Linux Rocky y lo configurarás para que envíe métricas al servidor influxdb.

telegaf está disponible en el repositorio influxdb. Antes de instalar telegaf, asegúrate de que el repositorio influxdb está añadido a tu sistema.

Ahora ejecuta el siguiente comando dnf para instalar telegraf en tu sistema. Cuando te pida confirmación, introduce y y pulsa ENTER para continuar.

sudo dnf install telegraf

instalar telégrafo

Una vez instalado telegraf, inicia y activa el servicio telegraf mediante el siguiente comando systemctl.

sudo systemctl start telegraf
sudo systemctl enable telegraf

A continuación, ejecuta el siguiente comando para verificar el servicio telegraf y asegurarte de que se está ejecutando y está habilitado.

sudo systemctl is-enabled telegraf
sudo systemctl status telegraf

La siguiente salida confirma que el servicio telegraf está activado y se ejecutará automáticamente al arrancar. Y el estado actual del servicio telegraf es en ejecución.

comprobar telégrafo

Ahora que telegraf se está ejecutando, a continuación añadirás el servidor influxdb a la configuración de telegraf.

Abre la configuración de telegraf‘/etc/telegraf/telegraf.conf‘ utilizando el siguiente comando del editor nano.

sudo nano /etc/telegraf/telegraf.conf

En la sección ‘[[salidas.influxdb_v2]]’, añade la URL, el token, la organización y el nombre del cubo con los detalles del servidor influxdb.

 [[outputs.influxdb_v2]]
#   ## The URLs of the influxdb cluster nodes.
.........
#   ###   ##   ex: urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"]
   urls = ["https://influxdb.hwdomain.io:8086"]
#
#   ## Token for authentication.
   token = "FlIq521ZVxEA40Iz7rVVKK25sDmuEWUHm_Mbly-4mYxt-rWrYOOytVnmE5yL5bpNB_gNHBWlYXKDED9PEbk-0g=="
#
#   ## Organization is the name of the organization you wish to write to.
   organization = "HW.IO"
#
#   ## Destination bucket to write into.
   bucket = "test-bucket"

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando systemctl para reiniciar el servicio telegraf y aplicar los nuevos cambios. Ahora el servicio telegraf recopilará métricas de tu sistema y enviará las métricas recopiladas al servidor influxdb.

sudo systemcl restart telegraf

Ahora puedes verificar la instalación de telegraf e influxdb mediante el panel de administración web de influxdb y el shell de influxdb.

Verificación de las métricas de telegraf desde el panel de administración web de influxdb: haz clic en el menú«Explorador de datos» y selecciona el«cubo de prueba«. Ahora deberías obtener la telemetría del sistema recogida por telegraf, que incluye cpu, disco, diskio, kernel, memoria, swap y sistema.

verificar el cuadro de mandos influxdb de telegraf

Verifica las métricas del telegraf mediante el intérprete de comandos influxdb: conéctate al intérprete de comandos influxdb mediante el comando «influx» que aparece a continuación.

sudo influx v1 shell

A continuación, ejecuta la siguiente consulta para cambiar al «cubo de pruebas» y mostrar las mediciones disponibles en él.

use test-bucket
SHOW MEASUREMENTS

La siguiente salida confirma que las métricas recogidas por el servicio telegraf están disponibles en el servidor influxdb.

verificar terminal telegraf

Una vez finalizada la instalación y configuración de telegraf, las métricas están disponibles en el servidor influxdb. Ahora puedes configurar un nuevo panel de control y empezar a supervisar tu servidor mediante telegraf e influxdb.

Visualización de datos y creación del cuadro de mandos

En este paso, crearás un nuevo cuadro de mandos para supervisar la telemetría de los sistemas a través del servidor influxdb y telegraf. Crearás cuadros de mando influxdb, crearás celdas para la supervisión de sistemas y visualizarás las métricas recogidas por el servicio telegraf.

Para empezar, selecciona el menú«Cuadro de mandos» y haz clic en«CREAR CUADRO DE MANDOS».

crear daashboard

Introduce el nombre de tu cuadro de mando y haz clic en «AÑADIR CELDA«. En este ejemplo, crearás un panel de control«Panel de control de prueba«.

salpicadero añadir celda

Ahora puedes empezar a añadir nuevas celdas para la monitorización de tu sistema. A continuación se muestran algunos ejemplos de gráficos para la monitorización del sistema a través de telegraf.

A continuación se muestran los ajustes del gráfico para la memoria disponible y el uso de memoria.

memoria

A continuación se muestran los ajustes del gráfico para la monitorización de procesos.

procesa

Abajo el gráfico para la carga del sistema.

carga del sistema

Abajo gráfico simple del tiempo de actividad.

tiempo de actividad

Abajo el gráfico de usuarios activos.

usuario activo

Por último, abajo está el gráfico para las CPUs disponibles en el sistema.

cpus

Con esas celdas para la monitorización del sistema, deberías obtener el«Panel de Prueba» con el aspecto de la siguiente captura de pantalla.

panel de control

Has configurado correctamente la monitorización del sistema mediante el servidor influxdb y telegraf. Has aprendido a configurar el panel de influxdb y a configurar una celda para visualizar las métricas de telegraf.

Conclusión

En esta guía, has instalado la base de datos de series temporales influxdb y el influxdb2-cli en un servidor Rocky Linux 9. También has asegurado la instalación de influxdb mediante certificados SSL/TLS y has configurado el servidor influxdb mediante la línea de comandos influx.

Además, instalaste y configuraste telegraf para recoger y enviar métricas al servidor influxdb mediante una conexión segura SSL/TLS. Y, por último, has creado un panel de control para la supervisión del sistema a través del servidor influxdb y telegraf.

A partir de aquí, ya puedes visualizar tus sistemas y aplicaciones y configurar el cuadro de mandos para la supervisión. También puedes configurar las tareas de influxdb, configurar el sistema de alertas y muchas cosas más.

Scroll al inicio