如何在Prometheus通用Lambda告警规则中添加AWS资源归属标签?
解决方案
1. 确保Prometheus已抓取Lambda的所有者标签
先确认你的AWS监控Exporter(如prometheus-aws-exporter)已配置为抓取Lambda资源的所有者标签(比如你设定的owner或team标签)。配置生效后,aws_lambda_errors_sum指标会自动带上对应的标签(例如owner="team-a")。
2. 修改通用告警规则文件
更新告警规则,将所有者标签纳入聚合维度,并在告警信息中明确展示团队归属:
- name: generic_lambda_alerts rules: - alert: generic_lambda_errors_sum annotations: description: 检测到Lambda函数 {{ $labels.function_name }} 报错,归属团队:{{ $labels.owner }} summary: Lambda函数报错汇总 runbook_url: url expr: |- sum(aws_lambda_errors_sum{cluster_name=~"som-.*-eks"} offset 5m) by (cluster_name, function_name, owner) > 0 for: 0m labels: dashboard_url: url severity: critical project: projectname team: "{{ $labels.owner }}"
关键修改说明:
- 聚合维度扩展:在
sum(...) by (...)中添加owner(或你实际使用的标签名),确保告警按团队、函数、集群维度独立触发。 - 告警信息强化:在
description中加入{{ $labels.owner }},让Teams推送的告警直接显示报错函数所属团队。 - 标签补充:新增
team标签并绑定owner值,方便后续按团队过滤告警或配置针对性路由。
3. 验证配置
- 重启Prometheus加载新规则。
- 查询
aws_lambda_errors_sum指标,确认已包含owner标签。 - 模拟Lambda报错,检查Teams告警是否正确展示团队信息。
内容的提问来源于stack exchange,提问作者Sanjeev
相关产品推荐
相关产品推荐

