TiDB Cloud 可观测性最佳实践
TiDB Cloud 介绍
TiDB Cloud 是一个功能齐全的数据库即服务(DBaaS),基于 SQL 标准,用户可以通过 URL 连接。它具备 TiDB 分布式数据库的所有能力,并针对云端的托管模式提供了很多新的企业级特性。
- TiDB Cloud 支持水平扩容或缩容,可按需对计算、存储分别进行在线扩容或者缩容,扩容或者缩容过程对应用运维人员透明。
- 提供行存储引擎 TiKV、列存储引擎 TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft Learner 协议实时从 TiKV 复制数据,确保行存储引擎 TiKV 和列存储引擎 TiFlash 之间的数据强一致。
观测云
观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。
部署 DataKit
DataKit 是一个开源的、跨平台的数据收集和监控工具,由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。
登录观测云控制台,在「集成」-「DataKit」选择对应安装方式,当前采用 Linux 主机部署 DataKit。
采集器配置
- 获取 scrape_config 文件
登陆 TiDB Cloud 控制台,进入 Project Settings 页面,点击页面左侧导航栏的 Integrations ,然后选择 Integration to Prometheus 。
点击 Add File 生成 Scrape_config Files 文件。
- DataKit 采集器配置
采集 TiDB Cloud 的指标,进入 DataKit 安装目录下的 conf.d/prom
,执行以下命令:
cp prom.conf.sample tidbcloud.conf
调整 tidbcloud.conf
内容,主要是调整 urls,如下:
[[inputs.prom]]## Exporter URLs.urls = ["https://tidbcloud.com/public_api/v1/projects/137281308945xxxxxx/metrics?format=Prometheus"]source = "tidbcloud"interval = "10s"[inputs.prom.auth]type = "bearer_token"token = "0596ae4a875d4d09a99177797xxxxxxxx"
注意:
- urls:prometheus指标地址,这里填写对应组件暴露出来的指标 url
- source:采集器别名,建议做区分
- interval:采集间隔
- token: prometheus指标授权 bearer_token
重启 DataKit,即可采集到 TiDB Cloud 指标信息。
关键指标
指标名 | 描述 | 类型 |
---|---|---|
tidbcloud_db_queries_total | 执行的语句总数 | Count |
tidbcloud_db_failed_queries_total | 执行错误总数 | Count |
tidbcloud_db_connections | 服务器的当前连接数 | Count |
tidbcloud_db_query_duration_seconds | 语句的持续时间直方图 | s |
tidbcloud_node_storage_used_bytes | TiKV/TiFlash 节点磁盘使用字节数 | Bytes |
tidbcloud_node_storage_capacity_bytes | TiKV/TiFlash 节点的磁盘容量字节数 | Bytes |
tidbcloud_node_cpu_seconds_total | TiDB/TiKV/TiFlash 节点 CPU 使用率 | % |
tidbcloud_node_cpu_capacity_cores | TiDB/TiKV/TiFlash 节点 CPU 限制核心数 | Count |
tidbcloud_node_memory_used_bytes | TiDB/TiKV/TiFlash 节点已用内存字节数 | Bytes |
tidbcloud_node_memory_capacity_bytes | TiDB/TiKV/TiFlash 节点内存容量字节数 | Bytes |
场景视图
登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “TiDB Cloud”, 选择 “TiDB Cloud”,点击 “确定” 即可添加视图。
监控器(告警)
观测云内置了监控器模板,可以选择从模版创建监控器,并开启适合业务的监控器以及时通知相关成员关注问题,触发条件、频率等信息可以依据实际业务进行调整。
登录观测云控制台,点击「监控」 -「新建监控器」,输入 “TiDB Cloud”, 选择对应的监控器,点击 “确定” 即可添加。
TiDB Cloud 集群实例查询延时过长
TiDB Cloud 集群实例存储不足
TiDB Cloud 集群实例内存使用率过高
总结
通过观测云监控 TiDB Cloud,实时跟踪 QPS、查询延迟、失败语句数与 TiKV/TiFlash 的 CPU、内存、磁盘使用率,可秒级发现性能瓶颈与资源告急;对慢查询、连接数突增、异常错误率设置告警,能先于用户感知并定位故障,保证服务高效运行。