用途:为 CockroachDB Cloud 集群配置日志与指标导出,将集群日志、审计日志和性能指标投递到外部监控服务,支持 AWS CloudWatch、GCP Cloud Logging 及 Datadog。
主要能力:设置日志导出到 CloudWatch 或 GCP Cloud Logging;配置指标导出到 CloudWatch 或 Datadog;验证 SQL 审计日志是否导出到外部接收端;排查日志导出错误或日志缺失;估算日志量对应的 CloudWatch 或日志服务成本;通过 Terraform 配置日志导出。
前提条件:需要 CockroachDB Cloud Advanced 计划(Basic 或 Standard 不支持日志导出);ccloud CLI 已认证且具备 Cluster Admin 角色;AWS 需创建 CloudWatch 日志组并配置授予跨账户访问的 IAM 角色,GCP 需启用 Cloud Logging API 并配置具有 Logs Writer 角色的服务账号;集群 ID 可通过 ccloud cluster list 获取。可用 ccloud auth whoami 和 ccloud cluster info <cluster-name> -o json 验证访问权限,检查 "plan": "ADVANCED"。
使用方式:先确定日志导出目标(AWS CloudWatch 或 GCP Cloud Logging)和指标导出目标(CloudWatch、Datadog 或跳过)。AWS 日志导出需创建日志组、设置保留策略、创建 IAM 角色,然后执行 ccloud cluster log-export create <cluster-id> --log-group-name cockroachdb-<cluster-name> --auth-principal <iam-role-arn> --type AWS_CLOUDWATCH --region <aws-region>。GCP 日志导出需启用 API、授予服务账号 Logs Writer 角色,再执行 ccloud cluster log-export create <cluster-id> --auth-principal <gcp-project-id> --type GCP_CLOUD_LOGGING。指标导出到 CloudWatch 使用 ccloud cluster metric-export create cloudwatch <cluster-id> --role-arn <iam-role-arn> --target-region <aws-region>;到 Datadog 使用 ccloud cluster metric-export create datadog <cluster-id> --api-key <datadog-api-key> --site <datadog-site>,site 可选 datadoghq.com、datadoghq.eu、us3.datadoghq.com、us5.datadoghq.com。
验证与限制:用 ccloud cluster log-export list <cluster-id> -o json 和 ccloud cluster metric-export list <cluster-id> -o json 检查状态应为 ENABLED;可在 CloudWatch 中查看日志流和最近事件。审计日志需集群已启用 SQL 审计日志才会包含在导出中,可用 SHOW CLUSTER SETTING sql.log.admin_audit.enabled; 和 SHOW CLUSTER SETTING sql.log.user_audit; 确认。初始日志投递需等待 5-10 分钟。Terraform 已知问题:在同一次 apply 中创建集群并配置日志导出与 CMEK 可能引发竞态条件,应先创建集群,再在后续 apply 中添加日志导出和 CMEK 配置。成本方面,每节点每天可能产生 1-10 GB 日志,CloudWatch Logs 约 $0.50/GB 摄取加 $0.03/GB/月存储(因区域而异),建议设置保留策略。不要在日志导出启用时删除 CloudWatch 日志组或先撤销 IAM 权限;回滚可用 ccloud cluster log-export delete <cluster-id> 及 ccloud cluster metric-export delete cloudwatch/datadog <cluster-id>,重新启用后仅导出新日志,历史日志不会重发。