目录
输入和输出集成概述
NSQ Telegraf 插件从 NSQD 消息传递系统读取指标,从而实现实时数据处理和监控。
此插件使 Telegraf 能够将指标实时直接流式传输到 Grafana 仪表板,利用 Grafana Live 实现即时数据可视化和运营洞察。
集成详情
NSQ
NSQ 插件与实时消息传递平台 NSQ 接口,能够从 NSQD 读取消息。此插件被归类为服务插件,这意味着它主动侦听指标和事件,而不是定期轮询它们。为了强调可靠性,它通过跟踪未传递的消息直到输出确认来防止数据丢失。该插件允许配置,例如指定 NSQLookupd 端点、主题和通道,并且它支持多种数据格式,以实现数据处理的灵活性。
Grafana
Telegraf 可以与 Websocket 输出插件一起使用,以将实时数据发送到 Grafana。 Telegraf 收集的指标会立即推送到 Grafana 仪表板,从而实现实时可视化和分析。此插件非常适用于需要低延迟、实时数据可视化的用例,例如运营监控、实时分析和即时事件响应场景。它支持身份验证标头、可自定义的数据序列化格式(如 JSON)以及通过 TLS 的安全通信,在动态、交互式仪表板环境中提供灵活性和易于集成。
配置
NSQ
# Read metrics from NSQD topic(s)
[[inputs.nsq_consumer]]
## Server option still works but is deprecated, we just prepend it to the nsqd array.
# server = "localhost:4150"
## An array representing the NSQD TCP HTTP Endpoints
nsqd = ["localhost:4150"]
## An array representing the NSQLookupd HTTP Endpoints
nsqlookupd = ["localhost:4161"]
topic = "telegraf"
channel = "consumer"
max_in_flight = 100
## Max undelivered messages
## This plugin uses tracking metrics, which ensure messages are read to
## outputs before acknowledging them to the original broker to ensure data
## is not lost. This option sets the maximum messages to read from the
## broker that have not been written by an output.
##
## This value needs to be picked with awareness of the agent's
## metric_batch_size value as well. Setting max undelivered messages too high
## can result in a constant stream of data batches to the output. While
## setting it too low may never flush the broker's messages.
# max_undelivered_messages = 1000
## Data format to consume.
## Each data format has its own unique set of configuration options, read
## more about them here:
## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
data_format = "influx"
Grafana
[[outputs.websocket]]
## Grafana Live WebSocket endpoint
url = "ws://localhost:3000/api/live/push/custom_id"
## Optional headers for authentication
# [outputs.websocket.headers]
# Authorization = "Bearer YOUR_GRAFANA_API_TOKEN"
## Data format to send metrics
data_format = "influx"
## Timeouts (make sure read_timeout is larger than server ping interval or set to zero).
# connect_timeout = "30s"
# write_timeout = "30s"
# read_timeout = "30s"
## Optionally turn on using text data frames (binary by default).
# use_text_frames = false
## TLS configuration
# tls_ca = "/path/to/ca.pem"
# tls_cert = "/path/to/cert.pem"
# tls_key = "/path/to/key.pem"
# insecure_skip_verify = false
输入和输出集成示例
NSQ
-
实时分析仪表板:将此插件与可视化工具集成,以创建一个仪表板,显示来自 NSQ 中各种主题的实时指标。通过订阅特定主题,用户可以动态监控系统健康状况和应用程序性能,从而实现即时洞察并及时响应任何异常。
-
事件驱动的自动化:将 NSQ 与无服务器架构结合使用,以根据传入的消息触发自动化工作流程。此用例可能涉及处理机器学习模型的数据或响应应用程序中的用户操作,从而通过快速处理来简化运营并增强用户体验。
-
多服务通信中心:在分布式架构中,使用 NSQ 插件充当不同微服务之间的集中消息传递中心。通过使服务能够通过 NSQ 进行通信,开发人员可以确保可靠的消息传递,同时保持解耦的服务交互,从而显着提高可扩展性和弹性。
-
指标聚合以增强监控:实施 NSQ 插件以聚合来自多个来源的指标,然后再将其发送到分析工具。此设置使企业能够整合来自各种应用程序和服务的数据,从而创建一个统一的视图,以便更好地进行决策和战略规划。
Grafana
-
实时基础设施仪表板:部署 Telegraf 以将服务器运行状况指标直接流式传输到 Grafana 仪表板,使 IT 团队能够实时可视化基础设施性能。此设置允许立即检测和响应关键系统事件。
-
交互式 IoT 监控:集成 Telegraf 收集的 IoT 设备指标并将实时数据推送到 Grafana,从而创建动态和交互式仪表板,用于监控智慧城市项目或制造过程。这种实时可见性显着提高了响应能力和运营效率。
-
即时应用程序性能分析:将来自生产环境的应用程序指标实时流式传输到 Grafana 仪表板,使开发团队能够在部署期间快速检测和诊断性能瓶颈或异常,从而最大限度地减少停机时间并提高可靠性。
-
实时事件分析:在大型现场活动期间,利用 Telegraf 捕获和流式传输实时受众或系统指标,直接传输到 Grafana 仪表板。活动组织者可以动态监控并对不断变化的条件或趋势做出反应,从而显着提高受众参与度和运营决策能力。
反馈
感谢您成为我们社区的一份子!如果您有任何一般性反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。请在 InfluxDB 社区 Slack 中提交您的反馈。