oz0 tenant spend-alerts

Usage and flags for oz0 tenant spend-alerts.

For: Operators and developers looking up a command.

People are alerted (event budget.share, through the tenant's notification rules and to the budget's own people) when a budget passes one of its shares, once per budget and period, at the highest share passed.

--tree sets the shares of a job tree's budget (60% to 100%: 50% is only for monthly budgets and quotas), --monthly those of the tenant's monthly budget and of every quota without shares of its own (50% to 100%), and --quota a quota's own (team:<name>, user:<name>, * or team:*). A list is up to five shares, as 0.5,0.8,1 or 50%,80%,100%; default is [80%, 100%] and off turns those alerts off.

These shares are apart from the agent's warn_share (oz0 tenant spend), which only tells an agent to wrap up. The alert at 100% says whether jobs now wait and who decides.

The spend-anomaly finding compares each UTC day's spend with its usual (the median of the last 28 days, or of the same weekday once the tenant has two weeks of history) and opens a finding with the top three drivers by agent, model and plugin when the day is far above it and at least --anomaly-floor dollars (10 by default); --anomaly off turns it off.

Every change takes a reason (--reason or $OZ0_REASON); dropping an alert at 100%, starting a list later, emptying one, raising the floor or turning the finding off loosens, and waits for a second admin where the tenant has four eyes on. Operators may read the setting; admins change it.

Usage

oz0 tenant spend-alerts <tenant> [flags]

Flags

FlagTypeDefaultDescription
--anomalystringthe daily spend-anomaly finding: on or off
--anomaly-floorfloatno anomaly finding for a day under this many dollars (0: the default, 10)
--decision-refstringthe decision or case the change follows, such as a case number (at most 200 characters)
--jsonboolprint JSON instead of a table
--monthlystringthe shares of the monthly budget and of quotas without their own: a list such as 0.5,0.8,1, default, or off
--quotastringArraya quota's own shares, SUBJECT=LIST, SUBJECT=off or SUBJECT=default (back to the monthly ones); repeatable
--reasonstringwhy, required for every governance change (at most 500 characters; default $OZ0_REASON); the audit log keeps it
--treestringthe shares of a job tree's budget: a list such as 0.8,1, default, or off

Inherited flags

FlagTypeDefaultDescription
--contextstring$OZ0_CONTEXT or <config dir>/orchestrator-zero/context.jsonCLI context file written by server init
--log-levelstringinfolog level: debug, info, warn or error

See all oz0 commands and the global flags.

On this page
Copyright © 2026