搜索

6.6. 监控 Debezium MySQL 连接器性能

download PDF

Debezium MySQL 连接器提供三种指标类型,除了对 Zookeeper、Kafka 和 Kafka Connect 提供的 JMX 指标的内置支持之外。

Debezium 监控文档 提供了如何使用 JMX 公开这些指标的详细信息。

6.6.1. 在 MySQL 数据库快照过程中监控 Debezium

MBeandebezium.mysql:type=connector-metrics,context=snapshot,server= <topic.prefix>

快照指标不会公开,除非快照操作处于活跃状态,或者快照自上次连接器启动以来发生。

下表列出了可用的 shapshot 指标。

属性类型描述

LastEvent

字符串

连接器已读取的最后一个快照事件。

MilliSecondsSinceLastEvent

long

连接器已读取并处理最新事件以来的毫秒数。

TotalNumberOfEventsSeen

long

此连接器自上次启动或重置后看到的事件总数。

NumberOfEventsFiltered

long

通过连接器上配置的 include/exclude 列表过滤规则过滤的事件数量。

CapturedTables

string[]

连接器捕获的表列表。

QueueTotalCapacity

int

在快照和主 Kafka Connect 循环之间传递事件的长度。

QueueRemainingCapacity

int

队列的空闲容量,用于在快照和主 Kafka Connect 循环之间传递事件。

TotalTableCount

int

包括在快照中的表的总数。

RemainingTableCount

int

快照必须复制的表数。

SnapshotRunning

布尔值

快照是否已启动。

SnapshotPaused

布尔值

快照是否已暂停。

SnapshotAborted

布尔值

快照是否中止。

SnapshotCompleted

布尔值

快照是否完成。

SnapshotDurationInSeconds

long

快照为止所花费的秒数,即使未完成也是如此。也包括快照暂停的时间。

SnapshotPausedDurationInSeconds

long

快照暂停的秒数。如果快照暂停几次,暂停的时间会添加。

RowsScanned

Map<String, Long>

包含快照中每个表的行数的映射。表会在处理过程中逐步添加到映射中。更新每个 10,000 行扫描并在完成表后。

MaxQueueSizeInBytes

long

队列的最大缓冲区(以字节为单位)。如果将 max.queue.size.in.bytes 设置为正长值,则此指标可用。

CurrentQueueSizeInBytes

long

队列中记录的当前卷(以字节为单位)。

连接器还在执行增量快照时提供以下额外快照指标:

属性类型描述

ChunkId

字符串

当前快照块的标识符。

ChunkFrom

字符串

定义当前块的主密钥集的下限。

ChunkTo

字符串

定义当前块的主密钥集的上限。

TableFrom

字符串

当前快照表的主密钥集的下限。

TableTo

字符串

当前快照表的主密钥集的上限。

Debezium MySQL 连接器还提供 HoldingGlobalLock 自定义快照指标。此指标设置为布尔值,指示连接器当前是否包含全局或表写入锁定。

6.6.2. 监控 Debezium MySQL 连接器记录流

只有在启用了 binlog 事件缓冲时,才会提供与事务相关的属性。MBeandebezium.mysql:type=connector-metrics,context=streaming,server= <topic.prefix>

下表列出了可用的流指标。

属性类型描述

LastEvent

字符串

连接器已读取的最后一个流事件。

MilliSecondsSinceLastEvent

long

连接器已读取并处理最新事件以来的毫秒数。

TotalNumberOfEventsSeen

long

此连接器自上一次启动或指标重置以来看到的事件总数。

TotalNumberOfCreateEventsSeen

long

此连接器自上次启动或指标重置以来看到的创建事件总数。

TotalNumberOfUpdateEventsSeen

long

此连接器自上次启动或指标重置以来看到的更新事件总数。

TotalNumberOfDeleteEventsSeen

long

此连接器自上次启动或指标重置以来看到的删除事件总数。

NumberOfEventsFiltered

long

通过连接器上配置的 include/exclude 列表过滤规则过滤的事件数量。

CapturedTables

string[]

连接器捕获的表列表。

QueueTotalCapacity

int

在流器和主 Kafka Connect 循环之间传递事件的长度。

QueueRemainingCapacity

int

在流器和主 Kafka Connect 循环之间传递事件的队列的可用容量。

Connected

布尔值

表示连接器目前是否连接到数据库服务器的标记。

MilliSecondsBehindSource

long

最后一次更改事件时间戳和连接器处理它之间的毫秒数。这些值将讨论运行数据库服务器和连接器的计算机上时钟之间的任何区别。

NumberOfCommittedTransactions

long

已提交的已处理事务的数量。

SourceEventPosition

Map<String, String>

最后收到的事件的协调。

LastTransactionId

字符串

最后处理事务的事务的事务标识符。

MaxQueueSizeInBytes

long

队列的最大缓冲区(以字节为单位)。如果将 max.queue.size.in.bytes 设置为正长值,则此指标可用。

CurrentQueueSizeInBytes

long

队列中记录的当前卷(以字节为单位)。

Debezium MySQL 连接器还提供以下额外流指标:

表 6.32. 其他流指标的描述
属性类型描述

BinlogFilename

字符串

连接器最近读取的 binlog 文件的名称。

BinlogPosition

long

连接器已读取的 binlog 中最新位置(以字节为单位)。

IsGtidModeEnabled

布尔值

表示连接器目前是否从 MySQL 服务器跟踪 GTID 的标记。

GtidSet

字符串

在读取 binlog 时连接器处理的最新 GTID 设置的字符串表示。

NumberOfSkippedEvents

long

MySQL 连接器跳过的事件数量。通常,由于来自 MySQL 的 binlog 的 malformed 或 unparseable 事件而跳过事件。

NumberOfDisconnects

long

MySQL 连接器断开连接的数量。

NumberOfRolledBackTransactions

long

已回滚且未流传输的已处理事务的数量。

NumberOfNotWellFormedTransactions

long

尚未符合预期协议的 BEGIN + COMMIT/DESTINATIONLBACK 的事务数量。在正常情况下,这个值应该为 0

NumberOfLargeTransactions

long

不适用于 look-ahead 缓冲区的事务数量。为获得最佳性能,这个值应显著小于 NumberOfCommittedTransactionsNumberOfRolledBackTransactions

6.6.3. 监控 Debezium MySQL 连接器模式历史记录

MBeandebezium.mysql:type=connector-metrics,context=schema-history,server= <topic.prefix>

下表列出了可用的模式历史记录指标。

属性类型描述

Status

字符串

STOPPED 之一,RECOVERING (从存储恢复历史记录),RUNNING 描述数据库架构历史记录的状态。

RecoveryStartTime

long

恢复启动时的 epoch 秒的时间(以秒为单位)。

ChangesRecovered

long

在恢复阶段读取的更改数量。

ChangesApplied

long

恢复和运行时期间应用的模式更改总数。

MilliSecondsSinceLast​RecoveredChange

long

从历史记录存储中恢复自上次更改以来经过的毫秒数。

MilliSecondsSinceLast​AppliedChange

long

从上次更改被应用后经过的毫秒数。

LastRecoveredChange

字符串

从历史记录存储中恢复的最后一个更改的字符串表示。

LastAppliedChange

字符串

最后应用的更改的字符串表示。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.