InfluxDB es una base de datos de series temporales pensada para métricas, sensores y eventos con marca de tiempo. La versión 2 organiza los datos en buckets con un periodo de retención propio, se consulta con el lenguaje Flux e incluye una interfaz web y un CLI (influx). En este tutorial instalarás InfluxDB 2 en Ubuntu 24.04 desde el repositorio oficial de InfluxData, harás la configuración inicial, escribirás y consultarás datos, recogerás métricas del servidor con Telegraf y harás una copia de seguridad.
NotaInfluxData también publica InfluxDB 3 Core, una versión distinta que se consulta con SQL y no usa Flux ni la misma interfaz. Esta guía cubre InfluxDB 2, que sigue siendo la versión con buckets, Flux y panel web integrado.
Requisitos previos
- Un servidor con Ubuntu 24.04 LTS de 64 bits con al menos 2 GB de RAM y disco SSD, por ejemplo un VPS de CubePath.
- Un usuario no root con privilegios
sudo. - UFW activo si vas a abrir la interfaz web a tu IP.
Paso 1: Añadir el repositorio de InfluxData
InfluxDB 2, su CLI y Telegraf se distribuyen en el mismo repositorio APT. Descarga la clave de firma y comprueba su huella antes de confiar en ella:
curl -fsSL https://repos.influxdata.com/influxdata-archive.key -o /tmp/influxdata-archive.key
gpg --show-keys --with-fingerprint /tmp/influxdata-archive.key
pub rsa4096 2023-01-18 [SC]
24C9 75CB A61A 024E E1B6 3178 7C3D 5715 9FC2 F927
uid InfluxData Package Signing Key <[email protected]>
La salida puede listar también subclaves. La huella de la clave principal debe ser 24C9 75CB A61A 024E E1B6 3178 7C3D 5715 9FC2 F927, la misma que publica InfluxData en su documentación. Si coincide, conviértela al formato binario de APT y guárdala en /etc/apt/keyrings:
sudo install -d -m 0755 /etc/apt/keyrings
gpg --dearmor < /tmp/influxdata-archive.key | sudo tee /etc/apt/keyrings/influxdata-archive.gpg > /dev/null
Añade el repositorio, firmado con esa clave:
echo 'deb [signed-by=/etc/apt/keyrings/influxdata-archive.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
Paso 2: Instalar e iniciar InfluxDB
Instala el servidor (influxdb2) y el cliente de línea de comandos (influxdb2-cli), que son paquetes separados:
sudo apt update
sudo apt install influxdb2 influxdb2-cli
Habilita e inicia el servicio:
sudo systemctl enable --now influxdb
sudo systemctl status influxdb --no-pager
● influxdb.service - InfluxDB is an open-source, distributed, time series database
Loaded: loaded (/usr/lib/systemd/system/influxdb.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-09-25 10:40:12 UTC; 5s ago
Comprueba que la API responde en el puerto 8086:
influx ping
OK
La configuración del servidor está en /etc/influxdb/config.toml y los datos en /var/lib/influxdb.
Paso 3: Hacer la configuración inicial
Antes de poder usarlo, InfluxDB necesita un usuario administrador, una organización y un primer bucket. Puedes hacerlo desde la interfaz web o con el CLI. Con el CLI, ejecuta influx setup sin argumentos para que te pregunte cada valor y la contraseña no quede en el historial de la shell:
influx setup
> Welcome to InfluxDB 2.0!
? Please type your primary username admin
? Please type your password ****************
? Please type your password again ****************
? Please type your primary organization name cubepath
? Please type your primary bucket name servidores
? Please type your retention period in hours, or 0 for infinite 720
? Setup with these parameters?
Username: admin
Organization: cubepath
Bucket: servidores
Retention Period: 720h0m0s
Yes
User Organization Bucket
admin cubepath servidores
La retención de 720 horas (30 días) hace que InfluxDB borre automáticamente los datos de ese bucket con más de 30 días. Usa una contraseña fuerte: da acceso total a la instancia.
influx setup también crea un token de operador, con permisos sobre todo, y lo guarda en la configuración del CLI en ~/.influxdbv2/configs. Por eso los comandos influx siguientes funcionan sin pasar credenciales. Compruébalo:
influx config list
Active Name URL Org
* default http://localhost:8086 cubepath
Trata ese archivo como una contraseña de root y no uses el token de operador en aplicaciones: en el paso 6 crearás tokens con permisos limitados.
Paso 4: Crear buckets con distintas retenciones
Cada bucket tiene su propio periodo de retención, así que lo habitual es separar los datos según cuánto tiempo necesitas conservarlos. Crea un bucket para datos de sensores que se guarden un año:
influx bucket create --name iot --retention 365d
Lista los buckets de la organización:
influx bucket list
ID Name Retention Shard group duration Organization ID Schema Type
0f3a9c2b7d4e1a58 _monitoring 168h0m0s 24h0m0s 5b1e8d7c2a9f4e30 implicit
7a2d4e6f8b1c3a59 _tasks 72h0m0s 24h0m0s 5b1e8d7c2a9f4e30 implicit
2c8e1f4a6d9b3e71 iot 8760h0m0s 168h0m0s 5b1e8d7c2a9f4e30 implicit
9e4b2d7a1c6f8e03 servidores 720h0m0s 24h0m0s 5b1e8d7c2a9f4e30 implicit
Los buckets _monitoring y _tasks son internos de InfluxDB. Para cambiar la retención de un bucket existente usa su ID, por ejemplo influx bucket update --id 2c8e1f4a6d9b3e71 --retention 180d.
Paso 5: Escribir y consultar datos
InfluxDB recibe datos en line protocol: medicion,etiqueta=valor campo=valor marca_de_tiempo. Las etiquetas (tags) están indexadas y sirven para filtrar; los campos (fields) son los valores medidos. Escribe dos puntos de temperatura en el bucket iot con marca de tiempo en segundos:
influx write --bucket iot --precision s "temperatura,sensor=s1,sala=almacen valor=21.4 $(date +%s)"
influx write --bucket iot --precision s "temperatura,sensor=s2,sala=oficina valor=23.1 $(date +%s)"
Consulta los datos de la última hora con Flux. Una consulta Flux es una cadena de funciones unidas por |>: se elige el bucket, un rango de tiempo y filtros:
influx query 'from(bucket: "iot")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "temperatura")
|> keep(columns: ["_time", "sensor", "_value"])'
Result: _result
Table: keys: [sensor]
sensor:string _time:time _value:float
---------------------- ------------------------------ ----------------------------
s1 2026-09-25T10:45:03.000000000Z 21.4
Table: keys: [sensor]
sensor:string _time:time _value:float
---------------------- ------------------------------ ----------------------------
s2 2026-09-25T10:45:04.000000000Z 23.1
Flux devuelve una tabla por cada combinación de etiquetas. Para agregar por intervalos, por ejemplo la media cada 5 minutos, añade aggregateWindow:
influx query 'from(bucket: "iot")
|> range(start: -24h)
|> filter(fn: (r) => r._measurement == "temperatura" and r._field == "valor")
|> aggregateWindow(every: 5m, fn: mean, createEmpty: false)'
Paso 6: Recoger métricas del servidor con Telegraf
Telegraf es el agente de InfluxData para recoger métricas de sistemas y servicios y enviarlas a InfluxDB. Instálalo desde el mismo repositorio:
sudo apt install telegraf
Crea un token que solo pueda escribir en el bucket servidores. Primero obtén el ID del bucket:
BUCKET_ID=$(influx bucket list --name servidores --hide-headers | awk '{print $1}')
echo "$BUCKET_ID"
Crea el token:
influx auth create --org cubepath --write-bucket "$BUCKET_ID" --description "telegraf"
La salida incluye una columna Token con una cadena larga; cópiala. Guárdala en el archivo de entorno que carga el servicio de Telegraf, para no escribirla en la configuración:
sudo nano /etc/default/telegraf
INFLUX_TOKEN=your_telegraf_token
Deja que solo root y Telegraf puedan leerlo:
sudo chown root:telegraf /etc/default/telegraf
sudo chmod 640 /etc/default/telegraf
El telegraf.conf que instala el paquete es muy largo y trae activada una salida para InfluxDB 1.x que aquí no sirve. Guarda una copia y sustitúyelo por una configuración mínima:
sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.orig
sudo nano /etc/telegraf/telegraf.conf
[agent]
interval = "10s"
flush_interval = "10s"
[[outputs.influxdb_v2]]
urls = ["http://127.0.0.1:8086"]
token = "${INFLUX_TOKEN}"
organization = "cubepath"
bucket = "servidores"
[[inputs.cpu]]
percpu = false
totalcpu = true
[[inputs.mem]]
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs", "overlay", "squashfs"]
[[inputs.system]]
Telegraf sustituye ${INFLUX_TOKEN} por la variable de entorno al arrancar. Prueba los plugins de entrada sin enviar nada a InfluxDB:
telegraf --config /etc/telegraf/telegraf.conf --test --input-filter mem
> mem,host=influx01 active=312459264i,available=1452183552i,available_percent=71.2,...,used_percent=28.8 1790333125000000000
Reinicia Telegraf y comprueba que no hay errores de escritura:
sudo systemctl restart telegraf
sudo journalctl -u telegraf -n 20 --no-pager
Tras unos segundos, consulta el último valor de memoria usada:
influx query 'from(bucket: "servidores")
|> range(start: -5m)
|> filter(fn: (r) => r._measurement == "mem" and r._field == "used_percent")
|> last()'
Si aparece una fila con el porcentaje, Telegraf está enviando métricas.
Paso 7: Acceder a la interfaz web
InfluxDB escucha en todas las interfaces en el puerto 8086. La interfaz web incluye un explorador de datos y paneles, pero no la expongas a Internet: permite el acceso solo desde tu IP (your_ip):
sudo ufw allow from your_ip to any port 8086 proto tcp
Abre http://your_server_ip:8086 en el navegador e inicia sesión con el usuario admin. En Data Explorer puedes construir consultas Flux de forma visual y ver las métricas de Telegraf. Para uso continuado, pon delante un proxy inverso con HTTPS (Nginx o Caddy), ya que el tráfico, incluidos los tokens, va en claro por HTTP.
Paso 8: Hacer copias de seguridad
influx backup copia los datos y los metadatos (usuarios, tokens, buckets) mientras el servidor está en marcha. Necesita el token de operador, que ya está en tu configuración del CLI:
influx backup ~/influx-backups/$(date +%F)
2026/09/25 10:58:21 INFO: Downloading metadata snapshot
2026/09/25 10:58:21 INFO: Backing up TSM for shard 1
...
Para restaurar todo en una instancia nueva, después de instalarla y sin ejecutar influx setup, usa influx restore --full con la ruta de la copia. Copia los backups fuera del servidor y prográmalos con cron o un temporizador systemd.
Solución de problemas
Error: failed to load configounauthorizeden los comandosinflux: estás usando otro usuario del sistema distinto del que ejecutóinflux setup. La configuración del CLI es por usuario, en~/.influxdbv2/configs.- Telegraf registra
401 Unauthorized: el token de/etc/default/telegrafno es correcto o no tiene permiso de escritura en el bucket. Crea otro coninflux auth createy reinicia Telegraf. - Telegraf registra
bucket not found: el nombre debucketuorganizationentelegraf.confno coincide con el de InfluxDB. Compruébalo coninflux bucket list. - La interfaz web no carga: revisa que el servicio está activo (
systemctl status influxdb) y que UFW permite tu IP (sudo ufw status).
Conclusión
InfluxDB 2 está instalado en Ubuntu 24.04 con buckets de distinta retención, consultas Flux probadas, Telegraf enviando métricas del servidor con un token de solo escritura y copias de seguridad con influx backup. Como siguientes pasos, crea un token de solo lectura (influx auth create --read-bucket) para conectar Grafana con InfluxDB como fuente de datos, añade plugins de Telegraf para tus servicios (Nginx, PostgreSQL, Docker) y configura alertas desde la interfaz web.
