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

如何创建CloudWatch指标监控可用状态的EBS卷?

监控可用状态EBS卷数量的替代方案

需求背景

需要创建指标追踪所有处于可用状态的EBS卷,且支持配置告警(当前通过Lambda+CloudWatch日志+Log Insights的方案无法为图表配置告警),现有方案可行但需更适合告警场景的替代实现方式。

现有实现方案(中文整理)

  • 创建Lambda函数查询所有EBS卷信息,将卷状态数据发送至CloudWatch日志组
  • 通过Log Insights执行以下查询过滤统计可用状态卷数量:
parse @message "Volume ID: *, Volume State: *" as volumeId, volumeState
| filter volumeState == "available"
| stats count(*) as availableVolumes by bin(5m)

Lambda发送到日志组的示例内容:

  • Volume ID: vol-xxxxxx, Volume State: in-use
  • Volume ID: vol-xxxxxa, Volume State: Available

替代方案

方案一:直接上报CloudWatch自定义指标(推荐,原生支持告警)

不用把数据输出到日志,直接在Lambda里统计并上报指标:

  1. 给Lambda角色添加cloudwatch:PutMetricData权限
  2. 在Lambda中调用EC2 API查询所有EBS卷,统计状态为available的卷数量
  3. 调用CloudWatch的PutMetricData接口,指定命名空间(比如EBS/VolumeStates)、指标名AvailableVolumes,把统计值传进去,还可以添加Region等维度
  4. 之后直接在CloudWatch控制台基于这个自定义指标创建仪表盘组件和告警规则(比如当可用卷数量超过阈值时触发告警)

方案二:用Amazon Config规则生成指标

借助配置合规工具来实现:

  1. 创建Amazon Config规则,规则逻辑为检测EBS卷状态是否为available
  2. 配置规则将匹配的资源计数导出为CloudWatch指标
  3. 基于该指标配置仪表盘和告警,同时还能享受Config的合规审计功能

方案三:EventBridge触发Lambda+自定义指标

和方案一逻辑类似,但触发方式换为EventBridge:

  1. 在EventBridge中创建定时规则(比如每5分钟触发一次)
  2. 规则触发Lambda函数,Lambda执行EBS卷查询、统计可用数量
  3. 直接上报CloudWatch自定义指标,后续配置仪表盘和告警

现有方案的核心问题

Log Insights的查询结果属于日志分析结果,不是标准的时间序列指标,因此无法直接基于它配置阈值告警,这也是需要替换方案的核心原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 20:55:12