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

如何在GCP中通过告警触发执行云代码仓库中的脚本

实现GCP告警触发自动执行云代码仓库脚本的操作步骤

前置准备

  • 确认待执行脚本已经上传到你使用的云代码仓库(支持GCP Cloud Source Repositories、GitHub、GitLab等),脚本本身无语法错误,敏感信息已通过 Secrets Manager 等方式管理,没有硬编码
  • 提前开启项目的Monitoring API、Cloud Functions API、Cloud Build API、Cloud Logging API,操作账号拥有对应资源的编辑权限
  • 确认脚本执行时需要调用的云资源权限已经提前规划好,后续会配置给Cloud Function的服务账号

步骤1:创建中转用Pub/Sub Topic

进入Pub/Sub控制台,新建一个专用Topic,例如命名为alert-trigger-topic,后续告警通知和函数触发都会通过这个Topic流转。

步骤2:配置用来执行脚本的Cloud Function

  • 新建Cloud Function,触发类型选择「Cloud Pub/Sub」,关联上一步创建的alert-trigger-topic
  • 代码源选择你存放脚本的云代码仓库,指定对应分支、脚本所在的目录路径,按照你脚本的类型选择对应运行时(Python、Node.js、Go等都支持)
  • 在函数的入口逻辑里加入执行脚本的代码,以Python运行时执行Shell脚本为例,参考代码如下:
import subprocess

def execute_alert_script(event, context):
    # 若函数已配置自动同步仓库代码可省略拉取步骤,直接执行脚本即可
    subprocess.run(["bash", "./你的脚本目录/目标脚本.sh"], check=True)
    return "脚本执行完成"
  • 给Cloud Function的默认服务账号分配云代码仓库的读取权限,以及脚本运行需要的其他云资源操作权限
  • 手动触发测试Cloud Function,确认可以正常拉取仓库代码、执行脚本,执行结果符合预期

步骤3:配置告警规则

如果你要配置的是Monitoring指标类告警

  • 进入GCP Monitoring控制台,选择「告警」-「创建政策」
  • 选择你要监控的指标,配置告警触发阈值、持续时间
  • 通知渠道选择第一步创建的alert-trigger-topic,保存告警规则即可

如果你要配置的是Login服务相关的事件类告警

  • 进入Cloud Logging控制台,通过查询语句筛选出你需要监控的Login相关审计日志,例如多次登录失败、非信任IP登录、管理员权限登录等事件
  • 选择「基于查询创建告警」,配置告警触发逻辑,通知目标同样选择第一步创建的alert-trigger-topic,保存即可

验证流程

手动模拟触发告警的条件,查看告警是否正常触发、Cloud Function运行日志是否正常、脚本是否按预期完成执行,若有报错直接查看对应资源的日志排查即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 01:24:03