跳到主要内容
版本:Dev

模型定价

控制面根据观测到的用量,以及上游服务提供方和模型对应的价格计算请求成本。大多数模型按 Token 数量计费,按时长计费的模型则根据音频长度计费。当模型没有目录价格,或组织使用不同费率时,请配置定价覆盖。价格还可以按输入长度分档或按服务档位设置,路由模型也可以设置自己的模型组价格和低峰折扣。

定价会影响 Usage 中显示的支出和预算评估的总额。提示词和补全费率还可能影响 least_cost 路由组中的目标排序。定价不会改变上游服务提供方收取的费用。

选择组织币种​

每个组织的所有金额都使用同一种币种记录:美元(USD,默认)或人民币(CNY)。组织所有者和管理员在 Settings → Currency 中选择,详见组织币种。

价格按组织币种手动录入。AISIX 没有汇率,不做任何换算:

  • models.dev 价格目录以美元计价,因此只对美元组织生效。在人民币组织中,目录价格在任何地方都不使用:不用于请求计费,不用于 least_cost 目标排序,不作为模型表单中的价格提示,也不出现在 Model pricing 页面的 Catalog 页签中。组织没有定价的模型就没有价格,其请求不记录费用,least_cost 也会把它排在最后。请为在用的每个模型设置价格。
  • 切换币种不会换算已记录的历史数据。用量费用、预算上限、预算支出和价格都保持原数值,此后按新币种解读。
  • Admin API 字段名保留 _usd 后缀,例如 prompt_usd_per_1m、cost_usd 和 limit_usd,但数值是组织币种。GET /model_pricing 在 currency 字段中返回该币种。

组织币种还会出现在 AISIX 报告金额的所有位置:控制台中的金额、预算拒绝消息、预算告警通知、告警 Webhook 文档的 currency 字段,以及 AISIX Enterprise 组织备份的 currency 列。

AISIX 如何解析价格​

AISIX 会直接应用配置费率,不添加隐藏乘数。每个用量事件都会按精确的 (provider, model name) 组合解析价格:

  1. 与服务提供方和模型名称匹配的组织覆盖价格优先。
  2. 否则,在美元组织中,AISIX 使用 models.dev 中匹配的目录默认价格。人民币组织跳过这一步。
  3. 如果两者都不匹配,用量事件会保留上报的用量,但支出记录为零。

之后还有四条规则会调整结果:

  • 发往带模型组价格的路由模型的请求,改按模型组价格计费,例外情况见该节。
  • 生效的价格带有服务档位价格,且其中某个条目列出了上游报告的实际处理档位时,该条目的费率替换价格的基础 Token 费率。
  • 发往带低峰折扣的路由模型、且在其时段内完成的请求,费用乘以折扣系数。
  • 由网关响应缓存应答的请求费用为 0,无论请求发往的是直连、嵌入还是路由模型。其用量事件仍保留重放的 Token 计数和缓存节省计数。较早版本的控制面会对直连模型的缓存命中按模型全价计费。

目录刷新行为取决于定价同步的配置。在线模式下,控制面会在启动时及之后每隔 24 小时刷新目录。如果刷新失败且目录仍为空,例如宿主机无法访问 models.dev,控制面会加载镜像内置的目录快照,之后成功刷新时再更新目录。已有目录不会被快照替换。刷新只会写入价格发生变化的目录行,因此 Model pricing 页面中目录行的 Updated 时间表示价格最后变更的时间,而非目录最后刷新的时间。默认情况下,即使可以访问互联网,AISIX Enterprise Docker Compose 部署包也会在启动时加载内置目录快照。若要为该部署包启用在线同步,请参阅定价目录。

对于匹配的价格,AISIX 会分别计算 Token 成本和时长成本,再将两者相加。Token 定价使用提示词和补全费率,并采用下文所述的缓存和推理回退规则。只有当事件上报了音频时长且 Audio per minute 不为零时,才会计入时长成本。

成本在记录用量事件时计算,并与事件一起保存。修改价格只影响修改后记录的事件,不会重新计算历史事件的价格。

以控制面记录的成本为准。网关只为 Realtime 会话和 Batch 作业自行估算成本,按目标模型的固定输入和输出费率计算,不含分档、服务档位价格、模型组价格和低峰折扣;尽管名称带 usd,数值是组织币种。该估算出现在这些用量事件的 cost_usd 中,Realtime 会话的估算还会计入 aisix_llm_spend_micro_usd_total 指标。其他请求从网关带出的成本都是 0。

推理 Token 如何计费​

上游统计推理 Token 的方式有两种。例如 OpenAI 把推理计入 completion_tokens,再单独标出其中的推理部分;而 Vertex AI 适配器上的 Gemini 可能把思考 Token 报告在补全之外。用量事件按上游上报的原样保存这些计数,因此控制面会针对每个事件,依据上游自己上报的总数(total_tokens)判断适用哪种口径:

  • 推理在补全之外。 当 total_tokens 和 reasoning_tokens 都大于零,且 total_tokens 等于提示词 + 补全 + 推理 Token 之和、而不等于提示词 + 补全 Token 之和时适用。此时全部 completion_tokens 按补全费率计费,全部 reasoning_tokens 按推理费率计费。
  • 推理在补全之内。 其他所有事件(包括所有没有上报总数的事件)都按这种方式计价:reasoning_tokens 按推理费率计费,completion_tokens 的剩余部分(不低于零)按补全费率计费。因此,上报的推理多于补全的上游,只按其上报的推理 Token 计费,不会多收。

无论哪种口径,没有单独推理费率的模型都按补全费率计算推理 Token。例如,下面两个事件都是 20 个 Token 按补全费率、30 个 Token 按推理费率计费:

上游提示词补全推理上报总数口径
Vertex AI 上的 Gemini1002030150推理在补全之外
OpenAI1005030150推理在补全之内

缓存输入同样按上报原样记录。当 cached_prompt_tokens 超过 prompt_tokens 时,未缓存输入按零计费,而不会出现负数。

1.4.0 及更早版本的网关不上报 total_tokens,因此其事件按第二条规则计价,与以前完全一致。在更新版本的网关上,/v1/messages 和 /v1/completions 会像 /v1/chat/completions 一样记录 reasoning_tokens 和 total_tokens,因此到达这两个端点的推理 Token 会按模型的推理费率计费。1.4.0 及更早版本的网关在这两个端点上不记录推理计数。各计数的含义请参阅记录的 Token 计数。

查看使用中的价格​

Model pricing 页面默认打开 In use 页签,列出各环境中模型实际调用的模型的价格,以及组织自己设置的全部价格:

  • Prices in use 列出直连或嵌入模型指向的每个已定价 (provider, model name) 组合。模型名称为 * 模板的模型不会列出,因为它没有指向具体的模型。
  • In use without a price 列出使用中但没有价格的组合。在选择 Set price 并填写价格之前,对这些模型的请求不记录费用。在人民币组织中,组织未定价的所有在用组合都会出现在这里。
  • Model groups 列出带模型组价格或低峰折扣的路由模型,需要在模型组上编辑。

Catalog 页签显示全部价格,包括目录默认价格。在人民币组织中,它只按服务提供方列出模型名称,不显示目录价格,方便找到模型并为其设置价格。

在 Admin API 中,GET /model_pricing?view=in_use 返回同样的视图:已定价组合在 data 中,未定价组合在 unpriced 中,模型组在 model_groups 中。分页只作用于 data。

识别缺失的价格​

先在请求日志中展开事件。请求日志会以六位小数显示每个用量事件或路由尝试的成本;聚合 Usage 视图会把支出四舍五入到两位小数,并且只显示前 10 个环境/模型组合。因此,看到支出为零或模型未出现在 Usage 中,并不能证明定价缺失。对于价格很低的请求,应产生足够的 Token 用量后再判断。

以下情况可能缺少目录价格:

  • 模型运行在 models.dev 未定价的自托管或转售商上游中。
  • 配置的模型名称是自定义别名。
  • 服务提供方提供了较新的模型,但目录尚未在该服务提供方名下收录该模型。

在人民币组织中,缺少价格通常意味着组织还没有为该模型定价,因为目录价格不适用。请查看 In use 页签中的 In use without a price。

添加覆盖项前,请准确记录模型配置中的服务提供方和模型名称。任一值不同,定价行都不会匹配用量事件。

添加价格覆盖项​

  1. 从组织导航中打开 Model pricing。
  2. 选择 Add pricing。
  3. 按模型配置中的值准确填写 Provider 和 Model name。成本会按这一服务提供方与模型名称组合匹配用量事件,因此不匹配的值不会生效。Provider 字段会建议已知目录服务提供方,但也可以输入任意值,包括自定义值。
  4. 根据服务提供方的计费依据进行配置。所有费率均为组织币种:
    • 对于按 Token 计费的模型,输入每 1M Token 的 Prompt 和 Completion 费率,并将 Audio per minute 保持为 0。
    • 对于按时长计费的语音转文本模型,将 Token 费率保持为 0,并输入每分钟音频的 Audio per minute 费率,例如 0.006。
  5. 对于按 Token 计费的模型,可选:分别设置 Cache read、Cache write、One-hour cache write 和 Reasoning 费率。如果要按输入长度定价而不是使用单一费率,选择 Price by input-token tier,详见按输入 Token 分档定价。
  6. 如果要让以快速或优先档位处理的请求按各自的费率计费,在 Service tier prices (optional) 中添加,详见按服务档位定价。
  7. 保存覆盖项。

缓存和推理费率用于为上游的提示词缓存读取、提示词缓存写入和推理 Token 定价。留空(在 Admin API 中为 null)表示回退:缓存 Token 按提示词费率计费,推理 Token 按补全费率计费。只有要让该类 Token 免费时才填写 0。每个价格档位和模型组价格都使用同样的费率集和回退规则。

Cache write 是 5 分钟写入的费率。用量事件会单独记录 1 小时写入(见按有效期的拆分),其计费方式如下:

  • 价格设置了 One-hour cache write 费率(Admin API 中为 cache_write_1h_usd_per_1m)时,按该费率计费。它只作用于基础费率,即第一个输入 Token 档位:更高的输入 Token 档位和服务档位条目不会使用它。
  • 否则,对于 Anthropic、Amazon Bedrock 或 Google Vertex AI 提供的 Claude 模型,按当前生效输入费率的 2 倍计费,包括请求所选输入 Token 档位或服务档位条目的输入费率。这与这些服务提供方对 1 小时写入的收费方式一致。AISIX 根据价格的服务提供方(anthropic、amazon-bedrock、google-vertex 或 google-vertex-anthropic)以及包含 claude(不区分大小写)的模型名称来识别这类模型。模型名称不含 claude 的,例如 Bedrock 应用推理配置文件 ARN,不会被识别为 Claude。
  • 其余情况按 Cache write 费率计费。这涵盖其他所有模型、经 Azure AI Foundry 或转售商提供的 Claude、按模型组价格计费的请求,以及决策端点上的请求;在决策端点上,决策端点的缓存写入费率也会替代 1 小时费率。

上游没有按有效期拆分的写入,全部按 Cache write 费率计费。

按输入 Token 分档定价​

部分服务提供方对长请求收取更高的费率。分档价格按请求输入的大小选择费率:

  • 输入大小是请求的输入 Token,包括缓存读取和缓存写入。输出长度不会改变档位。
  • 每个档位有一个含边界的 Up to (input tokens, inclusive) 上限,各档上限逐档递增。最后一档没有上限,覆盖所有更大的请求。分档价格至少有两档。
  • 整个请求按上限能覆盖其输入的第一个档位的费率计费。分档不是累进计价:输入比第一档上限多一个 Token 的请求,所有 Token 都按第二档费率计费。
  • 每个档位都有完整的费率集:提示词、补全、缓存读取、缓存写入和推理。
  • 价格的顶层费率等于第一档费率,least_cost 路由按顶层费率对目标排序。

例如,第一档上限为 200000 个输入 Token、第二档不设上限时,一个包含 150,000 个未缓存输入 Token 和 60,000 个缓存读取 Token 的请求,输入大小为 210,000 个 Token,因此整个请求(包括输出)都按第二档费率计费。

在 USD 组织中,目录价格带有 models.dev 为该模型发布的长上下文分档价,并随目录一起刷新。目录的基础费率成为第一档,上限为第一个阈值(含);每个发布的阈值开始下一档,最高档没有上限。档位选择规则与上文相同:整个请求按其输入跨入的档位计费,输入恰好等于阈值的请求仍留在较低档位。未发布缓存读取、缓存写入或推理费率的目录档位沿用第一档的对应费率,因此长上下文的缓存读取不会按完整输入费率计费。模型的目录分档无法表示时,其目录价格保持不分档。组织覆盖价会替换整条目录价格,包括分档。

在 Add pricing 对话框中选择 Price by input-token tier,然后编辑每个档位的上限和费率,按需使用 Add tier 或 Remove tier。分档的定价行在 Model pricing 页面上显示档数标记。取消该选项后,第一档重新成为不分档价格。

在 Admin API 中,将档位作为 PUT /model_pricing/precise 或 PUT /model_pricing 的 tiers 数组发送。顶层费率必须等于第一档费率,否则请求会被拒绝。null 表示不分档价格:

{
"provider": "google",
"model_name": "gemini-2.5-pro",
"prompt_usd_per_1m": 1.25,
"completion_usd_per_1m": 10,
"cache_read_usd_per_1m": 0.31,
"tiers": [
{"max_input_tokens": 200000, "prompt_usd_per_1m": 1.25, "completion_usd_per_1m": 10, "cache_read_usd_per_1m": 0.31},
{"max_input_tokens": null, "prompt_usd_per_1m": 2.5, "completion_usd_per_1m": 15, "cache_read_usd_per_1m": 0.625}
]
}

决策端点单价和 Audio per minute 不分档,它们作用在请求选中的档位之上。模型组价格同样可以分档。

按服务档位定价​

部分服务提供方会以更快或更便宜的服务档位处理请求,并为此收取不同的费率,例如 OpenAI 的优先处理(priority processing)或 Anthropic 的 fast mode。价格可以携带服务档位价格,让这些请求按各自的费率计费。

选择费率所依据的档位,是上游报告其实际处理该请求时所用的档位,记录在用量事件的 service_tier 中,而不是请求所要求的档位。请求要求了快速档位、但上游实际以标准档位处理时,按基础费率计费。

  • 每个条目在 match 中列出一个或多个档位名称,并带有完整的费率集:提示词、补全、缓存读取、缓存写入和推理。缓存费率留空时回退到该条目自己的提示词费率,推理费率留空时回退到该条目自己的补全费率。条目本身也可以按输入长度分档,规则与输入 Token 分档相同。
  • 事件的 service_tier 会与每个 match 值比较,忽略大小写和首尾空白。命中的条目会替换价格的基础 Token 费率和输入 Token 分档,用于该请求。
  • 档位不被任何条目列出,或上游未报告档位的请求,按基础费率计费。
  • 一个价格最多 16 个条目,每个条目最多 16 个 match 值,每个值最长 256 个字符。同一个值(忽略大小写)在一个价格中只能出现在一个条目里,因此一个上报的档位最多选中一个条目。
  • 决策端点单价和 Audio per minute 不按档位区分,无论请求选中哪个条目,都按原有方式生效。
  • 响应缓存命中的费用仍为 0;模型组的低峰折扣会乘在选中条目计算出的费用上。
  • 服务档位价格只影响记录的成本和预算。least_cost 路由仍按基础费率对目标排序。

请使用服务提供方自己的档位名称,AISIX 会原样使用上报的值。OpenAI 的 fast mode 报告为 priority,Anthropic 的 fast mode 报告为 fast。要确认上游实际报告的值,可在请求日志中展开该上游的一个请求,查看 Service tier。

在 Add pricing 对话框中展开 Service tier prices (optional),选择 Add service tier price。在 Service tier names 中逐个输入档位名称并按回车,然后填写该条目的费率。Remove service tier price 删除一个条目。

在 Admin API 中,将条目作为 PUT /model_pricing/precise 或 PUT /model_pricing 的 service_tier_prices 数组发送。保存会替换整个价格,因此请求中省略 service_tier_prices 或传 null 即删除这些条目。下面的价格让上游以 priority 或 fast 处理的请求按一组费率计费,以 ultrafast 处理的请求按另一组费率计费。费率仅作示例:

{
"provider": "openai",
"model_name": "gpt-5",
"prompt_usd_per_1m": 1.25,
"completion_usd_per_1m": 10,
"cache_read_usd_per_1m": 0.125,
"service_tier_prices": [
{"match": ["priority", "fast"], "prompt_usd_per_1m": 2.5, "completion_usd_per_1m": 20, "cache_read_usd_per_1m": 0.25},
{"match": ["ultrafast"], "prompt_usd_per_1m": 5, "completion_usd_per_1m": 40, "cache_read_usd_per_1m": 0.5}
]
}

服务档位价格的来源取决于价格本身:

  • 在美元组织中,目录价格携带 models.dev 为该模型各服务档位模式公布的费率,并随目录一起刷新。每个条目同时匹配选择该模式的档位值和模式名称,因为上游可能报告其中任何一个。
  • 组织覆盖项会替换整条目录价格,包括其中的服务档位价格。没有服务档位价格的覆盖项会让所有请求按基础费率计费,因此仍需要的档位费率请在覆盖项中填写。
  • 人民币组织不使用目录价格,需要手动录入服务档位价格。

模型组价格同样可以设置服务档位价格。1.6.x 及更早版本的网关不报告服务档位,因此其请求总是按基础费率计费。

为按音频时长计费的模型定价​

部分语音转文本模型按音频分钟计费,而不是按 Token 计费,并且不会上报 Token 数。此类请求会改为记录音频时长,并使用 Audio per minute 费率将时长换算为支出。如果此费率保持为 0,模型不会产生基于时长的成本。

当前 AISIX 定价目录不提供时长费率,因此没有可继承的默认值:请使用与模型配置完全一致的服务提供方和模型名称创建定价行。例如,OpenAI 目前列出的 whisper-1 价格为每分钟 $0.006。按此费率,60 秒的转录成本为 $0.006。

警告

Token 成本和时长成本会相加。如果事件同时包含 Token 用量和音频时长,并且匹配价格中的两类费率均不为零,AISIX 会将两项成本相加。请只配置服务提供方实际采用的计费依据。

为决策端点定价​

价格覆盖项可以为决策端点 /v1/systemone 和 /v1/decisions 上的请求单独设置一组单价。当某个模型在决策端点上的计费方式与其他端点不同,或者需要为目录中没有的决策模型定价时使用。

  1. 在 Add pricing 对话框中照常填写基础单价。
  2. 展开 Decisions pricing (optional)。该区块的说明指出,这些单价适用于 /v1/systemone 和 /v1/decisions 请求,留空的单价沿用上方对应的单价。
  3. 填写需要的决策端点单价,其余留空。
  4. 保存覆盖项。

设置了的决策端点单价会替换这些请求对应的基础单价,与调用方使用哪种请求格式无关;留空的单价保留基础单价。之后缓存和推理的回退规则基于生效的单价执行,因此设置了决策端点提示词单价时,决策请求的缓存 Token 会回退到该单价。所有单价都留空则不保存决策端点单价。

在 Admin API 中,将这些单价作为价格的 decisions 对象发送,字段为 prompt_usd_per_1m、completion_usd_per_1m、cache_read_usd_per_1m、cache_write_usd_per_1m 和 reasoning_usd_per_1m。保存会替换整条价格,因此请求中省略 decisions 或传 null 都会清除决策端点单价。

决策端点单价只影响记录的成本和预算。least_cost 路由仍按基础单价对目标排序。

为模型组定价​

路由模型可以设置自己的价格,使调用该模型组的请求无论由哪个目标处理,都按同一价格计费。只有路由模型接受模型组价格;直连、嵌入、合议和语义模型会拒绝该字段。

发往模型组的请求按模型组价格计费,无论由哪个目标处理。模型组价格取代目标自己的价格,目标没有价格时同样适用。以下两类发往模型组的请求例外,按实际处理请求的目标自己的价格计费,与模型组没有价格时完全相同,因为模型组价格没有对应的费率:

  • 决策端点 /v1/decisions 和 /v1/systemone 上的请求。
  • 目标价格按音频时长计费的请求。

模型组价格可以带有自己的服务档位价格。发往模型组的请求,其档位不被模型组价格的任何条目列出时,按模型组价格的基础费率计费,绝不借用目标的服务档位价格。上述两类例外按实际处理请求的目标自己的价格计费,包括该目标的服务档位价格。

直接发往某个目标的请求,以及经透传路由转发的请求(即使其 model 字段等于模型组名称),都不按模型组价格计费。模型组价格只影响记录的成本和预算:least_cost 路由仍按各目标自己的价格排序。

在路由模型的创建或编辑表单中,于 Model group price (optional) 下选择 Bill requests to this group at a group price,然后以组织币种填写费率,也可以按档位填写,并设置服务档位价格。取消该选项即删除价格。

在 Admin API 中,将费率作为路由模型的 price 对象发送,费率字段、可选的 tiers 和可选的 service_tier_prices 与组织价格相同。PATCH 时传 "price": null 即删除:

{
"price": {
"prompt_usd_per_1m": 2.5,
"completion_usd_per_1m": 10,
"cache_read_usd_per_1m": 1.25
}
}

模型组低峰折扣​

路由模型可以在低峰时段为发往它的请求打折。低峰折扣由一组每周时段和一个介于 0 与 1 之间(不含两端)的折扣系数组成:

  • timezone 是 IANA 时区名,默认为 Asia/Shanghai。
  • 每个时段的 start 含边界,取值 00:00 到 23:59;end 不含边界,取值 00:01 到 24:00。00:00 到 24:00 表示全天。
  • start 晚于 end 的时段跨过午夜。
  • weekdays 把时段限制在 ISO 星期上,1 为周一,7 为周日;省略即每天。对于跨午夜的时段,weekdays 按时段开始的那天匹配:weekdays 为 1 到 5 的 22:00 到 06:00 覆盖周五 22:00 到周六 06:00,但不覆盖周一 00:00 到 06:00。
  • 时段可以重叠,请求落在任意一个时段内即打折。

请求是否处于低峰,按请求完成的时间、换算到折扣的时区后判断。不考虑法定节假日和调休。

折扣系数乘在请求记录的整笔费用上,无论费用来自哪种价格:模型组价格(包括其档位),或实际处理请求的目标自己的价格(包括上文决策端点和按音频时长计费的情况)。只设低峰折扣、不设模型组价格的模型组,会对目标的价格打折。缓存命中仍然免费。适用范围与模型组价格相同:直接发往目标的请求和经透传路由转发的请求不打折,least_cost 排序不受影响。

下面的折扣让工作日开始的 22:00 到次日 06:00 之间、以及整个周末完成的请求按北京时间半价计费:

{
"off_peak": {
"timezone": "Asia/Shanghai",
"windows": [
{"start": "22:00", "end": "06:00", "weekdays": [1, 2, 3, 4, 5]},
{"start": "00:00", "end": "24:00", "weekdays": [6, 7]}
],
"multiplier": 0.5
}
}

在周五 23:00、周二 05:30 或周日任意时间完成的请求都会打折。在周一 05:30 完成的请求不打折:这个时间属于从周日夜间开始的时段,第一个时段不覆盖周日,而周末时段在周日 24:00 结束。

在控制台中,于路由模型的 Off-peak discount (optional) 区块选择 Discount requests to this group off-peak,然后设置时区、时段和折扣系数。取消该选项即删除折扣。在 Admin API 中,在路由模型上发送 off_peak 对象;PATCH 时传 "off_peak": null 即删除。

验证覆盖项​

最直接的验证方式是向匹配模型发送一个新请求,然后在 Request Logs 中展开事件。对于按 Token 计费的模型,应产生足够的 Token 用量,以显示可见成本。对于按时长计费的模型,应使用时长已知或足够长的音频样本。确认事件显示的模型和事件成本符合预期。Request Logs 当前不显示测得的音频时长,因此请根据样本时长计算预期的时长成本。

如果验证的是路由或合议请求,请找到共享同一请求 ID 的事件或尝试行,将成本相加后再与预期值比较。

Request Logs 显示六位小数。如果预期成本在该精度下会四舍五入为零,请增加 Token 用量,使成本在该精度下可见。

产生足够流量后,也可以在 Usage 中确认聚合支出。Usage 只显示两位小数和前 10 个模型,因此不适合验证单个低成本请求。

保存覆盖项后,历史记录不会变化。应比较修改后创建的新事件,不要期待先前费用为零的事件被重新计算。

编辑或重置价格​

编辑定价行可更改后续事件使用的费率。Reset to catalog default 会删除组织覆盖价格。在美元组织中,如果存在目录价格,则该价格会从下一个用量事件开始重新生效。在人民币组织中,该组合变为未定价。

手动创建的时长定价行通常没有目录默认值。重置该行会移除其有效价格,因此之后匹配的事件会记录零费用,直到再次配置覆盖价格。

下一步​

继续阅读预算,了解如何强制执行支出限制,然后配置预算告警与通知。使用日志与审计调查单个请求的结果。