Apache Zookeeper 和 Prometheus 集成

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

info

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

50 亿+

Telegraf 下载量

#1

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

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

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

收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都更有价值。 借助 InfluxDB,这是专为与 Telegraf 扩展而构建的排名第一的时间序列平台。

查看入门方法

输入和输出集成概述

Zookeeper Telegraf 插件从 Zookeeper 服务器收集和报告指标,从而促进监控和性能分析。 它利用“mntr”命令输出收集对于维护 Zookeeper 运行状况至关重要的基本统计信息。

Prometheus 输出插件使 Telegraf 能够在 HTTP 端点公开指标,以供 Prometheus 服务器抓取。 此集成允许用户以 Prometheus 可以有效处理的格式从各种来源收集和聚合指标。

集成详情

Apache Zookeeper

Telegraf 的 Zookeeper 插件旨在通过执行“mntr”命令从 Zookeeper 服务器收集重要统计信息。 此插件充当监控工具,捕获与 Zookeeper 性能相关的重要指标,包括连接详情、延迟和各种操作统计信息,从而有助于评估 Zookeeper 部署的运行状况和效率。 与 Prometheus 输入插件(建议在启用 Prometheus 指标提供程序时使用)相比,Zookeeper 插件访问来自“mntr”命令的原始输出,使其专为不采用 Prometheus 进行指标报告的配置量身定制。 这种独特的方法使管理员能够直接从 Zookeeper 收集 Java Properties 格式的指标,确保全面了解 Zookeeper 的运行状态,并能够及时响应性能异常。 它在 Zookeeper 作为集中式服务运行的环境中尤其出色,用于维护分布式系统的配置信息和名称,从而提供对于故障排除和容量规划至关重要的不可估量的见解。

Prometheus

此插件有助于与 Prometheus 集成,Prometheus 是一个著名的开源监控和警报工具包,专为大规模环境中的可靠性和效率而设计。 通过充当 Prometheus 客户端,它允许用户通过 HTTP 服务器公开一组定义的指标,Prometheus 可以按指定的时间间隔抓取这些指标。 此插件通过允许各种系统以标准化格式发布性能指标,从而在监控各种系统中发挥着至关重要的作用,从而可以广泛了解系统运行状况和行为。 主要功能包括支持配置各种端点、启用 TLS 以实现安全通信以及 HTTP 基本身份验证选项。 该插件还与全局 Telegraf 配置设置无缝集成,支持广泛的自定义以满足特定的监控需求。 这促进了不同系统必须有效通信性能数据的环境中的互操作性。 利用 Prometheus 的指标格式,它允许通过指标过期和收集器控制等高级配置进行灵活的指标管理,为监控和警报工作流程提供了一种复杂的解决方案。

配置

Apache Zookeeper

[[inputs.zookeeper]]
  ## An array of address to gather stats about. Specify an ip or hostname
  ## with port. ie localhost:2181, 10.0.0.1:2181, etc.

  ## If no servers are specified, then localhost is used as the host.
  ## If no port is specified, 2181 is used
  servers = [":2181"]

  ## Timeout for metric collections from all servers. Minimum timeout is "1s".
  # timeout = "5s"

  ## Float Parsing - the initial implementation forced any value unable to be
  ## parsed as an int to be a string. Setting this to "float" will attempt to
  ## parse float values as floats and not strings. This would break existing
  ## metrics and may cause issues if a value switches between a float and int.
  # parse_floats = "string"

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

Prometheus

[[outputs.prometheus_client]]
  ## Address to listen on.
  ##   ex:
  ##     listen = ":9273"
  ##     listen = "vsock://:9273"
  listen = ":9273"

  ## Maximum duration before timing out read of the request
  # read_timeout = "10s"
  ## Maximum duration before timing out write of the response
  # write_timeout = "10s"

  ## Metric version controls the mapping from Prometheus metrics into Telegraf metrics.
  ## See "Metric Format Configuration" in plugins/inputs/prometheus/README.md for details.
  ## Valid options: 1, 2
  # metric_version = 1

  ## Use HTTP Basic Authentication.
  # basic_username = "Foo"
  # basic_password = "Bar"

  ## If set, the IP Ranges which are allowed to access metrics.
  ##   ex: ip_range = ["192.168.0.0/24", "192.168.1.0/30"]
  # ip_range = []

  ## Path to publish the metrics on.
  # path = "/metrics"

  ## Expiration interval for each metric. 0 == no expiration
  # expiration_interval = "60s"

  ## Collectors to enable, valid entries are "gocollector" and "process".
  ## If unset, both are enabled.
  # collectors_exclude = ["gocollector", "process"]

  ## Send string metrics as Prometheus labels.
  ## Unless set to false all string metrics will be sent as labels.
  # string_as_label = true

  ## If set, enable TLS with the given certificate.
  # tls_cert = "/etc/ssl/telegraf.crt"
  # tls_key = "/etc/ssl/telegraf.key"

  ## Set one or more allowed client CA certificate file names to
  ## enable mutually authenticated TLS connections
  # tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]

  ## Export metric collection time.
  # export_timestamp = false

  ## Specify the metric type explicitly.
  ## This overrides the metric-type of the Telegraf metric. Globbing is allowed.
  # [outputs.prometheus_client.metric_types]
  #   counter = []
  #   gauge = []

输入和输出集成示例

Apache Zookeeper

  1. 集群运行状况监控:集成 Zookeeper 插件以监控依赖 Zookeeper 进行配置管理和服务发现的分布式应用程序的运行状况和性能。 通过跟踪会话计数、延迟和数据大小等指标,DevOps 团队可以在潜在问题升级之前识别出来,从而确保跨应用程序的高可用性和可靠性。

  2. 性能基准测试:在不同的工作负载场景中利用该插件来测试 Zookeeper 性能。 这不仅有助于了解 Zookeeper 在负载下的行为,还有助于调整配置以优化吞吐量并减少高峰操作期间的延迟。

  3. 异常警报:将此插件与警报工具结合使用,以创建一个主动监控系统,如果特定的 Zookeeper 指标超过阈值限制(例如打开的文件描述符计数或高延迟值),则通知工程师。 这使团队能够及时响应可能影响服务可靠性的问题。

  4. 历史数据分析:将 Zookeeper 插件收集的指标存储在时间序列数据库中,以分析历史性能趋势。 这使团队能够评估随时间推移变化的影响,评估扩展操作的有效性,并为未来的容量需求做好计划。

Prometheus

  1. 监控多云部署:利用 Prometheus 插件从跨多个云提供商运行的应用程序收集指标。 这种情况允许团队通过单个 Prometheus 实例集中监控,该实例从不同环境抓取指标,从而提供跨混合基础设施的统一性能指标视图。 它简化了报告和警报,提高了运营效率,而无需复杂的集成。

  2. 增强微服务可见性:实施该插件以公开 Kubernetes 集群中各种微服务的指标。 通过使用 Prometheus,团队可以实时可视化服务指标、识别瓶颈并维护系统运行状况检查。 此设置支持基于从收集的指标生成的见解进行自适应扩展和资源利用率优化。 它增强了对服务交互进行故障排除的能力,从而显着提高了微服务架构的弹性。

  3. 电子商务中的实时异常检测:通过将此插件与 Prometheus 一起使用,电子商务平台可以监控关键绩效指标,例如响应时间和错误率。 将异常检测算法与抓取的指标集成,可以识别指示潜在问题的意外模式,例如突然的流量峰值或后端服务故障。 这种主动监控增强了业务连续性和运营效率,最大限度地减少了潜在的停机时间,同时确保了服务可靠性。

  4. API 的性能指标报告:利用 Prometheus 输出插件收集和报告 API 性能指标,然后可以在 Grafana 仪表板中可视化这些指标。 此用例支持对 API 响应时间、吞吐量和错误率进行详细分析,从而促进 API 服务的持续改进。 通过密切监控这些指标,团队可以快速对性能下降做出反应,确保最佳 API 性能并保持高水平的服务可用性。

反馈

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

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

收集、组织和处理海量高速数据。 当您将任何数据视为时间序列数据时,它都更有价值。 借助 InfluxDB,这是专为与 Telegraf 扩展而构建的排名第一的时间序列平台。

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成