Skip to content

SDM MQTT Agent

This agent will scrape an MQTT broker.

Configuration

agoora-endpoint: local.spoud.io
agoora-insecure: false
agoora-cluster: default
agoora-transport-path: /default/mqtt

agoora:
  # The scrapper is not on 100% of the time. It start listening every {period} for a maximum of {max-samples} messages and {max-wait}
  scrapper:
    max-samples: 100
    period: 1H
    max-wait: 30M
    profiling:
      enabled: true
    hooks:
      enabled: true
    wait-time-before-counting-retained: PT15S
  mqtt:
    broker: tcp://192.168.1.11:1883
    username:
    password:
    client-id: mqtt-agent
    paths: zigbee2mqtt_bas/bridge/,zigbee2mqtt_bas/bridge/
  transport:
    agoora-path: ${agoora-transport-path}
  auth:
    server-url: https://${agoora-endpoint}/auth/
    cluster: ${agoora-cluster}
    realm: spoud
    user:
      name: to-be-defined
      token: to-be-defined
  logistics:
    endpoint: ${agoora-endpoint}
    cluster: ${agoora-cluster}
    insecure: ${agoora-insecure}
  hooks:
    endpoint: ${agoora-endpoint}
    cluster: ${agoora-cluster}
    insecure: ${agoora-insecure}
  schema:
    endpoint: ${agoora-endpoint}
    cluster: ${agoora-cluster}
    insecure: ${agoora-insecure}
  looker:
    endpoint: ${agoora-endpoint}
    cluster: ${agoora-cluster}
    insecure: ${agoora-insecure}
  blob:
    endpoint: ${agoora-endpoint}
    cluster: ${agoora-cluster}
    insecure: ${agoora-insecure}
  profiler:
    endpoint: localhost:8089
    insecure: true

quarkus:
  arc:
    # Needed for the grpc interceptors
    remove-unused-beans: fwk
  http:
    port: 8280
  log:
    category:
      "io.spoud.agoora":
        level: INFO
  ssl:
    native: true
  native:
    additional-build-args:
      - --allow-incomplete-classpath
      - --report-unsupported-elements-at-runtime
      - -H:IncludeResourceBundles=org.eclipse.paho.client.mqttv3.internal.nls.logcat,org.eclipse.paho.client.mqttv3.internal.nls.messages

"%dev":
  agoora-endpoint: local.spoud.io
  agoora-insecure: true
  agoora-cluster: default
  agoora-transport-path: /default/mqtt/mqtt
  agoora:
    scrapper:
      max-samples: 10
      period: 10M
      max-wait: 5M
    auth:
      server-url: http://${agoora-endpoint}/auth/
      user:
        name: agoora_t_672923a1-9fd9-4743-92fd-3935fc56d986
        token: cmBcp9aOfUtKdH05bSK03kEwFFO89LO6


  quarkus:
    log:
      category:
        "io.spoud.agoora":
          level: DEBUG

Minimal configuration

SDM_ENDPOINT=app.agoora.com
SDM_AUTH_USER_NAME={AGENT_USERNAME}
SDM_AUTH_USER_PASSWORD={AGENT_SECRET}
SDM_PROFILER_ENDPOINT=localhost:8089
SDM_TRANSPORT_PATH=/your/path/
SDM_MQTT_BROKER=tcp://1.2.3.4:1883
SDM_MQTT_USERNAME=username
SDM_MQTT_PASSWORD=******
SDM_MQTT_PATHS=/base-path1/,/my-base-2/

Enable/disable profiling

If you don't want the agent to look into your data you can disable the profiling by using:

SDM_SCRAPPER_PROFILING_ENABLED=false
This way you can avoid that some sample data end up in the UI.