Rule Structure
An alert rule consists of several key components:Query and Expression Model
Alert rules use a query + expression model:- Data Source Queries: Fetch data from data sources (Prometheus, Loki, etc.)
- Expressions: Transform and evaluate query results
- Condition: The expression that determines alert state
State Handling
Pending Duration (for)
The for duration specifies how long a condition must be true before the alert fires:
Keep Firing For (keepFiringFor)
Keeps the alert in a firing state even after the condition resolves:
NoData State
Controls behavior when queries return no data:Execution Error State
Controls behavior when query execution fails:Labels and Annotations
Labels
Labels are used for:- Routing alerts to contact points
- Grouping related alerts
- Filtering and searching
Annotations
Annotations provide additional context:Rule Groups
Rules are organized into groups that share an evaluation interval:Recording Rules
Recording rules pre-compute expensive queries and store results:Recording rules ignore alerting-specific fields:
noDataStateexecErrStateconditionforkeepFiringFornotificationSettings
Notification Settings
Rules can define inline notification routing:Rule Validation
Rules must pass validation before being saved:Backend API Endpoints
Common Patterns
Dashboard Panel Alerts
Link an alert to a dashboard panel:Multi-Condition Alerts
Combine multiple conditions:Related Resources
Overview
Understand the alerting architecture
Contact Points
Configure notification destinations
Notification Policies
Route alerts to contact points
Silences
Temporarily mute notifications