Integración de InfluxDB (via TTS)
InfluxDB es una base de datos de series temporales de código abierto, enfocada en lectura de alto rendimiento, escritura eficiente, almacenamiento optimizado y análisis en tiempo real de grandes volúmenes de datos temporales. Además de protocolos nativos como HTTP y UDP, es compatible con protocolos de comunicación de componentes como CollectD, Graphite, OpenTSDB y Prometheus. Se usa ampliamente en monitoreo DevOps, monitoreo IoT, análisis en tiempo real y otros escenarios.
El contenido de este capítulo guiará a los usuarios sobre cómo conectar el SenseCAP T1000 Tracker a InfluxDB a través de TTN.
Antes de comenzar la configuración, revisa Conectar SenseCAP T1000 a TTS para conectar primero tu SenseCAP T1000 Tracker a TTS.
Preparación
Antes de configurar InfluxDB, necesitamos instalar el agente Telegraf (versión 1.9.2 o superior).
Configurar InfluxDB Cloud
Inicia sesión en tu InfluxDB Cloud.
Crear Bucket
En la pestaña Buckets.
Haz clic en el botón Create Bucket para crear un nuevo bucket.
Asigna un nombre al bucket, elige el tiempo que los datos permanecerán en la base y luego haz clic en Create.
Generar Tokens
Navega a la pestaña API TOKENS y haz clic en el botón GENERATE API TOKEN para crear un token.
Configurar Telegraf
Integración MQTT
Esta sección muestra cómo configurar tu agente Telegraf con el plugin MQTT Consumer para conectarse al servidor MQTT de TTS.
Navega a la pestaña TELEGRAF y haz clic en CREATE CONFIGURATION
Selecciona el bucket que creaste antes y elige system.
Asigna un nombre a la configuración, selecciona Create and Verify y luego Finalizar.
Una vez que descargues el archivo de configuración de Telegraf como se describe en la configuración de InfluxDB Cloud 2.0, actualízalo agregando las siguientes líneas y modificándolas según la información de tu servidor MQTT:
[[inputs.mqtt_consumer]]
#
# URLs del broker MQTT a utilizar. El formato es esquema://host:puerto, esquema puede ser tcp, ssl o ws.
servers = ["tcp://localhost:1883"]
#
# Temas a suscribirse
topics = ["#"]
#
# Usuario y contraseña
username = "example"
password = "NNSXS.JNSBLIV34VXYXS7D4ZWV2IKPTGJM3DFRGO.........."
#
# Necesario solo si el tipo de payload es string, ya que Telegraf no reenvía datos de este tipo por defecto
json_string_fields = ["uplink_message_frm_payload"]
#
# Definir el formato del mensaje
data_format = "json"
Luego, necesitas copiar el token generado previamente desde la pestaña Tokens y exportarlo como variable de entorno para que lo use el plugin de salida de InfluxDB, o bien puedes pasarlo directamente como valor de token en el archivo de configuración. Puedes establecer la variable de entorno usando el siguiente comando en tu terminal:
INFLUX_TOKEN="pega aquí tu token"
Ejecuta el agente Telegraf en tu terminal con el siguiente comando:
telegraf --config /ruta/a/tu/telegraf.conf
Integración HTTP
Esta sección muestra cómo configurar el agente Telegraf con el plugin HTTP Listener v2 y cómo crear una integración Webhook correspondiente en The Things Stack.
Actualiza la configuración de Telegraf que descargaste anteriormente, como se describe en la configuración de InfluxDB Cloud 2.0, añadiendo las siguientes líneas y modificándolas según tu configuración:
[[inputs.http_listener_v2]]
#
# Dirección y puerto donde hospedar el listener HTTP
service_address = ":8080"
#
# Ruta a la que escuchar
path = "/telegraf"
#
# Métodos HTTP aceptados
methods = ["POST"]
#
# Necesario solo si el tipo de payload es string, ya que Telegraf no reenvía datos de este tipo por defecto
json_string_fields = ["uplink_message_frm_payload"]
#
# Definir el formato del mensaje
data_format = "json"
Copia el token generado desde la pestaña Tokens y úsalo como valor del token para el plugin de salida en tu archivo de configuración Telegraf, o expórtalo como variable de entorno con el siguiente comando en tu terminal:
INFLUX_TOKEN="pega aquí tu token"
Inicia el agente Telegraf ejecutando el siguiente comando en la terminal:
telegraf --config /ruta/a/tu/telegraf.conf
Explorador de Datos
Selecciona tu tipo de explorador, elige _measurement en el menú desplegable del filtro y marca la casilla mqtt_consumer. Luego puedes elegir el tema y parámetro que deseas monitorear.
Datos de ubicación
FROM: Tu bucket
MEASUREMENT: mqtt_consumer
_field: uplink_message_decoded_payload
topic: v3/...
También puedes hacer clic en SAVE AS en la esquina superior derecha para guardar este explorador como una celda del Dashboard.
Dashboards (Opcional)
Un dashboard es donde visualizas e interactúas con los datos en tiempo real. Puedes personalizar el dashboard según tus necesidades.
Navigate to Dashboard tab and click Create Dashbaord.