集成 TiDB Cloud 与 Datadog(预览版)
TiDB Cloud 支持 Datadog 集成(预览版)。你可以配置 TiDB Cloud,将关于 TiDB 集群的指标发送到 Datadog。之后,你可以直接在 Datadog 仪表盘中查看这些指标。
Datadog 集成版本
自 2022 年 3 月 4 日起,TiDB Cloud 已支持 Datadog 集成(Beta)。自 2025 年 7 月 31 日起,TiDB Cloud 推出了增强的预览版集成。
- Datadog integration (Preview):如果在 2025 年 7 月 31 日前,你的组织内没有未删除的 Datadog 或 New Relic 集成,TiDB Cloud 将为你的组织提供 Datadog 集成的预览版,以体验最新的增强功能。
- Datadog integration (Beta):如果在 2025 年 7 月 31 日前,你的组织内至少有一个未删除的 Datadog 或 New Relic 集成,TiDB Cloud 将保留现有和新建的集成为 Beta 版本,以避免影响当前的仪表盘。我们也会主动与你联系,讨论合适的迁移方案和时间表。
前提条件
要将 TiDB Cloud 集成到 Datadog,你必须拥有 Datadog 账号和 Datadog API key。首次创建 Datadog 账号时,Datadog 会为你分配一个 API key。
如果你还没有 Datadog 账号,请在 https://app.datadoghq.com/signup 注册。
要为 TiDB Cloud 设置第三方指标集成,你必须在 TiDB Cloud 中拥有
Organization Owner
或Project Owner
权限。要通过提供的链接查看集成页面或访问已配置的仪表盘,你至少需要Project Viewer
角色,以访问 TiDB Cloud 项目下的目标集群。
限制
你不能在 TiDB Cloud Starter 或 TiDB Cloud Essential 集群中使用 Datadog 集成。
当集群状态为 CREATING、RESTORING、PAUSED 或 RESUMING 时,Datadog 集成不可用。
当带有 Datadog 集成的集群被删除时,其关联的集成服务也会被移除。
操作步骤
步骤 1. 使用你的 Datadog API Key 进行集成
根据你的 Datadog 集成版本,访问集成页面的步骤有所不同。
在 TiDB Cloud 控制台中,进入你项目的 Clusters 页面,然后点击目标集群名称,进入其概览页面。
在左侧导航栏,点击 Settings > Integrations。
在 Integrations 页面,点击 Integration to Datadog (PREVIEW)。
输入你的 Datadog API key 并选择你的 Datadog 站点。
点击 Test Integration。
- 如果测试成功,会显示 Confirm 按钮。
- 如果测试失败,会显示错误信息。请根据提示进行排查并重试集成。
点击 Confirm 完成集成。
在 TiDB Cloud 控制台中,使用左上角的下拉框切换到你的目标项目。
在左侧导航栏,点击 Project Settings > Integrations。
在 Integrations 页面,点击 Integration to Datadog (BETA)。
输入你的 Datadog API key 并选择你的 Datadog 站点。
点击 Test Integration。
- 如果测试成功,会显示 Confirm 按钮。
- 如果测试失败,会显示错误信息。请根据提示进行排查并重试集成。
点击 Confirm 完成集成。
步骤 2. 在 Datadog 中安装 TiDB Cloud 集成
登录 Datadog。
进入 Datadog 的 TiDB Cloud Integration 页面。
在 Configuration 标签页,点击 Install Integration。
- 对于 Datadog integration (Preview),TiDB Cloud Dynamic Tracker 仪表盘会出现在你的 Dashboard List 中。
- 对于 Datadog integration (Beta),TiDB Cloud Cluster Overview 仪表盘会出现在你的 Dashboard List 中。
查看预置仪表盘
在 TiDB Cloud 控制台中,进入 Integrations 页面。
在 Datadog 区域点击 Dashboard 链接。
- 对于 Datadog integration (Preview),Dashboard 链接会打开新仪表盘,包含预览版引入的最新指标。
- 对于 Datadog integration (Beta),Dashboard 链接会打开旧版仪表盘,不包含预览版引入的最新指标。
Datadog 可用指标
Datadog 会跟踪你的 TiDB 集群的以下指标。
指标名称 | 指标类型 | 标签 | 描述 |
---|---|---|---|
tidb_cloud.db_database_time | gauge | sql_type: Select|Insert|... cluster_name: <cluster name> instance: tidb-0|tidb-1… component: tidb | 每秒在 TiDB 中运行的所有 SQL 语句消耗的总时间,包括所有进程的 CPU 时间和非空闲等待时间。 |
tidb_cloud.db_query_per_second | gauge | type: Select|Insert|... cluster_name: <cluster name> instance: tidb-0|tidb-1… component: tidb | 所有 TiDB 实例每秒执行的 SQL 语句数量,按语句类型(SELECT 、INSERT 或 UPDATE )统计。 |
tidb_cloud.db_average_query_duration | gauge | sql_type: Select|Insert|... cluster_name: <cluster name> instance: tidb-0|tidb-1… component: tidb | 客户端网络请求发送到 TiDB 与 TiDB 执行后返回给客户端之间的持续时间。 |
tidb_cloud.db_failed_queries | gauge | type: executor:xxxx|parser:xxxx|... cluster_name: <cluster name> instance: tidb-0|tidb-1… component: tidb | 每秒每个 TiDB 实例发生的 SQL 执行错误的错误类型统计(如语法错误、主键冲突等)。 |
tidb_cloud.db_total_connection | gauge | cluster_name: <cluster name> instance: tidb-0|tidb-1… component: tidb | 当前 TiDB 服务器的连接数。 |
tidb_cloud.db_active_connections | gauge | cluster_name: <cluster name> instance: tidb-0|tidb-1… component: tidb | 活跃连接数。 |
tidb_cloud.db_disconnections | gauge | result: ok|error|undetermined cluster_name: <cluster name> instance: tidb-0|tidb-1… component: tidb | 断开连接的客户端数量。 |
tidb_cloud.db_command_per_second | gauge | type: Query|StmtPrepare|... cluster_name: <cluster name> instance: tidb-0|tidb-1… component: tidb | TiDB 每秒处理的命令数,按命令执行结果的成功或失败分类。 |
tidb_cloud.db_queries_using_plan_cache_ops | gauge | cluster_name: <cluster name> instance: tidb-0|tidb-1… component: tidb | 每秒使用 Plan Cache 的查询统计。执行计划缓存仅支持 prepared statement 命令。 |
tidb_cloud.db_transaction_per_second | gauge | txn_mode: pessimistic|optimistic type: abort|commit|... cluster_name: <cluster name> instance: tidb-0|tidb-1… component: tidb | 每秒执行的事务数。 |
tidb_cloud.node_storage_used_bytes | gauge | cluster_name: <cluster name> instance: tikv-0|tikv-1…|tiflash-0|tiflash-1… component: tikv|tiflash | TiKV/TiFlash 节点的磁盘使用量(字节)。 |
tidb_cloud.node_storage_capacity_bytes | gauge | cluster_name: <cluster name> instance: tikv-0|tikv-1…|tiflash-0|tiflash-1… component: tikv|tiflash | TiKV/TiFlash 节点的磁盘容量(字节)。 |
tidb_cloud.node_cpu_seconds_total | count | cluster_name: <cluster name> instance: tidb-0|tidb-1…|tikv-0…|tiflash-0… component: tidb|tikv|tiflash | TiDB/TiKV/TiFlash 节点的 CPU 使用量。 |
tidb_cloud.node_cpu_capacity_cores | gauge | cluster_name: <cluster name> instance: tidb-0|tidb-1…|tikv-0…|tiflash-0… component: tidb|tikv|tiflash | TiDB/TiKV/TiFlash 节点的 CPU 核心数上限。 |
tidb_cloud.node_memory_used_bytes | gauge | cluster_name: <cluster name> instance: tidb-0|tidb-1…|tikv-0…|tiflash-0… component: tidb|tikv|tiflash | TiDB/TiKV/TiFlash 节点已用内存(字节)。 |
tidb_cloud.node_memory_capacity_bytes | gauge | cluster_name: <cluster name> instance: tidb-0|tidb-1…|tikv-0…|tiflash-0… component: tidb|tikv|tiflash | TiDB/TiKV/TiFlash 节点的内存容量(字节)。 |
对于 Datadog integration (Preview),还可用以下附加指标:
指标名称 | 指标类型 | 标签 | 描述 |
---|---|---|---|
tidb_cloud.node_storage_available_bytes | gauge | instance: tidb-0\|tidb-1\|... component: tikv\|tiflash cluster_name: <cluster name> | TiKV/TiFlash 节点可用磁盘空间(字节)。 |
tidb_cloud.node_disk_read_latency | gauge | instance: tidb-0\|tidb-1\|... component: tikv\|tiflash cluster_name: <cluster name> device : nvme.*\|dm.* | 每个存储设备的读延迟(秒)。 |
tidb_cloud.node_disk_write_latency | gauge | instance: tidb-0\|tidb-1\|... component: tikv\|tiflash cluster_name: <cluster name> device : nvme.*\|dm.* | 每个存储设备的写延迟(秒)。 |
tidb_cloud.db_kv_request_duration | gauge | instance: tidb-0\|tidb-1\|... component: tikv cluster_name: <cluster name> type : BatchGet\|Commit\|Prewrite\|... | TiKV 按类型请求的持续时间(秒)。 |
tidb_cloud.db_component_uptime | gauge | instance: tidb-0\|tidb-1\|... component: tidb\|tikv\|tiflash cluster_name: <cluster name> | TiDB 组件的运行时长(秒)。 |
tidb_cloud.cdc_changefeed_latency (AKA cdc_changefeed_checkpoint_ts_lag) | gauge | changefeed_id: <changefeed-id> cluster_name: <cluster name> | changefeed owner 的 checkpoint timestamp 延迟(秒)。 |
tidb_cloud.cdc_changefeed_resolved_ts_lag | gauge | changefeed_id: <changefeed-id> cluster_name: <cluster name> | changefeed owner 的 resolved timestamp 延迟(秒)。 |
tidb_cloud.cdc_changefeed_status | gauge | changefeed_id: <changefeed-id> cluster_name: <cluster name> | Changefeed 状态:-1 : Unknown0 : Normal1 : Warning2 : Failed3 : Stopped4 : Finished6 : Warning7 : Other |
tidb_cloud.resource_manager_resource_unit_read_request_unit | gauge | cluster_name: <cluster name> resource_group: <group-name> | Resource Manager 消耗的读请求单元(RU)。 |
tidb_cloud.resource_manager_resource_unit_write_request_unit | gauge | cluster_name: <cluster name> resource_group: <group-name> | Resource Manager 消耗的写请求单元(RU)。 |
tidb_cloud.dm_task_state | gauge | instance: instance task: task cluster_name: <cluster name> | 数据迁移任务状态: 0: Invalid 1: New 2: Running 3: Paused 4: Stopped 5: Finished 15: Error |
tidb_cloud.dm_syncer_replication_lag_bucket | gauge | instance: instance cluster_name: <cluster name> | 数据迁移的复制延迟(bucket)。 |
tidb_cloud.dm_syncer_replication_lag_gauge | gauge | instance: instance task: task cluster_name: <cluster name> | 数据迁移的复制延迟(gauge)。 |
tidb_cloud.dm_relay_read_error_count | gauge | instance: instance cluster_name: <cluster name> | 从主库读取 binlog 失败次数。 |
tidb_cloud.node_memory_available_bytes | gauge | cluster_name: <cluster name> instance: tidb-0|tidb-1…|tikv-0…|tiflash-0… component: tidb|tikv|tiflash | TiDB/TiKV/TiFlash 节点可用内存(字节)。 |
tidb_cloud.cdc_changefeed_replica_rows | gauge | changefeed_id: <changefeed-id> cluster_name: <cluster name> | TiCDC 节点每秒写入下游的事件数。 |