Debezium日常分享系列之:Debezium2.5稳定版本之Monitoring
Debezium日常分享系列之:Debezium2.5稳定版本之Monitoring
- 一、Snapshot metrics
- 二、Streaming metrics
- 三、Schema history metrics
Debezium系列之:安装jmx导出器监控debezium指标
除了 Zookeeper、Kafka 和 Kafka Connect 提供的对 JMX 指标的内置支持之外,Debezium MySQL 连接器还提供三种类型的指标。
- 快照指标提供有关执行快照时连接器操作的信息。
- 当连接器读取二进制日志时,流指标提供有关连接器操作的信息。
- 架构历史记录指标提供有关连接器架构历史记录状态的信息。
一、Snapshot metrics
MBean 为 debezium.mysql:type=connector-metrics,context=snapshot,server=<topic.prefix>。
除非快照操作处于活动状态,或者自上次连接器启动以来已发生快照,否则不会公开快照指标。
下表列出了可用的快照指标。
| 属性 | 类型 | 描述 |
|---|---|---|
| LastEvent | string | 连接器读取的最后一个快照事件。 |
| MilliSecondsSinceLastEvent | long | 自连接器读取并处理最近事件以来的毫秒数。 |
| TotalNumberOfEventsSeen | long | 自上次启动或重置以来此连接器发生的事件总数。 |
| NumberOfEventsFiltered | long | 已按连接器上配置的包含/排除列表过滤规则过滤的事件数。 |
| CapturedTables | string[] | 连接器捕获的表的列表。 |
| QueueTotalCapacity | int | 用于在快照器和主 Kafka Connect 循环之间传递事件的队列长度。 |
| QueueRemainingCapacity | int | 用于在快照器和主 Kafka Connect 循环之间传递事件的队列的可用容量。 |
| TotalTableCount | int | 快照中包含的表总数。 |
| RemainingTableCount | int | 快照尚未复制的表的数量。 |
| SnapshotRunning | boolean | 快照是否已启动。 |
| SnapshotPaused | boolean | 快照是否暂停。 |
| SnapshotAborted | boolean | 快照是否被中止。 |
| SnapshotCompleted | boolean | 快照是否完成。 |
| SnapshotDurationInSeconds | long | 到目前为止快照所用的总秒数(即使尚未完成)。还包括快照暂停的时间。 |
| SnapshotPausedDurationInSeconds | long | 快照暂停的总秒数。如果快照暂停多次,则暂停时间会累加。 |
| RowsScanned | Map<String, Long> | 包含快照中每个表扫描的行数的映射。表在处理过程中逐渐添加到映射中。每扫描 10,000 行并完成表格后更新一次。 |
| MaxQueueSizeInBytes | long | 队列的最大缓冲区(以字节为单位)。如果 max.queue.size.in.bytes 设置为正 long 值,则此指标可用。 |
| CurrentQueueSizeInBytes | long | 队列中的当前记录量(以字节为单位)。 |
执行增量快照时,连接器还提供以下附加快照指标:
| 属性 | 类型 | 描述 |
|---|---|---|
| ChunkId | string | 当前快照块的标识符。 |
| ChunkFrom | string | 定义当前块的主键集的下界。 |
| ChunkTo | string | 定义当前块的主键集的上限。 |
| TableFrom | string | 当前快照表的主键集的下界。 |
| TableTo | string | 当前快照表的主键集的上限。 |
Debezium MySQL 连接器还提供 HoldingGlobalLock 自定义快照指标。该指标设置为一个布尔值,指示连接器当前是否持有全局或表写入锁定。
二、Streaming metrics
仅当启用 binlog 事件缓冲时,事务相关属性才可用。有关更多详细信息,请参阅高级连接器配置属性中的 binlog.buffer.size。 :水平偏移:+1
MBean 为 debezium.mysql:type=connector-metrics,context=streaming,server=<topic.prefix>。
下表列出了可用的流指标。
| 属性 | 类型 | 描述 |
|---|---|---|
| LastEvent | string | 连接器读取的最后一个流事件。 |
| MilliSecondsSinceLastEvent | long | 自连接器读取并处理最近事件以来的毫秒数。 |
| TotalNumberOfEventsSeen | long | 自上次启动或指标重置以来,该连接器已经看到的事件总数。 |
| TotalNumberOfCreateEventsSeen | long | 自上次启动或指标重置以来此连接器已看到的创建事件总数。 |
| TotalNumberOfUpdateEventsSeen | long | 自上次启动或指标重置以来此连接器看到的更新事件总数。 |
| TotalNumberOfDeleteEventsSeen | long | 自上次启动或指标重置以来此连接器看到的删除事件总数。 |
| NumberOfEventsFiltered | long | 已按连接器上配置的包含/排除列表过滤规则过滤的事件数。 |
| CapturedTables | string[] | 连接器捕获的表的列表。 |
| QueueTotalCapacity | int | 用于在流送器和主 Kafka Connect 循环之间传递事件的队列长度。 |
| QueueRemainingCapacity | int | 用于在流处理器和主 Kafka Connect 循环之间传递事件的队列的可用容量。 |
| Connected | boolean | 指示连接器当前是否连接到数据库服务器的标志。 |
| MilliSecondsBehindSource | long | 最后更改事件的时间戳与连接器处理该事件之间的毫秒数。这些值将包含运行数据库服务器和连接器的计算机上时钟之间的任何差异。 |
| NumberOfCommittedTransactions | long | 已提交的已处理事务数。 |
| SourceEventPosition | Map<String, String> | 最后接收到的事件的坐标。 |
| LastTransactionId | string | 最后处理交易的交易标识符。 |
| MaxQueueSizeInBytes | long | 队列的最大缓冲区(以字节为单位)。如果 max.queue.size.in.bytes 设置为正 long 值,则此指标可用。 |
| CurrentQueueSizeInBytes | long | 队列中的当前记录量(以字节为单位)。 |
Debezium MySQL 连接器还提供以下附加流指标:
表 28. 其他流媒体指标的描述
| 属性 | 类型 | 描述 |
|---|---|---|
| BinlogFilename | string | 连接器最近读取的二进制日志文件的名称。 |
| BinlogPosition | long | 连接器读取的二进制日志中的最新位置(以字节为单位)。 |
| IsGtidModeEnabled | boolean | 指示连接器当前是否正在跟踪来自 MySQL 服务器的 GTID 的标志。 |
| GtidSet | string | 连接器在读取 binlog 时处理的最新 GTID 集的字符串表示形式。 |
| NumberOfSkippedEvents | long | MySQL 连接器已跳过的事件数。通常,由于 MySQL binlog 中的事件格式错误或无法解析,事件会被跳过。 |
| NumberOfDisconnects | long | MySQL 连接器断开连接的次数。 |
| NumberOfRolledBackTransactions | long | 已回滚且未流式传输的已处理事务的数量。 |
| NumberOfNotWellFormedTransactions | long | 不符合 BEGIN + COMMIT/ROLLBACK 预期协议的事务数量。正常情况下该值应为 0。 |
| NumberOfLargeTransactions | long | 未装入前瞻缓冲区的事务数。为了获得最佳性能,该值应明显小于 NumberOfCommitedTransactions 和 NumberOfRolledBackTransactions。 |
三、Schema history metrics
MBean 为 debezium.mysql:type=connector-metrics,context=schema-history,server=<topic.prefix>。
下表列出了可用的架构历史记录指标。
| 属性 | 类型 | 描述 |
|---|---|---|
| Status | string | STOPPED、RECOVERING(从存储中恢复历史记录)、RUNNING 之一描述数据库模式历史记录的状态。 |
| RecoveryStartTime | long | 恢复开始的时间(以纪元秒为单位)。 |
| ChangesRecovered | long | 在恢复阶段读取的更改数。 |
| ChangesApplied | long | 恢复和运行时应用的架构更改总数。 |
| MilliSecondsSinceLastRecoveredChange | long | 从历史存储中恢复上次更改以来经过的毫秒数。 |
| MilliSecondsSinceLastAppliedChange | long | 自上次应用更改以来经过的毫秒数。 |
| LastRecoveredChange | string | 从历史存储中恢复的最后更改的字符串表示形式。 |
| LastAppliedChange | string | 最后应用的更改的字符串表示形式。 |
相关文章:
Debezium日常分享系列之:Debezium2.5稳定版本之Monitoring
Debezium日常分享系列之:Debezium2.5稳定版本之Monitoring 一、Snapshot metrics二、Streaming metrics三、Schema history metrics Debezium系列之:安装jmx导出器监控debezium指标 除了 Zookeeper、Kafka 和 Kafka Connect 提供的对 JMX 指标的内置支持…...
GuLi商城-商品服务-API-三级分类-网关统一配置跨域
参考文档: https://tangzhi.blog.csdn.net/article/details/126754515 https://github.com/OYCodeSite/gulimall-learning/blob/master/docs/%E8%B0%B7%E7%B2%92%E5%95%86%E5%9F%8E%E2%80%94%E5%88%86%E5%B8%83%E5%BC%8F%E5%9F%BA%E7%A1%80.md 谷粒商城-day04-完…...
【ai技术】(4):在树莓派上,使用qwen0.5b大模型+chatgptweb,搭建本地大模型聊天环境,速度飞快,非常不错!
1,视频地址 https://www.bilibili.com/video/BV1VK421i7CZ/ 【ai技术】(4):在树莓派4上,使用ollama部署qwen0.5b大模型chatgptweb前端界面,搭建本地大模型聊天工具,速度飞快 2,下载…...
深入理解PHP+Redis实现分布式锁的相关问题
概念 PHP使用分布式锁,受语言本身的限制,有一些局限性。 通俗理解单机锁问题:自家的锁锁自家的门,只能保证自家的事,管不了别人家不锁门引发的问题,于是有了分布式锁。分布式锁概念:是针对多个…...
perl:获取同花顺数据--业绩预告
perldoc LWP::UserAgent 如果没有安装,则安装模块,运行 cpanm LWP::UserAgent 。 编写 get_yjyg_10jqka.pl 如下 #!/usr/bin/perl # perl 获取同花顺数据--业绩预告 use LWP::UserAgent; use Encode qw(decode encode); use POSIX; use Data::Dump…...
如何对比引用传参和值传参两者的效率
以值作为参数或者返回值类型,在传参和返回期间,函数不会直接传递实参或者将变量本身直接返回,而是传递实参或者返回变量的一份临时的拷贝,因此用值作为参数或者返回值类型,效率是非常低下的,尤其是当参数或…...
探索软件工程:构建可靠、高效的数字世界
软件工程是一门涵盖了设计、开发、测试、维护和管理软件的学科,它在如今数字化时代的发展中扮演着至关重要的角色。随着科技的不断进步和社会的不断变迁,软件工程的意义也愈发凸显。本文将探索软件工程的重要性、原则和实践,以及其对当今社会…...
超越肉眼:深入计算机视觉的奇妙之旅
揭秘计算机视觉的奥秘:从基础到前沿的探索之旅 引言:一、计算机视觉的基础1. 图像处理基础2. 特征提取与描述3. 基本模式识别 二、机器学习在计算机视觉中的应用1. 深度学习革命2. 迁移学习与多任务学习3. 强化学习与主动学习4. 无监督学习和自监督学习 …...
mac 安装 nvm 【真解决问题】
前提 没有node环境已有git 下载 我用的gitee极速下载 git clone https://gitee.com/mirrors/nvm.git ~/.nvm && cd ~/.nvm && git checkout git describe --abbrev0 --tags配置 1. 配置变量 在用户的目录下新增文件 .zshrc export NVM_DIR"$HOME/…...
【Godot 3.5控件】用TextureProgress制作血条
说明 本文写自2022年11月13日-14日,内容基于Godot3.5。后续可能会进行向4.2版本的转化。 概述 之前基于ProgressBar创建过血条组件。它主要是基于修改StyleBoxFlat,好处是它几乎可以算是矢量的,体积小,所有东西都是样式信息&am…...
第十届蓝桥杯大赛个人赛省赛(软件类)真题- CC++ 研究生组
第十届蓝桥杯大赛个人赛省赛(软件类)真题- C&C 研究生组-立方和 第十届蓝桥杯大赛个人赛省赛(软件类)真题- C&C 研究生组-字串数字 第十届蓝桥杯大赛个人赛省赛(软件类)真题- C&C 研究生组-质数…...
Linux:Gitlab:16.9.2 创建用户及项目仓库基础操作(2)
我在上一章介绍了基本的搭建以及邮箱配置 Linux:Gitlab:16.9.2 (rpm包) 部署及基础操作(1)-CSDN博客https://blog.csdn.net/w14768855/article/details/136821311?spm1001.2014.3001.5501 本章介绍一下用户的创建,组内设置用户&…...
【数据挖掘】实验5:数据预处理(1)
实验5:数据预处理(1) 一:实验目的与要求 1:熟悉和掌握数据预处理,学习数据清洗、数据集成、数据变换、数据规约、R语言中主要数据预处理函数。 二:实验内容 【缺失值分析】 第一步࿱…...
383.赎金信
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 思路:将magazine 中字…...
Python 3 教程(8)
heisenbug601 601***902@qq.com 参考地址 311 tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字: 代码如下: >>> classmates = (Michael, Bob, Tracy) 现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法…...
Mysql数据库深入理解
目录 一、什么是数据库 二、Mysql基本架构图 1.Mysql客户端/服务器架构 2.客户端与服务器的连接过程 3.服务器处理客户端请求 4.一条查询SQL执行顺序 4.1连接器 4.2查询缓存 4.3解析器 4.4执行器 4.4.1预处理阶段 4.4.2优化阶段 4.4.3执行阶段 5.一条记录如何存…...
android 音频焦点,音频策略梳理
音频焦点和音频策略两个不同的概念,容易搞混 先来看下音频焦点和音频策略直接的区别和联系 音频策略的主要功能是为该音频找到合适的硬件设备播放 1 音频策略流程: (从usage->device) attributesBuilder.setUsage--->audioservice.mCarAudioCont…...
go语言-基础元素与结构的使用
go基础元素与结构的使用,快速上手 编译go文件 编译为可执行文件 go build 文件名.go运行文件 ./文件名输入/输出 引用fmt库(关于输入输出的库) 输入 scanf按照给定的格式依次读取数据(包括非法数据),不…...
【leetcode热题】 二叉树的右视图
给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4]示例 2: 输入: [1,null,3] 输出: [1,3]示例 3: 输入: [] 输出: []解法一 题…...
康奋威科技邀您到场参观2024长三角快递物流展
参展企业介绍 杭州康奋威科技股份有限公司创立于2005年,由国家“万人计划”专家任天挺先生创立并担任法人,是一家专业从事智能装备研发与制造的国家级高新技术企业。专注于自动化控制、机械设计、信息化方面的技术研究,主要为太阳能光伏、智…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...
Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
