目录
输入和输出集成概述
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
-
智能家居监控:使用 MQTT Consumer 插件监控智能家居设置中的各种传感器。在这种情况下,可以将插件配置为订阅不同设备的主题,例如温度、湿度和能耗。通过聚合这些数据,房主可以可视化趋势并接收异常模式的警报,从而提高家庭自动化系统的整体质量和效率。
-
物联网环境传感:部署 MQTT Consumer 以收集来自分布在不同位置的传感器的环境数据。例如,这可以包括来自空气质量传感器、温度传感器和噪声水平计的读数。可以将插件配置为从 MQTT 主题中提取相关标签和字段,从而可以对大规模环境条件进行详细分析和报告,从而为城市规划或环境倡议提供更好的决策支持。
-
实时车辆跟踪和遥测:将 MQTT Consumer 插件集成到车辆遥测系统中,该系统实时收集来自各种传感器的数据。借助该插件,可以将与车辆性能、位置和燃油消耗相关的指标发送到集中式监控仪表板。这种实时遥测数据使车队经理能够通过主动数据分析来优化路线、降低燃油成本并改进车辆维护计划。
-
农业监控系统:利用此插件收集来自农业传感器的数据,这些传感器监控土壤湿度、作物健康状况和天气条件。MQTT Consumer 可以订阅与农业设备和环境传感器相关的多个主题,使农民能够做出数据驱动的决策,以提高作物产量,同时节约资源,从而提高农业的可持续性。
Thanos
-
无代理云监控:在云虚拟机中部署 Telegraf 代理以收集系统和应用程序指标,然后使用远程写入将它们直接流式传输到 Thanos 中。这提供了集中式可观测性,而无需在每个位置都部署 Prometheus 节点。
-
可扩展的 Windows 主机监控:在 Windows 机器上使用 Telegraf 收集操作系统级别指标,并通过远程写入将它们发送到 Thanos 接收器。这实现了在异构环境中的可观测性,而本机 Prometheus 仅在 Linux 上受支持。
-
跨区域指标联邦:多个地理区域中的 Telegraf 代理可以使用此插件将数据推送到区域本地 Thanos 接收器。Thanos 可以从那里对指标进行重复数据删除和全局查询,从而减少延迟和网络出口成本。
-
将第三方数据集成到 Thanos 中:使用 Telegraf 输入从自定义遥测源(例如 REST API 或专有日志)收集指标,并通过远程写入将它们转发到 Thanos。这会将非本机数据引入 Prometheus 兼容的长期分析管道中。
反馈
感谢您成为我们社区的一份子!如果您有任何一般反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。请在 InfluxDB 社区 Slack 中提交您的反馈。