基于Prometheus的AWS未打标签、低利用率资源识别与CE api应用问询
基于Prometheus指标开展AWS资源治理的实操指引
基于CPU、内存指标识别低利用率(underutilized)资源
- 指标采集与查询逻辑:通过Prometheus配套的AWS Exporter采集全量EC2、容器节点、RDS等可观测资源的运行时指标,固定两个核心评估维度:
- CPU维度:用
rate(node_cpu_seconds_total[7d])按资源ID聚合,计算连续7天非闲置状态的CPU平均利用率,阈值设定为长期低于10%的实例,排除夜间定时批处理类的固有低峰场景,标记为待治理的低利用率资源 - 内存维度:用
(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes)/node_memory_MemTotal_bytes按7天窗口聚合,计算连续7天内存平均利用率低于20%的实例,同步标记进低利用率治理清单
- CPU维度:用
- 校验环节:排除预留实例、绑定固定生产SLA的核心资源,避免误判。
未打标签(untagged)资源的识别方法
- 前置同步:将AWS侧的资源标签元数据通过AWS Exporter同步为Prometheus指标的固有维度标签,覆盖EC2、EBS、RDS、ELB等核心计费资源
- 识别逻辑:在Prometheus查询时,过滤出缺少企业强制治理标签(比如
Owner、CostCenter、Environment)的指标实例,提取对应的AWS资源ID,即为未完成标签打标的待治理资源。
关于调用AWS Cost Explorer(CE)API获取两类资源明细的说明
- 能力覆盖情况:CE API可匹配两类资源的治理需求,但存在明确的能力边界
- 针对低利用率资源:CE API无法直接读取CPU、内存的运行时利用率数据,但可以通过统一的资源ID维度,调用
GetCostAndUsage接口拉取对应资源的累计成本、账单归属项、预留实例抵扣金额,为后续的资源降配、回收动作提供成本核算依据 - 针对未打标签资源:CE API可直接支撑未打标签资源的明细获取:先通过
GetTags接口枚举全量资源的标签键,反向匹配无强制治理标签的资源清单,再拉取这些资源的月度开销、服务归属等明细,用于排序标签补全的优先级
- 针对低利用率资源:CE API无法直接读取CPU、内存的运行时利用率数据,但可以通过统一的资源ID维度,调用
- 注意事项:CE API本身不存储Prometheus采集的运行时指标,两个系统的资源清单无直接打通能力,需要通过统一的AWS资源ID做关联映射,无法直接跨源自动拉取关联数据。
内容的提问来源于stack exchange,提问作者Mohit Maheshwari
相关产品推荐
相关产品推荐

