Google Cloud Run自定义指标应写入Cloud Monitoring哪种资源类型?
Cloud Run自定义指标写入Cloud Monitoring的资源类型方案
正确选择:generic_task资源类型
cloud_run_revision是Cloud Monitoring的只读原生资源,不支持写入自定义指标;global资源则不允许添加非标准资源标签。你需要使用generic_task这个可写入的通用资源类型,它既符合Monitoring的写入规范,又能关联Cloud Run的服务和修订版本维度。
示例Go代码实现
Resource: &monitoredrespb.MonitoredResource{ Type: "generic_task", Labels: map[string]string{ "project_id": "你的GCP项目ID", "location": "us-central1", // 替换为你的Cloud Run服务部署区域 "namespace": "cloud_run", // 固定值,标识资源归属Cloud Run "job": "my-service-name", // 填入你的Cloud Run服务名 "task_id": "my-revision-name", // 填入你的Cloud Run修订版本名 "service_name": "my-service-name", // 自定义标签,便于后续筛选指标 "revision_name": "my-revision-name", // 自定义标签,和原生指标维度对齐 }, },
补充方案:使用global资源+指标标签
如果不需要严格绑定资源维度,也可以用global资源,但要把service_name和revision_name放到指标标签里,而非资源标签:
// 资源部分使用global Resource: &monitoredrespb.MonitoredResource{ Type: "global", Labels: map[string]string{ "project_id": "你的GCP项目ID", }, }, // 指标标签部分添加维度 Labels: map[string]string{ "service_name": "my-service-name", "revision_name": "my-revision-name", },
内容的提问来源于stack exchange,提问作者Kirill Lubavsky
相关产品推荐
相关产品推荐

