InfluxDB 3 i InfluxDB3-UI¶
Què és?¶
InfluxDB és una base de dades de sèries temporals (time-series database) optimitzada per a emmagatzemar i consultar dades amb timestamps, ideal per a IoT, monitorització i mètriques.
InfluxDB 3 és la nova versió que utilitza Apache Arrow i DataFusion per a un rendiment molt superior. Suporta tant InfluxQL com SQL.
InfluxDB3-UI és una interfície web per gestionar i visualitzar les dades d'InfluxDB 3.
Característiques principals¶
- Optimitzada per a dades de sèries temporals
- Suport per SQL i InfluxQL
- Alta compressió de dades
- Escriptura d'alt rendiment
Instal·lació amb Docker¶
1. Crear xarxa Docker (si no existeix)¶
docker network create xarxa_IOT
2. Crear carpetes¶
# Directoris per InfluxDB3
sudo mkdir -p /opt/docker/influxdb3/data
sudo mkdir -p /opt/docker/influxdb3/plugins
# Directoris per la UI
mkdir -p /opt/docker/influxdb3/ui/db
mkdir -p /opt/docker/influxdb3/ui/config
mkdir -p /opt/docker/influxdb3/ui/ssl
# Permisos
sudo chown -R 1000:1000 /opt/docker/influxdb3/
sudo chown -R 1500:1500 /opt/docker/influxdb3/data
sudo chmod -R 755 /opt/docker/influxdb3/
3. Generar secret per la UI¶
echo "SESSION_SECRET_KEY=$(openssl rand -base64 32)" > /opt/docker/influxdb3/.env
4. Docker Compose¶
services:
influxdb3:
image: influxdb:3-core
container_name: influxdb3
restart: unless-stopped
ports:
- "8181:8181"
volumes:
- /opt/docker/influxdb3/data:/var/lib/influxdb3
- /opt/docker/influxdb3/plugins:/plugins
environment:
- INFLUXDB3_NODE_IDENTIFER_PREFIX=iot-node
networks:
- xarxa_IOT
influxdb3-ui:
image: influxdata/influxdb3-ui:latest
container_name: influxdb3-ui
restart: unless-stopped
ports:
- "8888:8888"
volumes:
- /opt/docker/influxdb3/ui/db:/app/db
- /opt/docker/influxdb3/ui/config:/app/config
- /opt/docker/influxdb3/ui/ssl:/app/ssl
env_file:
- /opt/docker/influxdb3/.env
depends_on:
- influxdb3
networks:
- xarxa_IOT
networks:
xarxa_IOT:
external: true
5. Iniciar el servei¶
docker compose up -d
Configuració post-instal·lació¶
Generar token d'administrador¶
docker exec -it influxdb3 influxdb3 create token --admin
Guardar el token generat (format apiv3_xxxx).
Crear configuració de la UI¶
Crear l'arxiu /opt/docker/influxdb3/ui/config/config.json:
{
"DEFAULT_INFLUX_SERVER": "http://influxdb3:8181",
"DEFAULT_INFLUX_DATABASE": "",
"DEFAULT_API_TOKEN": "apiv3_EL_TEU_TOKEN",
"DEFAULT_SERVER_NAME": ""
}
Crear base de dades¶
docker exec -it influxdb3 influxdb3 create database IoT --token apiv3_EL_TEU_TOKEN
Nota: La versió Core (no Enterprise) només suporta admin tokens.
Accés¶
| Servei | URL | Descripció |
|---|---|---|
| InfluxDB3 API | http://localhost:8181 |
API HTTP |
| InfluxDB3-UI | http://localhost:8888 |
Interfície web |
Comandes útils¶
# Llistar bases de dades
docker exec -it influxdb3 influxdb3 show databases --token apiv3_TOKEN
# Crear base de dades
docker exec -it influxdb3 influxdb3 create database NOM_DB --token apiv3_TOKEN
# Eliminar base de dades
docker exec -it influxdb3 influxdb3 delete database NOM_DB --token apiv3_TOKEN
Ports¶
| Port | Servei | Descripció |
|---|---|---|
| 8181 | InfluxDB3 | API HTTP |
| 8888 | InfluxDB3-UI | Interfície web |