暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

用TiTop在终端快速观察TiDB集群

原创 monotseng 4天前
44

用TiTop在终端快速观察TiDB集群

TiDB 是一款兼容 MySQL 协议的开源分布式 SQL 数据库,采用计算与存储分离架构。TiDB Server 负责 SQL 解析与执行,TiKV 提供分布式事务型键值存储,PD 负责集群调度和元数据管理。它适合需要水平扩展、高可用和强一致事务的在线业务。

随着集群规模增大,排查问题时往往需要同时观察 SQL 吞吐、节点资源、TiKV 请求和活跃会话。TiTop 是一个面向 TiDB 的轻量级终端监控工具,可以直接查询 Prometheus,并按需连接 TiDB SQL 端口,把常用诊断信息集中在一个终端中,如果企业没有部署TiDB企业版TEM工具是比较缺一个能够同时观察到Prometheus和TiDB SQL层面的趁手方便工具,TiTop便是借鉴和参考Oracle的oratop工具来设计和开发完成的一款终端实时监控工具。

# 仅使用 Prometheus ./titop -m production@10.0.0.10:9090 # 启用 SQL 诊断功能 ./titop -m production@10.0.0.10:9090 \ -u monitor -p 'password'

生产环境建议通过环境变量提供密码,并使用只读、最小权限的专用监控账号。

集群活动概览

首页集中展示 QPS、事务完成速率、P99 延迟、连接数、活跃度、错误率以及 TiDB、TiKV、PD 节点状态。它适合在故障发生时先快速判断问题属于吞吐变化、延迟升高、错误增加,还是组件掉线。

image.png

集群节点

节点面板展示各实例的角色、状态、版本、运行时间、CPU、内存和部分请求指标。节点默认按照异常状态优先、CPU 使用率降序排列,便于快速找到离线或负载较高的实例。

TiTop 集群节点面板
image.png

TiKV 线程池

TiKV 线程池面板展示 Unified Read、Raft Store、Async Apply、gRPC Poll、Storage Read 和 GC Worker 的 CPU 使用情况。某个线程池持续繁忙时,可以结合 TiKV 请求延迟进一步判断读取、Raft、Apply 或 GC 是否成为瓶颈。

TiTop TiKV 线程池面板
image.png

TiKV 请求

请求面板按照请求类型展示 OPS、平均延迟、P99 延迟和时间负载。相比只看请求次数,时间负载更容易发现“请求量不高但单次耗时很长”的异常。

TiTop TiKV 请求面板
image.png

SQL 类型与活跃会话

SQL 面板将语句分为 DML/事务、DDL、管理操作和其他类型,并展示当前正在执行的会话。活跃会话按执行时间降序排列,可查看用户、来源、数据库、Digest、执行时间、内存、临时磁盘空间和 SQL 摘要。

当活跃会话超过终端高度时,TiTop 会优先保留运行时间较长的会话,并自动省略其余内容,不会不断向下堆积造成页面滚动错位。页面也会根据终端宽度切换完整、紧凑或极简布局。

TiTop SQL 类型与活跃会话面板
image.png

Schema Load

Schema Load 面板通过相邻 Statement Summary 快照计算短周期负载,可以观察各 Schema 的 QPS、写入 QPS、平均延迟、错误率、执行时间负载、Keys、Coprocessor Task、Backoff 和事务重试等指标。

这个面板更适合比较“当前哪些默认 Schema 相对更活跃”,不应直接用于计费、审计或精确请求量统计。

TiTop Schema Load Overview
image.png

TiTop Schema Load KV
image.png

错误与陈旧数据

Prometheus 指标采用独立查询。单个指标查询失败时,TiTop 会尽可能保留上一次成功结果,并在错误面板标记采集错误和陈旧时间,避免短暂故障让整个页面全部变成零值。

TiTop 错误与陈旧数据面板

适用场景

TiTop 比较适合以下场景:

  • 日常集群巡检;
  • 压测期间实时观察负载;
  • 故障现场快速定位异常组件;
  • 通过 SSH 在远程终端中监控;
  • 获取一次性文本或 JSON 快照供脚本使用。

TiTop 的定位是快速、轻量的现场观察工具,而不是替代 TiDB Dashboard、Grafana 和 Prometheus 告警体系。日常监控可以依靠 Dashboard 和告警平台,出现问题时再使用 TiTop 把关键指标集中到一个终端中,通过快捷键可以快速的在不同模式下灵活切换观察不同角度状态,两者可以形成很好的互补。

项目地址:https://github.com/monotseng/titop

最后修改时间:2026-09-02 09:42:34
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论