InfluxDB: Primeros pasos

Cómo configurar y gestionar rápidamente InfluxDB siguiendo las mejores prácticas

👋 Bienvenido a la documentación de Stackhero

Stackhero ofrece un entorno InfluxDB cloud totalmente gestionado, diseñado para la velocidad y la simplicidad:

  • Escrituras, consultas, dashboards, tareas y buckets ilimitados.
  • Retención de datos ilimitada: conserve sus métricas tanto tiempo como necesite.
  • Transferencias de red y disco ilimitadas, sin límites ocultos.
  • Actualizaciones con un solo clic: acceda siempre a las últimas funcionalidades y correcciones.
  • Rendimiento constante y seguridad reforzada en su propia infraestructura privada y dedicada.

Con Stackhero, puede centrarse en sus datos y análisis. Empezar con InfluxDB cloud hosting solo le llevará unos minutos, y cada configuración está optimizada para una fiabilidad a largo plazo.

InfluxDB no ofrece gestión de usuarios directamente desde su interfaz web. Puede gestionar de forma eficiente la creación y administración de usuarios utilizando la CLI de InfluxDB.

Puede acceder a la CLI de InfluxDB a través de Docker. Por ejemplo, puede ejecutar este comando:

docker run -it influxdb:2.8 /bin/bash

Recuerde utilizar la etiqueta de versión correspondiente a su instancia de InfluxDB en lugar de 2.8.

Después de iniciar el contenedor, cree una configuración. Sustituya <XXXXXX>.stackhero-network.com por el dominio real de su instancia de InfluxDB:

influx config create \
  --config-name adminConfig \
  --active \
  --username-password admin \
  --org admin \
  --host-url https://<XXXXXX>.stackhero-network.com

Una vez configurado, puede utilizar la CLI de InfluxDB para gestionar usuarios. Por ejemplo, para crear un nuevo usuario:

influx user create --name <user> --password <password>

InfluxDB está optimizado para grandes volúmenes de datos de series temporales. Como no elimina automáticamente los datos antiguos, una base de datos sin gestión puede llenar rápidamente el almacenamiento disponible. Stackhero le ayuda a evitar esto gracias a la compatibilidad con las funciones nativas de InfluxDB para una gestión eficiente de los datos.

InfluxDB ofrece dos soluciones principales:

  1. Políticas de retención: Eliminan automáticamente los datos más antiguos que un periodo definido, por ejemplo, 365 días. Esto mantiene un uso predecible del almacenamiento y evita limpiezas manuales.
  2. Downsampling de datos: Almacene datos de alta resolución para periodos recientes y datos agregados para periodos más antiguos. Por ejemplo:
    • Mantenga resolución de 1 segundo para los últimos 5 minutos.
    • Almacene valores máximo, mínimo y promedio a intervalos de 1 minuto para las últimas 24 horas.
    • Conserve agregados por hora para los datos más antiguos.

Las políticas de retención le permiten conservar el historial relevante sin consumir espacio en disco en exceso. Para más información sobre downsampling, consulte la documentación oficial de InfluxDB sobre downsampling.

Por defecto, InfluxDB conserva los datos indefinidamente. Para la mayoría de los casos de uso de series temporales, establecer un periodo de retención para cada bucket le permite conservar solo los datos necesarios y evitar un crecimiento descontrolado del almacenamiento.

Para configurar la retención:

  1. Abra la interfaz web de InfluxDB.
  2. Vaya a "Data" y seleccione "Buckets".
  3. Haga clic en "Settings" junto al bucket correspondiente.
  4. En "Delete data older than", elija el periodo de retención deseado.

Los datos anteriores al periodo de retención seleccionado se eliminarán de forma permanente.

InfluxDB almacena los datos en shards. Los shards que solo contienen datos expirados se eliminan automáticamente. Si un shard incluye tanto datos expirados como actuales, permanece hasta que todos sus datos hayan expirado. Por defecto, los shards cubren 7 días de datos. Cuando establece una nueva política de retención, pueden quedar hasta casi 7 días de datos obsoletos hasta el siguiente ciclo de shard. Para más detalles, consulte la documentación de InfluxDB sobre shards.

Puede encontrar ejemplos prácticos para enviar datos desde Node.js a InfluxDB en este repositorio InfluxDB Getting Started.