Confluent Cloud Kafka 可观测性最佳实践

news2024/12/28 17:12:35

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.coloradmin.cn/o/2267028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloudAlibaba升级手册-nacos问题记录

目录 一、前言 二、升级过程 1.问题 2.原因 3.出处 4.理论解决 5.测试环境问题 6.Spring Cloud Alibaba版本对比 7. Spring Cloud Alibaba适配组件版本对比 8.降低Spring Cloud版本 9.SpringCloud与SpringBoot兼容对比表 10.naocs-client版本对比 三、最终解决 一…

15、【OS】【Nuttx】OS裁剪,运行指定程序,周期打印当前任务

背景 接之前wiki【Nsh中运行第一个程序】https://blog.csdn.net/nobigdeal00/article/details/144728771 OS还是比较庞大,且上面搭载了Nsh(Nuttx Shell),需要接入串口才能正常工作,一般调试的时候用,非调试…

C# 窗体应用程序嵌套web网页,基于谷歌浏览器内核(含源码)

有一个winform项目,需要借助一个web项目来显示,并且对web做一些操作,web页目是需要用谷歌内核,基于谷歌 Chromium项目的开源Web Browser控件来开发写了一个demo。 安装步骤 第一步:右键项目,点击 管理NuGet程序包 , 输…

通过远程控制软件实现企业高效协作

在这个信息技术迅猛发展的时代,远程办公已经成为一种趋势,而远程控制软件则是连接分散团队的重要工具。技术的革新不仅推动了远程控制软件的广泛应用,也为现代办公带来了高效的协作体验。本文将探讨远程控制软件的发展,并以RayLin…

赋能开发者 | 麒麟信安受邀参加2024开放原子开发者大会,以技术为引领,以人才创发展

12月20至21日,以“一切为了开发者”为主题的“2024开放原子开发者大会暨首届开源技术学术大会”在湖北武汉举办。本届大会由开放原子开源基金会、中国通信学会联合主办,旨在贯彻落实国家软件发展战略,加速培育壮大我国开源生态。工业和信息化…

每天40分玩转Django:Django国际化

Django国际化 一、今日学习内容概述 学习模块重要程度主要内容国际化基础⭐⭐⭐⭐⭐基本概念、配置设置字符串翻译⭐⭐⭐⭐⭐翻译标记、消息文件模板国际化⭐⭐⭐⭐模板标签、过滤器动态内容翻译⭐⭐⭐⭐模型字段、表单翻译 二、国际化基础配置 # settings.py# 启用国际化 …

Elasticsearch 国产化替代方案之一 Easysearch 的介绍与部署指南

一、前言 在国内数字化转型浪潮和 信创 大背景下,“替代进口”成为许多企业级应用所需要面对的重要课题,搜索领域也不例外。 Elasticsearch(简称 ES)作为一款业界领先的全文搜索和分析引擎,虽然功能强大,但…

Ubuntu 24.04.1 LTS 配置静态固定IP地址

查看网络配置信息 ip addr使用该命令查看网卡名字,一般是ens33或者ens32 修改配置文件 打开 /etc/netplan/下面的yaml配置文件 根据自己的需要配置 network:ethernets:ens33: # 配置的网卡的名称addresses: [192.168.23.140/24] # 配置的静态ip地址和掩码d…

Deep Deterministic Policy Gradient (DDPG)算法

代码 import torch import torch.nn as nn import torch.optim as optim import numpy as np import gym import random from collections import deque# 定义 Actor 网络 class Actor(nn.Module):def __init__(self, state_dim, action_dim, max_action):super(Actor, self).…

C++ OCR 文字识别

一.引言 文字识别,也称为光学字符识别(Optical Character Recognition, OCR),是一种将不同形式的文档(如扫描的纸质文档、PDF文件或数字相机拍摄的图片)中的文字转换成可编辑和可搜索的数据的技术。随着技…

【解决报错】AttributeError: ‘NoneType‘ object has no attribute ‘group‘

学习爬虫时,遇到如下报错: 报错原因: 正则表达式的 search 或 finditer 方法没有找到任何匹配项,可能是换行符处理不当等。 解决方法如下: 在正则表达式末尾加上re.S即可,re.S是一个编译标志&#xff0c…

JVM实战—3.JVM垃圾回收的算法和全流程

大纲 1.JVM内存中的对象何时会被垃圾回收 2.JVM中的垃圾回收算法及各算法的优劣 3.新生代和老年代的垃圾回收算法 4.避免本应进入S区的对象直接升入老年代 5.Stop the World问题分析 6.JVM垃圾回收的原理核心流程 7.问题汇总 1.JVM内存中的对象何时会被垃圾回收 (1)什么…

基于SpringBoot在线音乐系统平台功能实现十八

一、前言介绍: 1.1 项目摘要 随着互联网技术的迅猛发展和普及,人们对音乐的获取和欣赏方式发生了巨大改变。传统的音乐播放方式,如CD、磁带或本地下载的音乐文件,已经不能满足用户日益增长的需求。用户更希望通过网络直接获取各…

RouYi-Vue框架,环境搭建以及使用

使用若以框架需要配置node.js,如果不了解可以去看node.js安装,uni-app的配置使用_uniapp使用nodejs类库-CSDN博客 安装若依 首先是去若以官网下载自己所需要的框架类型 RuoYi-Vue: 🎉 基于SpringBoot,Spring Security&#xff…

XL系列433芯片、2.4G收发芯片 通讯对码说明

XL系列433芯片对码说明: 发射芯片 XL4456 通过数据脚接收高低电平然后经过调制将波形发出,而接收芯片 XL520 通过接收波形后进行解调,数据脚输出高低电平。至于具体的通信协议,需要用户自定义,一般而言,使…

蓝牙BLE开发——解决iOS设备获取MAC方式

解决iOS设备获取MAC方式 uniapp 解决 iOS 获取 MAC地址,在Android、iOS不同端中互通,根据MAC 地址处理相关的业务场景; 文章目录 解决iOS设备获取MAC方式监听寻找到新设备的事件BLE工具效果图APP监听设备返回数据解决方式ArrayBuffer转16进制…

期权懂|如何计算期权卖方平仓后的盈利?

锦鲤三三每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 如何计算期权卖方平仓后的盈利? 期权卖方平仓后的盈利计算涉及多个因素,包括期权的交易价格、平仓价格以及权利金的变动等。 交易价格:期权卖…

QT:一个TCP客户端自动连接的测试模型

版本 1:没有取消按钮 测试效果: 缺陷: 无法手动停止 测试代码 CMakeLists.txt cmake_minimum_required(VERSION 3.19) project(AutoConnect LANGUAGES CXX)find_package(Qt6 6.5 REQUIRED COMPONENTS Core Widgets Network)qt_standard_project_setup(…

uniapp中wx.getFuzzyLocation报错如何解决

一、用wx.getLocation接口审核不通过 用uniapp开发小程序时难免需要获取当前地理位置。 代码如下: uni.getLocation({type: wgs84,success: function (res) {console.log(当前位置的经度: res.longitude);console.log(当前位置的纬度: r…

解决Ubuntu下无法装载 Windows D盘的问题

电脑安装了 Windows 和 Ubuntu 24.04 后,在Ubuntu系统上装载 D盘,发现无法装载错误如下: Error mounting /dev/nvme0n1p4 at /media/jackeysong/Data: wrong fs type, bad option, bad superblock on /dev/nvme0n1p4, missing codepage or h…