MQTT 和 Thanos 集成

通过 Telegraf(由 InfluxData 构建的开源数据连接器)提供支持,实现强大的性能和简单的集成。

info

对于大规模实时查询,这不是推荐的配置。为了获得查询和压缩优化、高速摄取和高可用性,您可能需要考虑MQTT 和 InfluxDB

50 亿+

Telegraf 下载量

#1

时序数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大的性能,无限的扩展能力

收集、组织和处理海量高速数据。当您将任何数据视为时序数据时,它都更有价值。借助 InfluxDB,排名第一的、旨在与 Telegraf 一起扩展的时序平台。

查看入门方法

输入和输出集成概述

MQTT Telegraf 插件旨在从指定的 MQTT 主题读取数据并创建指标,使用户能够利用 MQTT 进行实时数据收集和监控。

此插件使用 Prometheus 远程写入协议通过 HTTP 将来自 Telegraf 的指标发送到 Thanos,从而实现高效且可扩展地摄取到 Thanos 接收组件中。

集成详情

MQTT

MQTT 插件允许从指定的 MQTT 主题读取指标,并使用支持的输入数据格式创建指标。此插件作为服务输入运行,它侦听传入的指标或事件,而不是像普通插件那样按设定的时间间隔收集它们。该插件的灵活性通过支持各种 Broker URL、主题和连接功能(包括服务质量 (QoS) 级别和持久会话)得到增强。其配置选项包含用于修改指标和有效处理启动错误的全局设置。它还支持用于保护用户名和密码选项的密钥存储配置,确保与 MQTT 服务器的安全连接。

Thanos

Telegraf 的 HTTP 插件可以通过其远程写入兼容的接收组件将指标直接发送到 Thanos。通过将数据格式设置为 prometheusremotewrite,Telegraf 可以将指标序列化为本机 Prometheus 客户端使用的相同的基于 protobuf 的格式。此设置实现了高吞吐量、低延迟的指标摄取到 Thanos 中,从而促进了大规模的集中式可观测性。它在混合环境中尤其有用,在这些环境中,Telegraf 从 Prometheus 本机范围之外的系统(例如 SNMP 设备、Windows 主机或自定义应用程序)收集指标,并将它们直接流式传输到 Thanos 以进行长期存储和全局查询。

配置

MQTT


[[inputs.mqtt_consumer]]
  servers = ["tcp://127.0.0.1:1883"]
  topics = [
    "telegraf/host01/cpu",
    "telegraf/+/mem",
    "sensors/#",
  ]
  # topic_tag = "topic"
  # qos = 0
  # connection_timeout = "30s"
  # keepalive = "60s"
  # ping_timeout = "10s"
  # max_undelivered_messages = 1000
  # persistent_session = false
  # client_id = ""
  # username = "telegraf"
  # password = "metricsmetricsmetricsmetrics"
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  # insecure_skip_verify = false
  # client_trace = false
  data_format = "influx"
  # [[inputs.mqtt_consumer.topic_parsing]]
  #   topic = ""
  #   measurement = ""
  #   tags = ""
  #   fields = ""
  #   [inputs.mqtt_consumer.topic_parsing.types]
  #      key = type

Thanos

[[outputs.http]]
  ## Thanos Receive endpoint for remote write
  url = "http://thanos-receive.example.com/api/v1/receive"

  ## HTTP method
  method = "POST"

  ## Data format set to Prometheus remote write
  data_format = "prometheusremotewrite"

  ## Optional headers (authorization, etc.)
  # [outputs.http.headers]
  #   Authorization = "Bearer YOUR_TOKEN"

  ## Optional TLS configuration
  # tls_ca = "/path/to/ca.pem"
  # tls_cert = "/path/to/cert.pem"
  # tls_key = "/path/to/key.pem"
  # insecure_skip_verify = false

  ## Request timeout
  timeout = "10s"

输入和输出集成示例

MQTT

  1. 智能家居监控:使用 MQTT Consumer 插件监控智能家居设置中的各种传感器。在这种情况下,可以将插件配置为订阅不同设备的主题,例如温度、湿度和能耗。通过聚合这些数据,房主可以可视化趋势并接收异常模式的警报,从而提高家庭自动化系统的整体质量和效率。

  2. 物联网环境传感:部署 MQTT Consumer 以收集来自分布在不同位置的传感器的环境数据。例如,这可以包括来自空气质量传感器、温度传感器和噪声水平计的读数。可以将插件配置为从 MQTT 主题中提取相关标签和字段,从而可以对大规模环境条件进行详细分析和报告,从而为城市规划或环境倡议提供更好的决策支持。

  3. 实时车辆跟踪和遥测:将 MQTT Consumer 插件集成到车辆遥测系统中,该系统实时收集来自各种传感器的数据。借助该插件,可以将与车辆性能、位置和燃油消耗相关的指标发送到集中式监控仪表板。这种实时遥测数据使车队经理能够通过主动数据分析来优化路线、降低燃油成本并改进车辆维护计划。

  4. 农业监控系统:利用此插件收集来自农业传感器的数据,这些传感器监控土壤湿度、作物健康状况和天气条件。MQTT Consumer 可以订阅与农业设备和环境传感器相关的多个主题,使农民能够做出数据驱动的决策,以提高作物产量,同时节约资源,从而提高农业的可持续性。

Thanos

  1. 无代理云监控:在云虚拟机中部署 Telegraf 代理以收集系统和应用程序指标,然后使用远程写入将它们直接流式传输到 Thanos 中。这提供了集中式可观测性,而无需在每个位置都部署 Prometheus 节点。

  2. 可扩展的 Windows 主机监控:在 Windows 机器上使用 Telegraf 收集操作系统级别指标,并通过远程写入将它们发送到 Thanos 接收器。这实现了在异构环境中的可观测性,而本机 Prometheus 仅在 Linux 上受支持。

  3. 跨区域指标联邦:多个地理区域中的 Telegraf 代理可以使用此插件将数据推送到区域本地 Thanos 接收器。Thanos 可以从那里对指标进行重复数据删除和全局查询,从而减少延迟和网络出口成本。

  4. 将第三方数据集成到 Thanos 中:使用 Telegraf 输入从自定义遥测源(例如 REST API 或专有日志)收集指标,并通过远程写入将它们转发到 Thanos。这会将非本机数据引入 Prometheus 兼容的长期分析管道中。

反馈

感谢您成为我们社区的一份子!如果您有任何一般反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。请在 InfluxDB 社区 Slack 中提交您的反馈。

强大的性能,无限的扩展能力

收集、组织和处理海量高速数据。当您将任何数据视为时序数据时,它都更有价值。借助 InfluxDB,排名第一的、旨在与 Telegraf 一起扩展的时序平台。

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

HTTP 插件从一个或多个 HTTP(S) 端点收集指标。它支持各种身份验证方法和数据格式的配置选项。

查看集成

Kafka 和 InfluxDB 集成

此插件从 Kafka 读取消息,并允许根据这些消息创建指标。它支持各种配置,包括不同的 Kafka 设置和消息处理选项。

查看集成

Kinesis 和 InfluxDB 集成

Kinesis 插件允许从 AWS Kinesis 流中读取指标。它支持多种输入数据格式,并提供使用 DynamoDB 进行检查点操作的功能,以实现可靠的消息处理。

查看集成