NSQ 和 Cortex 集成

通过易于集成的强大性能,由 InfluxData 构建的开源数据连接器 Telegraf 提供支持。

info

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

50 亿+

Telegraf 下载量

#1

时间序列数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

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

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

查看入门方法

输入和输出集成概述

NSQ Telegraf 插件从 NSQD 消息传递系统读取指标,从而实现实时数据处理和监控。

此插件使 Telegraf 能够使用 Prometheus remote write 协议将指标发送到 Cortex,从而无缝地摄取到 Cortex 的可扩展、多租户时间序列存储中。

集成详情

NSQ

NSQ 插件与实时消息传递平台 NSQ 接口,从而能够从 NSQD 读取消息。此插件被归类为服务插件,这意味着它主动侦听指标和事件,而不是定期轮询它们。为了强调可靠性,它会跟踪未送达的消息,直到它们被输出确认。该插件允许进行配置,例如指定 NSQLookupd 端点、主题和通道,并且它支持多种数据格式,以实现数据处理的灵活性。

Cortex

通过 Telegraf 的 HTTP 输出插件和 prometheusremotewrite 数据格式,您可以将指标直接发送到 Cortex,Cortex 是 Prometheus 的水平可扩展长期存储后端。Cortex 支持多租户,并使用 Prometheus protobuf 格式接受远程写入请求。通过使用 Telegraf 作为收集代理,并使用 Remote Write 作为传输机制,组织可以将可观测性扩展到 Prometheus 本身不支持的来源(例如 Windows 主机、支持 SNMP 的设备或自定义应用程序指标),同时利用 Cortex 的高可用性和长期保留能力。

配置

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"

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"

输入和输出集成示例

NSQ

  1. 实时分析仪表板:将此插件与可视化工具集成,以创建仪表板,显示来自 NSQ 中各种主题的实时指标。通过订阅特定主题,用户可以动态监控系统运行状况和应用程序性能,从而可以立即获得洞察力并及时响应任何异常。

  2. 事件驱动的自动化:将 NSQ 与无服务器架构结合使用,以根据传入的消息触发自动化工作流程。此用例可能涉及处理机器学习模型的数据或响应应用程序中的用户操作,从而简化操作并通过快速处理增强用户体验。

  3. 多服务通信中心:在分布式架构中使用 NSQ 插件充当不同微服务之间的集中式消息传递中心。通过使服务能够通过 NSQ 进行通信,开发人员可以确保可靠的消息传递,同时保持服务交互的解耦,从而显着提高可扩展性和弹性。

  4. 用于增强监控的指标聚合:实施 NSQ 插件以聚合来自多个来源的指标,然后再将其发送到分析工具。这种设置使企业能够整合来自各种应用程序和服务的数据,从而创建统一的视图,以实现更好的决策和战略规划。

Cortex

  1. 统一的多租户监控:使用 Telegraf 从不同的团队或环境收集指标,并将它们推送到带有单独 X-Scope-OrgID 标头的 Cortex。这实现了每个租户隔离的数据摄取和查询,非常适合托管服务和平台团队。

  2. 将 Prometheus 覆盖范围扩展到边缘设备:在边缘或物联网设备上部署 Telegraf 以收集系统指标,并将它们发送到集中式 Cortex 集群。即使对于没有本地 Prometheus 抓取器的环境,这种方法也能确保一致的可观测性。

  3. 具有联邦租户的全球服务可观测性:通过配置 Telegraf 代理将数据推送到区域 Cortex 集群(每个集群都标有租户标识符)来聚合来自全球基础设施的指标。Cortex 处理跨区域的重复数据删除和集中式访问。

  4. 自定义应用程序遥测管道:通过 Telegraf 的 exechttp 输入插件收集特定于应用程序的遥测数据,并将其转发到 Cortex。这使 DevOps 团队能够以可扩展、查询高效的格式监控特定于应用程序的 KPI,同时保持按租户或服务逻辑分组的指标。

反馈

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

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

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

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成