コンテンツにスキップ

レシピ: 予算と FinOps ガードレール

FinOps の予算と支出分析は Business の機能です。Community はセッションごとのコスト追跡とデータのエクスポートを提供します。0.4 より前に保存された予算は引き続き参照・削除でき、FinOps モジュールが有効な間は適用されます。Community では予算の作成・変更はできません。評価とサンドボックスは Community に残ります。

目標: 「このチームのエージェントは月 $500 で支出を止める」——一度宣言すれば ライブで強制され、上昇途中のしきい値でアラートが出る。

予算の強制は、デフォルトバイナリでライブになっているアクチュエーションの 1 つだ: 上限に達した強制予算は、追加のプロビジョニングなしに支出を拒否する (モジュールカタログはこれを v1 | v1 と マークしている)。

ターミナルウィンドウ
curl -ks -X POST "$BASE/v1/m/finops/budgets" \
-H "Authorization: Bearer $TOKEN" -H "X-Olivares-Tenant: $TENANT" \
-H 'Content-Type: application/json' \
-d '{
"dimension": "team",
"key": "payments",
"limit_micro_usd": 500000000,
"period": "monthly",
"thresholds": [0.5, 0.8, 1.0],
"action": "block"
}'
  • 金額はマイクロ USD だ(limit_micro_usd: 500000000 = $500)。これにより 契約上の浮動小数点の曖昧さがない。
  • dimension + key が予算のスコープを定める。スコープ対象の dimension には global、model、provider、agent、session、team、project、 workspace、api_key、actor、service_tier、context_window、 inference_geo、gateway、identity が含まれる。
  • action は強制モードだ:
action 上限到達時
alert(デフォルト) ショーバックのみ——アラートは発火するが、何も拒否されない
throttle アクチュエーションシームが新規支出を減速させる
block アクチュエーションシームが新規支出を拒否する

単一のアイデンティティに予算を設定する

Section titled “単一のアイデンティティに予算を設定する”

dimension: "identity" は、確かなロスターアイデンティティの external id に スコープを定める——アイデンティティソース が登録したワークロードまたはエージェントのアイデンティティだ:

{ "dimension": "identity", "key": "spiffe://corp/agent/billing-reconciler",
"limit_micro_usd": 50000000, "period": "monthly", "action": "throttle" }

アイデンティティは、コスト取り込み時にサンプルのエージェントバインディング、 API キー、または actor から解決される——そのため予算は、1 つの API キーではなく 複数の面にまたがってアイデンティティに追随する。

ターミナルウィンドウ
# Live consumption vs limit, with run-rate projection:
curl -ks "$BASE/v1/m/finops/budgets/$BUDGET_ID/status" \
-H "Authorization: Bearer $TOKEN" -H "X-Olivares-Tenant: $TENANT"
# Threshold crossings (your 50% / 80% / 100% alerts):
curl -ks "$BASE/v1/m/finops/alerts" \
-H "Authorization: Bearer $TOKEN" -H "X-Olivares-Tenant: $TENANT"

上限に達すると、強制予算のチェックは allowed: false を、アクション (throttle または block)と発火した予算とともに返す——拒否はその理由を 名指しする。アラートは通知ストリームにも乗るため、Slack や PagerDuty の デスティネーションが 100% の拒否より前に 80% の到達を知る。

コンソールでは、Budgets が各上限に対する消費量を、消費ペースに基づく 予測とともに表示する。

支出に分母を与える: アウトカム

Section titled “支出に分母を与える: アウトカム”

コスト・パー・アウトカムこそが、予算をビジネスの会話にするものだ。アウトカム (解決したチケット、マージされた PR、クローズしたケース)を報告し、価値パネルを 読む:

ターミナルウィンドウ
curl -ks -X POST "$BASE/v1/m/finops/outcomes" \
-H "Authorization: Bearer $TOKEN" -H "X-Olivares-Tenant: $TENANT" \
-d '{"kind":"ticket.resolved","subject_ref":"agent:support-triage","count":1}'
curl -ks "$BASE/v1/m/finops/value" \
-H "Authorization: Bearer $TOKEN" -H "X-Olivares-Tenant: $TENANT"

価値サマリーにはキャンセルリスク——アウトカムのないバーン——が含まれる。 これは成功指標の正直な逆数だ。

  • 台帳を読めないときは拒否: 予算のアドミッションを確立できない場合(FinOps が 台帳を読めない場合)、推論プロキシは計測されない支出を通すのではなく、503、 理由 budget store unreachable (deny-closed)、x-should-retry: false で呼び出しを 拒否する。エンジン自身のゲートのうち、このケースで設定可能な姿勢を保つのは セッション起動だけである(OLIVARES_SESSION_BUDGET_AVAILABILITY)。
  • 予約済みキャパシティ(reserved_micro_usd)は上限に算入されるため、 事前予約によって予算を回避することはできない。
  • cost_type は意図的に予算の dimension になっていない——見積もりフォール バックの行は、並行プールを形成するのではなく、本来属する dimension に乗る。