6.6. 监控 Debezium MySQL 连接器性能
Debezium MySQL 连接器提供三种指标类型,除了对 Zookeeper、Kafka 和 Kafka Connect 提供的 JMX 指标的内置支持之外。
- 快照指标 提供有关执行快照时连接器操作的信息。
- 当连接器读取 binlog 时,流指标 提供有关连接器操作的信息。
- 模式历史记录指标 提供有关连接器模式历史记录状态的信息。
Debezium 监控文档 提供了如何使用 JMX 公开这些指标的详细信息。
6.6.1. 在 MySQL 数据库快照过程中监控 Debezium
MBean 是 debezium.mysql:type=connector-metrics,context=snapshot,server= <topic.prefix>
。
快照指标不会公开,除非快照操作处于活跃状态,或者快照自上次连接器启动以来发生。
下表列出了可用的 shapshot 指标。
属性 | 类型 | 描述 |
---|---|---|
| 连接器已读取的最后一个快照事件。 | |
| 连接器已读取并处理最新事件以来的毫秒数。 | |
| 此连接器自上次启动或重置后看到的事件总数。 | |
| 通过连接器上配置的 include/exclude 列表过滤规则过滤的事件数量。 | |
| 连接器捕获的表列表。 | |
| 在快照和主 Kafka Connect 循环之间传递事件的长度。 | |
| 队列的空闲容量,用于在快照和主 Kafka Connect 循环之间传递事件。 | |
| 包括在快照中的表的总数。 | |
| 快照必须复制的表数。 | |
| 快照是否已启动。 | |
| 快照是否已暂停。 | |
| 快照是否中止。 | |
| 快照是否完成。 | |
| 快照为止所花费的秒数,即使未完成也是如此。也包括快照暂停的时间。 | |
| 快照暂停的秒数。如果快照暂停几次,暂停的时间会添加。 | |
| 包含快照中每个表的行数的映射。表会在处理过程中逐步添加到映射中。更新每个 10,000 行扫描并在完成表后。 | |
|
队列的最大缓冲区(以字节为单位)。如果将 | |
| 队列中记录的当前卷(以字节为单位)。 |
连接器还在执行增量快照时提供以下额外快照指标:
属性 | 类型 | 描述 |
---|---|---|
| 当前快照块的标识符。 | |
| 定义当前块的主密钥集的下限。 | |
| 定义当前块的主密钥集的上限。 | |
| 当前快照表的主密钥集的下限。 | |
| 当前快照表的主密钥集的上限。 |
Debezium MySQL 连接器还提供 HoldingGlobalLock
自定义快照指标。此指标设置为布尔值,指示连接器当前是否包含全局或表写入锁定。
6.6.2. 监控 Debezium MySQL 连接器记录流
只有在启用了 binlog 事件缓冲时,才会提供与事务相关的属性。MBean 是 debezium.mysql:type=connector-metrics,context=streaming,server= <topic.prefix>
。
下表列出了可用的流指标。
属性 | 类型 | 描述 |
---|---|---|
| 连接器已读取的最后一个流事件。 | |
| 连接器已读取并处理最新事件以来的毫秒数。 | |
| 此连接器自上一次启动或指标重置以来看到的事件总数。 | |
| 此连接器自上次启动或指标重置以来看到的创建事件总数。 | |
| 此连接器自上次启动或指标重置以来看到的更新事件总数。 | |
| 此连接器自上次启动或指标重置以来看到的删除事件总数。 | |
| 通过连接器上配置的 include/exclude 列表过滤规则过滤的事件数量。 | |
| 连接器捕获的表列表。 | |
| 在流器和主 Kafka Connect 循环之间传递事件的长度。 | |
| 在流器和主 Kafka Connect 循环之间传递事件的队列的可用容量。 | |
| 表示连接器目前是否连接到数据库服务器的标记。 | |
| 最后一次更改事件时间戳和连接器处理它之间的毫秒数。这些值将讨论运行数据库服务器和连接器的计算机上时钟之间的任何区别。 | |
| 已提交的已处理事务的数量。 | |
| 最后收到的事件的协调。 | |
| 最后处理事务的事务的事务标识符。 | |
|
队列的最大缓冲区(以字节为单位)。如果将 | |
| 队列中记录的当前卷(以字节为单位)。 |
Debezium MySQL 连接器还提供以下额外流指标:
属性 | 类型 | 描述 |
---|---|---|
| 连接器最近读取的 binlog 文件的名称。 | |
| 连接器已读取的 binlog 中最新位置(以字节为单位)。 | |
| 表示连接器目前是否从 MySQL 服务器跟踪 GTID 的标记。 | |
| 在读取 binlog 时连接器处理的最新 GTID 设置的字符串表示。 | |
| MySQL 连接器跳过的事件数量。通常,由于来自 MySQL 的 binlog 的 malformed 或 unparseable 事件而跳过事件。 | |
| MySQL 连接器断开连接的数量。 | |
| 已回滚且未流传输的已处理事务的数量。 | |
|
尚未符合预期协议的 | |
|
不适用于 look-ahead 缓冲区的事务数量。为获得最佳性能,这个值应显著小于 |
6.6.3. 监控 Debezium MySQL 连接器模式历史记录
MBean 是 debezium.mysql:type=connector-metrics,context=schema-history,server= <topic.prefix>
。
下表列出了可用的模式历史记录指标。
属性 | 类型 | 描述 |
---|---|---|
|
| |
| 恢复启动时的 epoch 秒的时间(以秒为单位)。 | |
| 在恢复阶段读取的更改数量。 | |
| 恢复和运行时期间应用的模式更改总数。 | |
| 从历史记录存储中恢复自上次更改以来经过的毫秒数。 | |
| 从上次更改被应用后经过的毫秒数。 | |
| 从历史记录存储中恢复的最后一个更改的字符串表示。 | |
| 最后应用的更改的字符串表示。 |