Consul 和 Cortex 集成

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

info

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

50 亿+

Telegraf 下载量

#1

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

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

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

收集、组织和处理海量高速数据。当您将任何数据视为时间序列数据时,它都会变得更有价值。使用 InfluxDB,由 Telegraf 构建的排名第一的时间序列平台可随之扩展。

查看入门方法

输入和输出集成概述

Consul Input Plugin 从 Consul 服务器收集健康检查指标,使用户能够有效地监控服务状态。

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

集成详情

Consul

Consul Input Plugin 旨在收集从 Consul(一种用于服务发现和基础设施管理的工具)注册的所有服务的健康检查状态。通过查询 Consul API,此插件可帮助用户监控其服务的健康状况,并确保它们正常运行并满足服务级别协议。它不提供遥测数据,但如果用户想要收集这些指标,可以使用 StatsD。该插件提供配置选项来连接到 Consul 服务器、管理身份验证以及指定如何处理从健康检查派生的标签。

Cortex

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

配置

Consul

[[inputs.consul]]
  ## Consul server address
  # address = "localhost:8500"

  ## URI scheme for the Consul server, one of "http", "https"
  # scheme = "http"

  ## Metric version controls the mapping from Consul metrics into
  ## Telegraf metrics. Version 2 moved all fields with string values
  ## to tags.
  ##
  ##   example: metric_version = 1; deprecated in 1.16
  ##            metric_version = 2; recommended version
  # metric_version = 1

  ## ACL token used in every request
  # token = ""

  ## HTTP Basic Authentication username and password.
  # username = ""
  # password = ""

  ## Data center to query the health checks from
  # datacenter = ""

  ## Optional TLS Config
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = true

  ## Consul checks' tag splitting
  # When tags are formatted like "key:value" with ":" as a delimiter then
  # they will be split and reported as proper key:value in Telegraf
  # tag_delimiter = ":"

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"

输入和输出集成示例

Consul

  1. 服务健康监控仪表板:利用 Consul Input Plugin 为 Consul 注册的所有服务创建全面的健康监控仪表板。这使运营团队可以实时可视化健康状态,从而快速识别服务问题并促进对服务中断或性能下降的快速响应。

  2. 自动化警报系统:实施自动化警报系统,该系统使用 Consul Input Plugin 收集的健康检查数据,在服务状态更改为严重时触发通知。此设置可以与 Slack 或电子邮件等通知系统集成,确保团队成员立即收到警报以解决潜在问题。

  3. 与事件管理集成:利用 Consul Input Plugin 中的健康检查数据来馈送到事件管理系统。通过分析健康状态趋势,团队可以根据受影响服务的关键性来确定事件的优先级,并简化其解决流程,从而提高整体服务可靠性和客户满意度。

Cortex

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

  2. 将 Prometheus 覆盖范围扩展到边缘设备:在边缘或 IoT 设备上部署 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 的检查点功能,以实现可靠的消息处理。

查看集成