Skip to content

Limits

Alerting's quotas, the bounds of rules, contact points and silences, the evaluation budget, and how long history and the delivery log are kept.

Updated View as Markdown

Alert evaluations aren’t rate limited: every enabled rule is evaluated every minute, and a busy project’s rules never wait behind dashboards or other projects. What a rule may cost is bounded when it’s saved, by the bounds below and the cost check. A rule that outgrows them later goes into error, visibly, rather than being skipped.

Quotas

Quota ID Name Scope Default Adjustable
obs.alertRules.perProject Alert rules per project Project 500 Yes, up to 5,000
obs.contactPoints.perProject Contact points per project Project 50 Yes, up to 500
obs.silences.perProject Active and scheduled silences per project Project 500 Yes, up to 5,000

A create over a quota is 409 quota_exceeded. Expired silences don’t count. ezgh quotas get obs.alertRules.perProject --scope-key <project> shows the limit and usage; see Service quotas.

Rules

Limit Value
Name 1 to 100 characters
Description 1,000 characters
PromQL expression 8 KiB
PromQL look-back Ranges, subquery ranges and offsets add up to at most 1 hour along any path; no @
PromQL instances 1,000 per rule
Logs and traces window 1 to 15 minutes, in whole minutes
Logs and traces grouping Up to 2 fields; at most 50 groups
for, keepFiringFor 0 to 24 hours, in whole minutes
repeatInterval 5 minutes to 7 days
Labels 32 per rule; values 1 to 1,024 bytes
Annotations 16 per rule; each template 4 KiB, rendered text cut at 16 KiB
Contact points 10 per rule
Evaluation interval 1 minute, about 30 seconds behind real time

Evaluation budget

Each evaluation may take at most 20 seconds, read at most 5 GiB and use at most 2 GiB of memory. A rule that goes over is refused when it’s saved (422 rule_too_expensive, naming the budget), and is in rule error if it goes over later. A timeout becomes a rule error after three in a row; isolated timeouts are treated as EZGH’s.

Contact points

Limit Value
Email addresses 1 to 10 per contact point
Confirmation link Valid for 7 days. Saving the contact point sends a pending address a new one at most once an hour
Asking an unsubscribed address again Once every 7 days per address
Webhook URL https, port 443 or 8443, 2,048 characters, a host name with public addresses
Webhook secret 16 to 256 characters
Webhook headers 5, values up to 1,024 characters
Webhook body 1 MiB; alerts past it are left out and counted in truncatedAlerts
Delivery timeout 10 seconds; the first 4 KiB of the answer is read
Retries For up to 1 hour after the notification is created
Instances shown Email 20, Slack 10, then “and N more”; a webhook gets them all, up to its 1 MiB
Email confirmation page 30 requests a minute per IP address

Silences

Limit Value
Matchers 1 to 32; at least one must not match the empty string
Matcher label 256 bytes
Matcher value 1,024 bytes
Duration At most 30 days from startsAt to endsAt
Comment 1 to 1,000 characters

Retention

What Kept
Resolved instances 15 minutes
A rule’s history (state changes) 30 days
Notifications and the delivery log 30 days
Expired silences 30 days

Lists

Lists answer at most 100 items a page (rules, history, notifications and delivery attempts 25 by default, contact points and silences 20, alerts 50), and the grouped Alerts list 50 groups a page (20 by default), each with its first 10 instances.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close