You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询在Google Cloud Run Cron Job中推送自定义指标的方法

在Google Cloud Run Cron Job中推送自定义指标的方案

Cloud Run Job是一次性执行任务,没有持续运行的端点供Prometheus抓取,直接将自定义指标推送到Google Cloud Monitoring(原Stackdriver)是最优方案,无需额外配置推送URL,以下是具体实现步骤:

1. 配置IAM权限

给Cloud Run Job使用的服务账号添加Monitoring Metric Writer角色,确保任务有权限向Cloud Monitoring写入指标:

  • 进入Cloud Run控制台,找到目标Job,查看其使用的服务账号
  • 进入IAM控制台,找到该服务账号,添加角色Monitoring > Monitoring Metric Writer

2. 使用官方客户端库推送指标

Google提供了多语言的Cloud Monitoring客户端库,直接在任务代码中集成即可,客户端会自动通过Cloud Run环境的应用默认凭据(ADC)完成认证,无需手动配置密钥。

Python示例

首先安装依赖:

pip install google-cloud-monitoring

在任务代码中添加指标推送逻辑:

import os
import datetime
from google.cloud import monitoring_v3

def push_custom_metric():
    client = monitoring_v3.MetricServiceClient()
    project_id = os.environ.get("GOOGLE_CLOUD_PROJECT")
    project_name = f"projects/{project_id}"

    # 自定义指标类型(首次推送会自动在Cloud Monitoring中创建)
    metric_type = "custom.googleapis.com/my_job/balance_check_count"
    execution_id = os.environ.get("CLOUD_RUN_EXECUTION", "unknown")

    # 构造时间序列数据
    series = monitoring_v3.TimeSeries()
    series.metric.type = metric_type
    series.resource.type = "cloud_run_job"
    series.resource.labels["job_name"] = "myjob-test-balance"
    series.resource.labels["execution_id"] = execution_id

    # 添加指标数值(以计数器为例,记录任务执行次数)
    point = monitoring_v3.Point()
    point.value.int64_value = 1
    now = monitoring_v3.Timestamp()
    now.FromDatetime(datetime.datetime.now(tz=datetime.timezone.utc))
    point.interval.end_time = now
    series.points.append(point)

    # 推送指标到Cloud Monitoring
    client.create_time_series(name=project_name, time_series=[series])

# 在任务核心逻辑执行完成后调用
push_custom_metric()

3. 自定义指标设计建议

  • 指标类型:根据需求选择gauge(记录瞬时值,比如余额数值)或counter(记录累计值,比如处理成功次数)
  • 标签维度:可以将CLOUD_RUN_EXECUTION、CLOUD_RUN_TASK_INDEX等环境变量作为标签,方便后续在监控面板中筛选不同任务实例的数据

4. 验证指标推送结果

推送完成后,进入Cloud Monitoring控制台:

  • 打开「指标资源管理器」
  • 在指标列表的「自定义」分类下找到目标指标,即可查看推送的指标数据

内容的提问来源于stack exchange,提问作者Simson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 06:20:02