如何获取AWS CodePipeline部署失败次数并添加到CloudWatch Dashboard
这个需求完全可以实现,CodePipeline默认已对接CloudWatch,可通过内置指标快速配置统计组件,具体操作如下:
操作步骤
方法1:使用CodePipeline内置指标(最快实现)
- 打开CloudWatch控制台,进入「仪表盘」页面,打开你需要编辑的目标Dashboard,点击右上角「添加组件」
- 组件类型按需选择:仅展示单日失败总数选「数字」组件,需要展示近N天的趋势选「折线图/柱状图」组件
- 数据源选择「指标」,依次选择命名空间
AWS/CodePipeline-> 维度为「Pipeline」 -> 勾选你要统计的流水线对应的PipelineExecutionFailed指标 - 配置统计规则:
- 统计方式选择
Sum(求和计算周期内的总失败次数) - 统计周期设置为
1天 - 时间范围按需调整,若需展示近30天每日失败数则将时间范围设为过去30天
- 统计方式选择
- 保存组件配置即可完成添加。
如果需要统计单阶段/单操作的失败次数,可选择StageExecutionFailed/ActionExecutionFailed指标,对应选择阶段、操作维度即可。
方法2:使用CloudWatch Logs Insights(支持自定义筛选)
如果需要排除特殊失败场景(比如手动取消的执行、测试环境的临时失败等),可通过日志自定义查询实现:
- 先确认目标CodePipeline已开启日志投递到CloudWatch Logs,可在流水线设置的「日志」选项中配置
- 进入CloudWatch「日志 -> 日志洞察」页面,选择你的流水线对应的日志组,输入如下查询语句:
fields @timestamp, executionId, pipelineName | filter state = 'FAILED' # 替换为你的流水线名称,要统计所有流水线则删除这行 | filter pipelineName = '你的流水线名称' # 可额外添加过滤规则,比如排除指定分支的执行 | stats count(*) as 每日部署失败次数 by bin(1d) as 统计日期 | sort 统计日期 desc
- 点击「运行查询」确认结果符合预期后,点击「添加到仪表盘」即可将该统计组件添加到目标Dashboard。
内容的提问来源于stack exchange,提问作者Tech girl
相关产品推荐
相关产品推荐

