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、内存、磁盘使用率,可秒级发现性能瓶颈与资源告急;对慢查询、连接数突增、异常错误率设置告警,能先于用户感知并定位故障,保证服务高效运行。

    联系我们

    加入社区

    微信扫码
    加入官方交流群

    立即体验

    在线开通,按量计费,真正的云服务!

    立即开始

    选择观测云版本

    代码托管平台