目录
输入和输出集成概述
MQTT Telegraf 插件旨在从指定的 MQTT 主题读取数据并创建指标,使用户能够利用 MQTT 进行实时数据收集和监控。
此插件使 Telegraf 能够使用 Prometheus 远程写入协议将指标发送到 Cortex,从而实现无缝摄取到 Cortex 的可扩展、多租户时序存储中。
集成详情
MQTT
MQTT 插件允许从指定的 MQTT 主题读取指标,并使用支持的输入数据格式创建指标。此插件作为服务输入运行,它监听传入的指标或事件,而不是像普通插件那样按设定的时间间隔收集它们。插件的灵活性通过支持各种代理 URL、主题和连接功能(包括服务质量 (QoS) 级别和持久会话)得到增强。其配置选项包含用于修改指标和有效处理启动错误的全局设置。它还支持用于保护用户名和密码选项的密钥存储配置,从而确保与 MQTT 服务器的安全连接。
Cortex
借助 Telegraf 的 HTTP 输出插件和 prometheusremotewrite
数据格式,您可以将指标直接发送到 Cortex,Cortex 是 Prometheus 的水平可扩展长期存储后端。Cortex 支持多租户,并使用 Prometheus protobuf 格式接受远程写入请求。通过使用 Telegraf 作为收集代理,Remote Write 作为传输机制,组织可以将可观测性扩展到 Prometheus 本身不支持的来源(例如 Windows 主机、支持 SNMP 的设备或自定义应用程序指标),同时利用 Cortex 的高可用性和长期保留能力。
配置
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
Cortex
[[outputs.http]]
## Cortex Remote Write endpoint
url = "http://cortex.example.com/api/v1/push"
## Use POST to send data
method = "POST"
## Send metrics using Prometheus remote write format
data_format = "prometheusremotewrite"
## Optional HTTP headers for authentication
# [outputs.http.headers]
# X-Scope-OrgID = "your-tenant-id"
# Authorization = "Bearer YOUR_API_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 可以订阅与农业设备和环境传感器相关的多个主题,使农民能够做出数据驱动的决策,以提高作物产量,同时节约资源,增强农业可持续性。
Cortex
-
统一的多租户监控:使用 Telegraf 从不同的团队或环境收集指标,并使用单独的
X-Scope-OrgID
标头将它们推送到 Cortex。这实现了每个租户的隔离数据摄取和查询,非常适合托管服务和平台团队。 -
将 Prometheus 覆盖范围扩展到边缘设备:在边缘或物联网设备上部署 Telegraf 以收集系统指标,并将它们发送到中央 Cortex 集群。即使对于没有本地 Prometheus 抓取器的环境,这种方法也能确保一致的可观测性。
-
具有联邦租户的全球服务可观测性:通过配置 Telegraf 代理将数据推送到区域 Cortex 集群(每个集群都标有租户标识符)来聚合来自全球基础设施的指标。Cortex 处理跨区域的重复数据删除和集中访问。
-
自定义应用程序遥测管道:通过 Telegraf 的
exec
或http
输入插件收集特定于应用程序的遥测数据,并将其转发到 Cortex。这使 DevOps 团队能够以可扩展、查询高效的格式监控特定于应用程序的 KPI,同时保持指标按租户或服务进行逻辑分组。
反馈
感谢您成为我们社区的一份子!如果您有任何一般性反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您的意见。请在 InfluxDB 社区 Slack 中提交您的反馈。