TiDB Cloud 可观测性最佳实践

0 阅读4分钟

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。

1.png

采集器配置

  • 获取 scrape_config 文件

登陆 TiDB Cloud 控制台,进入 Project Settings 页面,点击页面左侧导航栏的 Integrations ,然后选择 Integration to Prometheus 。

2.png

点击 Add File 生成 Scrape_config Files 文件。

3.png

4.png

  • 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_bytesTiKV/TiFlash 节点磁盘使用字节数Bytes
tidbcloud_node_storage_capacity_bytesTiKV/TiFlash 节点的磁盘容量字节数Bytes
tidbcloud_node_cpu_seconds_totalTiDB/TiKV/TiFlash 节点 CPU 使用率%
tidbcloud_node_cpu_capacity_coresTiDB/TiKV/TiFlash 节点 CPU 限制核心数Count
tidbcloud_node_memory_used_bytesTiDB/TiKV/TiFlash 节点已用内存字节数Bytes
tidbcloud_node_memory_capacity_bytesTiDB/TiKV/TiFlash 节点内存容量字节数Bytes

场景视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “TiDB Cloud”, 选择 “TiDB Cloud”,点击 “确定” 即可添加视图。

5.png

6.png

7.png

8.png

监控器(告警)

观测云内置了监控器模板,可以选择从模版创建监控器,并开启适合业务的监控器以及时通知相关成员关注问题,触发条件、频率等信息可以依据实际业务进行调整。

登录观测云控制台,点击「监控」 -「新建监控器」,输入 “TiDB Cloud”, 选择对应的监控器,点击 “确定” 即可添加。

TiDB Cloud 集群实例查询延时过长

9.png

TiDB Cloud 集群实例存储不足

10.png

TiDB Cloud 集群实例内存使用率过高

11.png

总结

通过观测云监控 TiDB Cloud,实时跟踪 QPS、查询延迟、失败语句数与 TiKV/TiFlash 的 CPU、内存、磁盘使用率,可秒级发现性能瓶颈与资源告急;对慢查询、连接数突增、异常错误率设置告警,能先于用户感知并定位故障,保证服务高效运行。