当前位置: 首页 > article >正文

Confluent Cloud Kafka 可观测性最佳实践

Confluent Cloud 介绍

Confluent Cloud 是一个完全托管的 Apache Kafka 服务,提供高可用性和可扩展性,旨在简化数据流处理和实时数据集成。用户可以轻松创建和管理 Kafka 集群,而无需担心基础设施的维护和管理。Confluent Cloud 支持多种数据源和目标,允许用户在云环境中实现数据流的无缝传输和处理。此外,它还提供强大的工具和功能,如 Schema Registry、Kafka Connect 和 KSQL,使开发者能够快速构建和部署流处理应用程序。通过 Confluent Cloud,企业可以更高效地利用实时数据,推动业务创新和数字化转型。

Confluent Cloud 旨在为开发者和企业提供一种简单、高效的方式来构建、部署和管理实时数据管道和流式应用程序。以下是 Confluent Cloud 的几个关键特点:

  • 完全托管:Confluent Cloud 负责处理 Kafka 集群的维护和管理工作,包括配置、扩展、更新和故障恢复,让用户可以专注于应用程序的开发。
  • 高可用性:提供高可靠性和容错能力,确保数据流和应用程序的稳定运行。
  • 可扩展性:根据需求自动或手动扩展资源,轻松应对流量高峰。
  • 安全性:提供加密、身份验证和授权机制,保护数据安全和隐私。
  • 性能优化:自动优化性能,包括负载均衡和分区管理,以提高数据处理效率。
  • 成本效益:按使用量付费,无需预先投资昂贵的硬件和维护成本。

可观测性对于 Confluent Cloud 尤为重要,它能够提供对数据流和系统性能的深入洞察,实时跟踪其性能指标,确保数据流的稳定性和可靠性,及时发现并解决潜在问题,优化资源分配,并保障业务连续性。通过监控,可以获得关键洞察,比如流量模式、延迟、错误率等,从而帮助维护服务质量,预防系统故障,并支持数据驱动的决策制定。

观测云

观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

部署 DataKit

DataKit 是一个开源的、跨平台的数据收集和监控工具,由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。

登录观测云控制台,在集成 -> DataKit 选择对应安装方式,当前采用 Linux 主机部署 DataKit 。

指标采集

Confluent Cloud 指标集成配置

1、登陆 Confluent Cloud ,在 ADMINISTRATION 下选择 Metrics 。

2、在 Metrics 页点击按钮 New integration ,选择监控类型 Prometheus 。

3、点击 Generate Cloud API key 按钮,生成 API Key 。

4、Resources 选择 All Kafka clusters,生成 Prometheus 的 scrape_configs 。

scrape_configs:
  - job_name: Confluent Cloud
    scrape_interval: 1m
    scrape_timeout: 1m
    honor_timestamps: true
    static_configs:
      - targets:
        - api.telemetry.confluent.cloud
    scheme: https
    basic_auth:
      username: H5BO.....
      password: RDCgMwguHMy.....
    metrics_path: /v2/metrics/cloud/export
    params:
      "resource.kafka.id":
        - lkc-xxxx

5、点击页面 Copy 按钮进行内容复制。

DataKit 采集器配置

由于 Confluent Cloud 能够直接暴露 metrics url ,所以可以直接通过 prom 采集器进行采集。

进入 DataKit 安装目录下的 conf.d/prom ,复制 prom.conf.sample 为 confluent_cloud.conf 。

cp prom.conf.sample confluent_cloud.conf

调整 confluent_cloud.conf 内容如下:

# {"version": "1.61.0-testing_testing-graphite-metric-set", "desc": "do NOT edit this line"}

[[inputs.prom]]
  ## Exporter URLs.
  urls = ["https://api.telemetry.confluent.cloud/v2/metrics/cloud/export?resource.kafka.id=lkc-xxxx"]
  
  source = "confluent_cloud"

  ## Add HTTP headers to data pulling (Example basic authentication).
  [inputs.prom.http_headers]
     Authorization = "Basic QkXXXXXXXXXXXX"

  interval = "60s"

调整参数说明 :

  • urls: 将 Confluent Cloud 复制的内容调整下,拼接成 url ,如果有多个 kafka 资源,则用逗号分割。
  • Authorization: 将用户名和密码转化成 Basic Authorization 格式,可以使用转化工具 在线生成Basic Auth、http基础认证密码生成、 basic access authentication在线生成、Basic Auth密码在线解密--查错网 。
  • interval: 调整为 60s ,由于 Confluent Cloud API 限制,这个值不能小于 60s ,低于这个值将导致无法采集数据。

关键指标

confluent 指标集

指标名称描述单位
kafka_server_active_connection_count活跃认证连接数count
kafka_server_consumer_lag_offsets组成员提交的偏移量与分区的高水位标记之间的滞后量。count
kafka_server_partition_count分区数量count
kafka_server_received_bytes从网络接收的客户数据字节数的增量计数。每个样本是自上一个数据样本以来接收的字节数。计数每60秒采样一次。byte
kafka_server_received_records接收的记录数的增量计数。每个样本是自上一个数据样本以来接收的记录数。计数每60秒采样一次。count
kafka_server_request_bytes指定请求类型通过网络发送的总请求字节数的增量计数。每个样本是自上一个数据点以来发送的字节数。计数每60秒采样一次。byte
kafka_server_request_count通过网络接收的请求数的增量计数。每个样本是自上一个数据点以来接收的请求数。计数每60秒采样一次。count
kafka_server_response_bytes指定响应类型通过网络发送的总响应字节数的增量计数。每个样本是自上一个数据点以来发送的字节数。计数每60秒采样一次。byte
kafka_server_rest_produce_request_bytesKafka REST产生调用发送的总请求字节数的增量计数。byte
kafka_server_retained_bytes集群保留的字节数当前计数。计数每60秒采样一次。byte
kafka_server_sent_bytes通过网络发送的客户数据字节数的增量计数。每个样本是自上一个数据点以来发送的字节数。计数每60秒采样一次。byte
kafka_server_sent_records发送的记录数的增量计数。每个样本是自上一个数据点以来发送的记录数。计数每60秒采样一次。count
kafka_server_successful_authentication_count成功认证的增量计数。每个样本是自上一个数据点以来成功认证的数量。计数每60秒采样一次。count

场景视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “Confluent Cloud ”, 选择 “Confluent Cloud 监控视图”,点击 “确定” 即可添加内置视图。

监控器(告警)

Kafka 消息堆积

滞后量过大,表示消费者无法及时处理消息。

Kafka 分区创建太高

每个分区都会占用一定的磁盘空间,并且需要维护其状态信息。过多的分区会增加磁盘和网络I/O的负载,进而导致 Kafka 的性能下降。

Kafka 服务认证成功次数过高报警

认证次数过高,可能存在帐号被攻击的行为。

总结

Confluent Cloud 是一个由 Confluent 提供的全托管 Apache Kafka 服务,通过观测云对 Confluent Cloud 进行全面可观测性,实时跟踪其性能指标,确保数据流的稳定性和可靠性,及时发现并解决潜在问题,优化资源分配,并保障业务连续性。


http://www.kler.cn/a/455161.html

相关文章:

  • 软考-信息安全-网络安全体系与网络安全模型
  • Java基础知识(四) -- 面向对象(下)
  • Android service framework笔记
  • 学习笔记(prism--视频【WPF-prism核心教程】)--待更新
  • 全面Kafka监控方案:从配置到指标
  • 【杂谈】-现代汽车有哪些传感器
  • MySQL NaviCat 安装及配置教程(Windows)【安装】
  • 神经网络-SENet
  • 如何通过HTTP API分组检索Doc
  • 萤石网络:以用户为中心,构建全方位协同能力
  • 《第十四部分》WDG看门狗
  • vue和uniapp中,点击按钮 传递当前item对象,并从selectData数组中删除该条item数据
  • 如何查看服务器内存占用情况?
  • 交换机与路由器的区别
  • 04、Spring MVC
  • Santa Claus 2 (st表的lower_bound用法)
  • Elasticsearch:analyzer(分析器)
  • canvas之进度条
  • 音视频入门知识(六):消息获取模式篇
  • nexus docker安装
  • 使用 Three.js 创建圣诞树场景
  • 指针详解之 多层嵌套的关系
  • ES和MONGODB备份脚本
  • [Android]按下扫描键时启动一个线程来执行某些操作
  • 大语言模型的token和向量
  • PDF书籍《手写调用链监控APM系统-Java版》第7章 插件与链路的结合:Tomcat插件实现