github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/docs/ticdc-grafana-dashboard.md (about)

     1  ---
     2  title: TiCDC 重要监控指标详解
     3  ---
     4  
     5  <!--
     6  
     7  How to obatin pictures in this document?
     8  
     9  1. Deploy two cluster
    10  
    11   upstream: 1 TiDB, 1 PD, 4 TiKV and 2 TiCDC
    12   upstream: 1 TiDB, 1 PD and 1 TiKV
    13  
    14  2. Create changefeed
    15  
    16      ```sh
    17      tiup cdc cli --pd=http://172.16.5.33:47902 changefeed create \
    18          --sink-uri="mysql://root:@172.16.5.33:48004/" \
    19          --changefeed-id="simple-replication-task"
    20      ```
    21  
    22  3. Run TPCC
    23  
    24      ```sh
    25      go-tpc -H 172.16.5.33 -P 47904 -U root -D test tpcc prepare --warehouses 30 && \
    26          go-tpc -H 172.16.5.33 -P 47904 -U root -D test tpcc run --warehouses 30
    27      ```
    28  
    29  -->
    30  
    31  # TiCDC 重要监控指标详解
    32  
    33  使用 TiUP 部署 TiDB 集群时,一键部署监控系统 (Prometheus & Grafana),监控架构参见 [TiDB 监控框架概述](https://docs.pingcap.com/zh/tidb/stable/tidb-monitoring-framework)。
    34  
    35  对于日常运维,我们通过观察 TiCDC 面板上的 Metrics,可以了解 TiCDC 当前的状态。
    36  
    37  以下为 TiCDC Dashboard 监控说明 :
    38  
    39  - Server : TiDB 集群中 TiKV 节点和 TiCDC 节点的概要信息
    40  - Changefeed : TiCDC 同步任务的详细信息
    41  - Events : TiCDC 内部数据流转的详细信息
    42  - Unified Sorter : TiCDC 中内存和外存融合的排序器的相关的详细信息
    43  - TiKV : TiKV 中和 TiCDC 相关的详细信息
    44  
    45  ![TiCDC Dashboard - Overview](/docs/media/dashboard/overview.png)
    46  
    47  ## Server
    48  
    49  - Uptime : TiKV 节点和 TiCDC 节点已经运行的时间
    50  - Goroutine count : TiCDC 节点 Goroutine 的个数
    51  - Open FD count : TiCDC 节点打开的文件句柄个数
    52  - Ownership : TiCDC 集群中节点的当前状态
    53  - Ownership history : TiCDC 集群中 Owner 节点的历史记录
    54  - CPU usage : TiCDC 节点使用的 CPU
    55  - Memory usage : TiCDC 节点使用的内存
    56  - Etcd health check duration :TiCDC 节点访问 PD 的延迟统计
    57  
    58  ![TiCDC Dashboard - Server metrics](/docs/media/dashboard/server.png)
    59  
    60  ## Changefeed
    61  
    62  - Changefeed table count : 一个同步任务中分配到各个 TiCDC 节点同步的数据表个数
    63  - Processor resolved ts : TiCDC 节点内部状态中已同步的时间点
    64  - Table resolved ts : 同步任务中各数据表的同步进度
    65  - Table count maintained by owner: 同步任务中由 owner 管理的表数量和状态
    66  - Changefeed checkpoint : 同步任务同步到下游的进度,正常情况下绿柱应和黄线相接
    67  - PD etcd requests/s : TiCDC 节点每秒读写 PD 的次数
    68  - Exit error count : 每分钟导致同步中断的错误的发生次数
    69  
    70  ![TiCDC Dashboard - Changefeed metrics 1](/docs/media/dashboard/changefeed-1.png)
    71  
    72  - Changefeed checkpoint lag : 同步任务上下游数据的进度差(以时间计算)
    73  - Changefeed resolved ts lag : TiCDC 节点内部同步状态与上游的进度差(以时间计算)
    74  - Sink write duration : TiCDC 将一个事务的更改写到下游的耗时直方图
    75  - Sink write duration percentile: 每秒钟中 95%,99% 和 99.9% 的情况下,TiCDC 将一个事务的更改写到下游所花费的时间
    76  
    77  ![TiCDC Dashboard - Changefeed metrics 2](/docs/media/dashboard/changefeed-2.png)
    78  
    79  - Sink write rows count/s : TiCDC 每秒写入下游的行数
    80  - Sink write batch size percentile : TiCDC 写入下游的 batch size
    81  - Flush sink duration : TiCDC 异步刷写下游的耗时直方图
    82  - Flush sink duration percentile: 每秒钟中 95%,99% 和 99.9% 的情况下,TiCDC 异步刷写下游所花费的时间
    83  
    84  ![TiCDC Dashboard - Changefeed metrics 3](/docs/media/dashboard/changefeed-3.png)
    85  
    86  - MySQL sink conflict detect duration : MySQL 写入冲突检测耗时直方图
    87  - MySQL sink conflict detect duration percentile : 每秒钟中 95%,99% 和 99.9% 的情况下,MySQL 写入冲突检测耗时
    88  - MySQL sink worker load : TiCDC 节点中写 MySQL 线程的负载情况
    89  
    90  ![TiCDC Dashboard - Changefeed metrics 4](/docs/media/dashboard/changefeed-4.png)
    91  
    92  ## Events
    93  
    94  - Eventfeed count : TiCDC 节点中 Eventfeed RPC 的个数
    95  - Event size percentile : 每秒钟中 95% 和 99.9% 的情况下,TiCDC 收到的来自 TiKV 的数据变更消息大小
    96  - Eventfeed error/m : TiCDC 节点每分钟 Eventfeed RPC 遇到的错误个数
    97  - KV client receive events/s : TiCDC 节点中 KV client 模块每秒收到来自 TiKV 的数据变更个数
    98  - Puller output events/s : TiCDC 节点中 Puller 模块每秒输出到 Sorter 模块的数据变更个数
    99  - Sink flush rows/s : TiCDC 节点每秒写到下游的数据变更的个数
   100  
   101  ![TiCDC Dashboard - Events metrics 1](/docs/media/dashboard/events-1.png)
   102  
   103  - Puller buffer size : TiCDC 节点中缓存在 Puller 模块中的数据变更个数
   104  - Entry sorter buffer size : TiCDC 节点中缓存在 Sorter 模块中的数据变更个数
   105  - Sink/Mounter buffer size : TiCDC 节点中缓存在 Buffer Sink 模块和 Mounter 模块中的数据变更个数
   106  - Sink row buffer size : TiCDC 节点中缓存在 Sink 模块中的数据变更个数
   107  - Entry sorter sort duration : TiCDC 节点排序数据变更的耗时直方图
   108  - Entry sorter sort duration percentile : 每秒钟中 95%,99% 和 99.9% 的情况下,TiCDC 排序数据变更所花费的时间
   109  
   110  ![TiCDC Dashboard - Events metrics 2](/docs/media/dashboard/events-2.png)
   111  
   112  - Entry sorter merge duration : TiCDC 节点合并排序后的数据变更的耗时直方图
   113  - Entry sorter merge duration percentile : 每秒钟中 95%,99% 和 99.9% 的情况下,TiCDC 合并排序后的数据变更所花费的时间
   114  - Mounter unmarshal duration : TiCDC 节点解码的数据变更的耗时直方图
   115  - Mounter unmarshal duration percentile : 每秒钟中 95%,99% 和 99.9% 的情况下,TiCDC 解码数据变更所花费的时间
   116  
   117  ![TiCDC Dashboard - Events metrics 3](/docs/media/dashboard/events-3.png)
   118  
   119  - KV client dispatch events/s : TiCDC 节点内部 KV client 模块每秒分发数据变更的个数
   120  - KV client batch resolved size : TiKV 批量发给 TiCDC 的 resolved ts 消息的大小
   121  
   122  ![TiCDC Dashboard - Events metrics 4](/docs/media/dashboard/events-4.png)
   123  
   124  ## Unified Sorter
   125  
   126  - Unified Sorter intake rate: Unified Sorter 从 puller 消费消息的速率 (events / s)
   127  - Unified Sorter event output rate: Unified Sorter 排序后的消息的输出速率 (events / s)
   128  - Unified Sorter on disk data size: Unified Sorter 暂存在硬盘上的数据大小 (bytes)
   129  - Unified Sorter in-memory data size: Unified Sorter 暂存在内存中的数据大小 (bytes)
   130  
   131  ![TiCDC Dashboard - Unified Sorter metrics 1](/docs/media/dashboard/unified-sorter-1.png)
   132  
   133  - Unified Sorter flush sizes: Unified Sorter 的堆排序器 (heapSorter) 的单次排序操作处理的消息数量 (events)
   134  - Unified Sorter merge size: Unified Sorter 的归并器 (merger) 的单批次中处理的消息数量 (events)
   135  
   136  ![TiCDC Dashboard - Unified Sorter metrics 2](/docs/media/dashboard/unified-sorter-2.png)
   137  
   138  ## TiKV
   139  
   140  - CDC endpoint CPU : TiKV 节点上 CDC endpoint 线程使用的 CPU
   141  - CDC worker CPU : TiKV 节点上 CDC worker 线程使用的 CPU
   142  - Min resolved ts : TiKV 节点上最小的 resolved ts
   143  - Min resovled region : TiKV 节点上最小的 resolved ts 的 region ID
   144  - Resolved ts lag duration percentile : TiKV 节点上最小的 resolved ts 与当前时间的差距
   145  
   146  ![TiCDC Dashboard - TiKV metrics 1](/docs/media/dashboard/tikv-1.png)
   147  
   148  - Initial scan duration : TiKV 节点与 TiCDC 建立链接是增量扫的耗时直方图
   149  - Initial scan duration percentile : 每秒钟中 95%,99% 和 99.9% 的情况下,TiKV 节点增量扫的耗时
   150  - Memory without block cache : TiKV 节点在减去 RocksDB block cache 后使用的内存
   151  - CDC pending bytes in memory : TiKV 节点中 CDC 模块使用的内存
   152  - Captured region count : TiKV 节点上捕获数据变更的 region 个数
   153  
   154  ![TiCDC Dashboard - TiKV metrics 2](/docs/media/dashboard/tikv-2.png)