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

TiCDC 重要监控指标详解

使用 TiUP 部署 TiDB 集群时,一键部署的监控系统面板包含 TiCDC 面板。本文档对 TiCDC 监控面板上的各项指标进行详细说明。在日常运维中,运维人员可通过观察 TiCDC 面板上的指标了解 TiCDC 当前的状态。

本文档的对指标的介绍基于以下同步任务,即使用默认配置同步数据到 MySQL。

cdc cli changefeed create --pd=http://10.0.10.25:2379 --sink-uri="mysql://root:123456@127.0.0.1:3306/" --changefeed-id="simple-replication-task"

下图显示了 TiCDC Dashboard 各监控面板:

各监控面板说明如下:

  • Server:TiDB 集群中 TiKV 节点和 TiCDC 节点的概要信息
  • Changefeed:TiCDC 同步任务的详细信息
  • Events:TiCDC 内部数据流转的详细信息
  • TiKV:TiKV 中和 TiCDC 相关的详细信息

Server 面板

Server 面板示例如下:

Server 面板的各指标说明如下:

  • Uptime:TiKV 节点和 TiCDC 节点已经运行的时间
  • Goroutine count:TiCDC 节点 Goroutine 的个数
  • Open FD count:TiCDC 节点打开的文件句柄个数
  • Ownership:TiCDC 集群中节点的当前状态
  • Ownership history:TiCDC 集群中 Owner 节点的历史记录
  • CPU usage:TiCDC 节点使用的 CPU
  • Memory usage:TiCDC 节点使用的内存

Changefeed 面板

Changefeed 面板示例如下:

Changefeed 面板的各指标说明如下:

  • Changefeed table count:一个同步任务中分配到各个 TiCDC 节点同步的数据表个数。
  • Processor resolved ts:TiCDC 节点内部状态中已同步的时间点。
  • Table resolved ts:同步任务中各数据表的同步进度。
  • Changefeed checkpoint:同步任务同步到下游的进度,正常情况下绿柱应和黄线相接。
  • PD etcd requests/s:TiCDC 节点每秒向 PD 读写数据的次数。
  • Exit error count:每分钟内导致同步中断的错误发生次数。
  • Changefeed checkpoint lag:同步任务上下游数据的进度差(以时间计算)。
  • Changefeed resolved ts lag:TiCDC 节点内部同步状态与上游的进度差(以时间计算)。
  • Flush sink duration:TiCDC 异步刷写数据入下游的耗时直方图。
  • Flush sink duration percentile:每秒钟中 95%、99% 和 99.9% 的情况下,TiCDC 异步刷写数据入下游所花费的时间。
  • Sink write duration:TiCDC 将一个事务的更改写到下游的耗时直方图。
  • Sink write duration percentile:每秒钟中 95%、99% 和 99.9% 的情况下,TiCDC 将一个事务的更改写到下游所花费的时间。
  • MySQL sink conflict detect duration:MySQL 写入冲突检测耗时直方图。
  • MySQL sink conflict detect duration percentile:每秒钟中 95%、99% 和 99.9% 的情况下,MySQL 写入冲突检测耗时。
  • MySQL sink worker load:TiCDC 节点中写 MySQL 线程的负载情况。

Events 面板

Events 面板示例如下:

Events 面板的各指标说明如下:

  • Eventfeed count:TiCDC 节点中 Eventfeed RPC 的个数。
  • Event size percentile:每秒钟中 95% 和 99.9% 的情况下,TiCDC 收到的来自 TiKV 的数据变更消息大小。
  • Eventfeed error/m:TiCDC 节点中每分钟 Eventfeed RPC 遇到的错误个数。
  • KV client receive events/s:TiCDC 节点中 KV client 模块每秒收到来自 TiKV 的数据变更个数。
  • Puller receive events/s:TiCDC 节点中 Puller 模块每秒收到来自 KV client 模块的数据变更个数。
  • Puller output events/s:TiCDC 节点中 Puller 模块每秒输出到 Sorter 模块的数据变更个数。
  • Sink flush rows/s:TiCDC 节点每秒写到下游的数据变更的个数。
  • Puller buffer size:TiCDC 节点中缓存在 Puller 模块中的数据变更个数。
  • Entry sorter buffer size:TiCDC 节点中缓存在 Sorter 模块中的数据变更个数。
  • Processor/Mounter buffer size:TiCDC 节点中缓存在 Processor 模块和 Mounter 模块中的数据变更个数。
  • Sink row buffer size:TiCDC 节点中缓存在 Sink 模块中的数据变更个数。
  • Entry sorter sort duration:TiCDC 节点对数据变更进行排序的耗时直方图。
  • Entry sorter sort duration percentile:每秒钟中 95%,99% 和 99.9% 的情况下,TiCDC 排序数据变更所花费的时间。
  • Entry sorter merge duration:TiCDC 节点合并排序后的数据变更的耗时直方图。
  • Entry sorter merge duration percentile:每秒钟中 95%,99% 和 99.9% 的情况下,TiCDC 合并排序后的数据变更所花费的时间。
  • Mounter unmarshal duration:TiCDC 节点解码数据变更的耗时直方图。
  • Mounter unmarshal duration percentile:每秒钟中 95%,99% 和 99.9% 的情况下,TiCDC 解码数据变更所花费的时间。
  • KV client dispatch events/s:TiCDC 节点内部 KV client 模块每秒分发数据变更的个数。
  • KV client batch resolved size:TiKV 批量发给 TiCDC 的 resolved ts 消息的大小。

TiKV 面板

TiKV 面板示例如下:

TiKV 面板的各指标说明如下:

  • CDC endpoint CPU:TiKV 节点上 CDC endpoint 线程使用的 CPU
  • CDC worker CPU:TiKV 节点上 CDC worker 线程使用的 CPU
  • Min resolved ts:TiKV 节点上最小的 resolved ts
  • Min resolved region:TiKV 节点上最小的 resolved ts 的 Region ID
  • Resolved ts lag duration percentile:TiKV 节点上最小的 resolved ts 与当前时间的差距
  • Initial scan duration:TiKV 节点与 TiCDC 建立链接时增量扫的耗时直方图
  • Initial scan duration percentile:每秒钟中 95%、99% 和 99.9% 的情况下,TiKV 节点增量扫的耗时
  • Memory without block cache:TiKV 节点在减去 RocksDB block cache 后使用的内存
  • CDC pending bytes in memory:TiKV 节点中 CDC 模块使用的内存
  • Captured region count:TiKV 节点上捕获数据变更的 Region 个数

相关文章:

  • T1063 最大跨度值(信息学一本通C++)
  • JavaSE 一些技巧 03——Stream流常用API
  • VMware安装Android-x86示例
  • [HUBUCTF 2022 新生赛]
  • 【Machine Learning】13.逻辑回归小结and练习
  • Cadence Allegro 过孔通孔盲孔埋孔详细说明及设计举例图文教程
  • Spring boot再来一遍
  • Mathorcup数学建模竞赛第三届-【妈妈杯】B题:关于三维健康评分模型的研究(附带赛题解析获奖论文)(一)
  • 最新版本vscode 真正解决用vscode + unity搭配开发没有代码智能提示 OmniSharp服务启动 vscode调试unity准备
  • T1064 奥运奖牌计数(信息学一本通C++)
  • python爬虫--cookie、防盗链、代理
  • Vue3+TSX开发模式下内置组件的替代方案
  • 燃烧化学平衡判据
  • 05--Django视图层-JsonResponse对象、request对象中的其他方法以及FBV与CBV的书写
  • Spring中Bean的生命周期详解
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【技术性】Search知识
  • 4个实用的微服务测试策略
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • ComponentOne 2017 V2版本正式发布
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • Facebook AccountKit 接入的坑点
  • Hibernate【inverse和cascade属性】知识要点
  • IDEA 插件开发入门教程
  • iOS编译提示和导航提示
  • JavaScript新鲜事·第5期
  • SQLServer之创建显式事务
  • vue 个人积累(使用工具,组件)
  • 大数据与云计算学习:数据分析(二)
  • 聊聊hikari连接池的leakDetectionThreshold
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 什么软件可以剪辑音乐?
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • ​香农与信息论三大定律
  • %check_box% in rails :coditions={:has_many , :through}
  • (ibm)Java 语言的 XPath API
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (离散数学)逻辑连接词
  • (十五)使用Nexus创建Maven私服
  • (五十)第 7 章 图(有向图的十字链表存储)
  • (转)http协议
  • (转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
  • .NET开发人员必知的八个网站
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • @ConditionalOnProperty注解使用说明
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [ C++ ] STL---仿函数与priority_queue
  • [AIGC] Nacos:一个简单 yet powerful 的配置中心和服务注册中心
  • [BT]BUUCTF刷题第9天(3.27)
  • [C++]类和对象(中)
  • [C++]拼图游戏
  • [C++打怪升级]--学习总目录
  • [CocosCreator]Android的增加AndroidX的动态权限