--- title: "Cómo instalar InfluxDB 2 en Ubuntu 24.04 con Telegraf" description: "Instala InfluxDB 2 en Ubuntu 24.04 desde el repositorio oficial, crea buckets con retención, consulta con Flux, envía métricas con Telegraf y haz backups." category: "Bases de Datos Especializadas" language: es source: https://cubepath.com/es/docs/bases-de-datos-especializadas/instalacion-y-configuracion-de-influxdb updated: 2026-09-25 --- # Cómo instalar InfluxDB 2 en Ubuntu 24.04 con Telegraf 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. > Nota: InfluxData 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: ```bash curl -fsSL https://repos.influxdata.com/influxdata-archive.key -o /tmp/influxdata-archive.key gpg --show-keys --with-fingerprint /tmp/influxdata-archive.key ``` ```output pub rsa4096 2023-01-18 [SC] 24C9 75CB A61A 024E E1B6 3178 7C3D 5715 9FC2 F927 uid InfluxData Package Signing Key ``` 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`: ```bash 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: ```bash 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: ```bash sudo apt update sudo apt install influxdb2 influxdb2-cli ``` Habilita e inicia el servicio: ```bash sudo systemctl enable --now influxdb sudo systemctl status influxdb --no-pager ``` ```output ● 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: ```bash influx ping ``` ```output 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: ```bash influx setup ``` ```text > 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: ```bash influx config list ``` ```output 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: ```bash influx bucket create --name iot --retention 365d ``` Lista los buckets de la organización: ```bash influx bucket list ``` ```output 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: ```bash 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: ```bash influx query 'from(bucket: "iot") |> range(start: -1h) |> filter(fn: (r) => r._measurement == "temperatura") |> keep(columns: ["_time", "sensor", "_value"])' ``` ```output 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`: ```bash 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: ```bash sudo apt install telegraf ``` Crea un token que solo pueda escribir en el bucket `servidores`. Primero obtén el ID del bucket: ```bash BUCKET_ID=$(influx bucket list --name servidores --hide-headers | awk '{print $1}') echo "$BUCKET_ID" ``` Crea el token: ```bash 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: ```bash sudo nano /etc/default/telegraf ``` ```ini INFLUX_TOKEN=your_telegraf_token ``` Deja que solo root y Telegraf puedan leerlo: ```bash 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: ```bash sudo mv /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf.orig sudo nano /etc/telegraf/telegraf.conf ``` ```toml [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: ```bash telegraf --config /etc/telegraf/telegraf.conf --test --input-filter mem ``` ```output > 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: ```bash sudo systemctl restart telegraf sudo journalctl -u telegraf -n 20 --no-pager ``` Tras unos segundos, consulta el último valor de memoria usada: ```bash 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`): ```bash 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: ```bash influx backup ~/influx-backups/$(date +%F) ``` ```output 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 config` o `unauthorized` en los comandos `influx`**: 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/telegraf` no es correcto o no tiene permiso de escritura en el bucket. Crea otro con `influx auth create` y reinicia Telegraf. - **Telegraf registra `bucket not found`**: el nombre de `bucket` u `organization` en `telegraf.conf` no coincide con el de InfluxDB. Compruébalo con `influx 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.