AI PLAY玩法更新持续收录
← 回到更新流

2026-10-12 · 原文发布日

AWS/GCP云费用异常每日检测与审批

免费n8n模板:每天定时从AWS Cost Explorer拉取按服务和区域的日花费(可选叠加BigQuery里的GCP账单导出),用金额、百分比和z-score阈值发现环比异常,并跳过已记录或被忽略的项。对每条异常抓取CloudTrail写事件作上下文,交给gpt-4o-mini推测根因和建议,Slack告警里带“确认正常/忽略7天”按钮,点击经一次性token webhook校验后把决定写回Google Sheets并同步Slack。

原文要点

来源页面将模板列为免费(云服务、模型和消息用量另计),每天9 AM IST运行:从Google Sheets读阈值与既有Anomaly Log;用AWS Cost Explorer GetCostAndUsage取按服务/区域日花费,可选查BigQuery里GCP账单导出并统一结构。按金额、百分比、z-score阈值找环比异常,跳过已见与被ignore抑制的项;先Slack发一条本次汇总。逐异常抓该区域CloudTrail LookupEvents写事件作上下文,交gpt-4o-mini给可能根因和建议;Slack告警含确认正常/忽略7天按钮,点击经一次性token webhook校验后回写Sheets状态与抑制日期,再同步Slack。

这次做成什么

搭一个可审批的费用异常演练:只用AWS合成两天账单验证阈值、去重、按钮回写;GCP分支先关闭,Slack按钮用测试频道,不保证真实节省金额。

准备什么

  • AWS凭据需能调用Cost Explorer GetCostAndUsage与CloudTrail LookupEvents;角色信任、资源和区域配置以账号实际策略为准
  • Google Sheets含Anomaly Log页和可写OAuth2凭据
  • OpenAI凭据gpt-4o-mini与Slack测试频道ID
  • 公网可达的cost-anomaly-action webhook base URL

具体怎么做

  1. 建日志与阈值

    导入原模板,按其注释建立Anomaly Log并配置阈值与测试频道。下方JSON和CSV是本站独立设计的练习结构,不能直接当作原模板配置导入;逐项映射原模板实际字段。先关闭可选GCP分支,选择自己的演练时区。

  2. 拉取并统一账单

    定时后读取既有异常与抑制记录;AWS Cost Explorer按服务和区域取得日费用,可选GCP分支再读取BigQuery账单导出。把各来源映射到同一练习结构(日期、服务、区域、费用);GCP关闭时不请求BigQuery。

  3. 检测与去重

    本站金额练习规则为:同服务同区域的日费用增加至少20美元且增幅至少35%时进入候选;实际模板的阈值组合以导入逻辑为准。两天账单仅用于金额和百分比演练,不计算z-score。查既有异常和未到期的忽略记录去重,再核对Slack本轮汇总。

  4. 告警、AI解释与审批

    按原模板抓该区域CloudTrail写事件,供模型作为可能原因的线索;事件与费用同时发生不证明因果。Slack提供确认正常和忽略7天操作,经一次性token webhook校验后更新Sheets及Slack。验证无效和重复token不会改表;超时策略要单独查看模板实现。

可直接复制的材料

异常检测配置

本站独立设计的练习结构,字段名和组合规则不代表原模板接口;先按模板实际字段映射,勿直接导入。

{
  "schedule": "daily 09:00 IST per source; choose your test cron",
  "awsEnabled": true,
  "gcpEnabled": false,
  "currency": "USD",
  "minDeltaUsd": 20,
  "minPercent": 35,
  "ignoreDays": 7,
  "slackChannelId": "C0123TEST",
  "webhookBaseUrl": "https://n8n.example.invalid/webhook",
  "anomalyKeyFormat": "service|region|date"
}

Anomaly Log表头CSV

本站合成日志结构;zscore留空表示样本不足,不代表零。列名须与实际模板映射,抑制日期由决策时间计算。

anomaly_key,date,service,region,previous_cost,current_cost,delta_usd,delta_percent,zscore,status,suppress_until,token_used,decided_by,updated_at
AWS Lambda|ap-south-1|2026-10-12,2026-10-12,AWS Lambda,ap-south-1,40.00,78.50,38.50,96.25,,Alerted,,,,

AI根因提示词

本站编写示例;变量表达式需按n8n实际路径调整。

你是云费用值班助手。输入为一条费用异常和CloudTrail写事件。只输出JSON,字段probable_cause、confidence、suggested_actions、evidence_used。只用输入事实;相关事件不证明因果。缺少调用量、账单明细或部署证据时,原因写“尚不能确定”,confidence写low,列出还需核对的资料。建议最多3项,不擅自停止资源。
异常:〈粘贴异常JSON〉
事件:〈粘贴写事件摘要或无事件〉

输入与输出示例

本站虚构演示,非真实账单或审批结果;金额仅练习。

输入

本站合成账单:AWS Lambda在ap-south-1由2026-10-11的40.00美元涨到10-12的78.50美元;无既有异常键,只有一次UpdateFunctionConfiguration事件。假定审批时间为10-12,选择忽略7天。

对应输出

差额78.50−40.00=38.50美元,增幅38.50÷40.00×100%=96.25%,满足本站练习规则。只有两天数据,z-score不可用。原因仍不能确定;配置写事件只是线索,置信度低,应补查调用量与计费明细。忽略决策的预期记录为Ignored、抑制至2026-10-19;一次性token用后不能再次改表,实际字段名以模板为准。

做完检查这些

  • 20美元与35%为本站练习阈值,临界值是否入选须与实际模板逻辑核对
  • 同一异常重复运行不重复生成告警;被忽略项在配置的抑制期内被跳过
  • 两个日费用样本不输出z-score;缺少调用证据时不宣称根因已确定
  • 无效或已使用的一次性token不能改动日志;实际超时规则另查模板

容易卡住的地方

  • AWS权限缺GetCostAndUsage或LookupEvents会分别失败
  • Slack按钮点不通多为webhookBaseUrl非公网
  • GCP未启却配置BigQuery表名会引入凭据错误
  • z-score样本太少会不稳,阈值是策略不是保证

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Detect cloud cost anomalies with AWS Cost Explorer, GCP Billing and GPT-4o-mini
原作者
Rahul Joshi
原始发布日期
2026-10-12T07:36:47.177Z
来源
https://n8n.io/workflows/20793