Overview
Alert Rules allow you to process incoming alerts before they create incidents. You can suppress noisy alerts, adjust severity levels, add tags for routing, or modify alert fields. Rules are evaluated in real-time as alerts arrive, giving you fine-grained control over your incident pipeline.Suppress Noise
Normalize Severity
Enrich Alerts
Transform Fields
How Alert Rules Work
- Its actions are applied to the alert
- If
stopProcessingis enabled, no more rules are evaluated - If suppressed, the alert is dropped immediately
Viewing Alert Rules
The Alert Rules page displays all your configured rules:| Column | Description |
|---|---|
| Rule | Name and description |
| Priority | Evaluation order (lower = first) |
| Conditions | Number of matching conditions |
| Actions | Number of actions to apply |
| Stop | Whether to stop evaluating other rules |
| Status | Active or Inactive |
Creating Alert Rules
Open Create Dialog
Configure Basic Info
- Name — Descriptive rule name
- Description — Explain what this rule does
- Priority — Lower numbers evaluate first (default: 100)
- Stop Processing — Stop evaluating other rules if this matches
Define Conditions
- Add conditions that must match for the rule to trigger
- Use ALL (AND) and ANY (OR) logic groups
Configure Actions
- Add actions to apply when conditions match
- Actions execute in order
Save Rule
Understanding Conditions
Conditions determine when a rule triggers. You can combine conditions using AND/OR logic.Condition Logic
- ALL Conditions (AND)
- ANY Conditions (OR)
- Combined Logic
Available Fields
| Field | Description |
|---|---|
severity | Alert severity level |
host | Affected hostname |
service | Service or application name |
title | Alert title |
description | Alert description |
source | Source integration |
status | Alert status |
environment | Environment tag |
region | Region tag |
tags.* | Any tag value (e.g., tags.team) |
extra.* | Any extra field (e.g., extra.customField) |
Condition Operators
| Operator | Description | Example |
|---|---|---|
equals | Exact match (case-insensitive) | severity equals "critical" |
not_equals | Does not match | environment not_equals "production" |
contains | Contains substring | title contains "error" |
not_contains | Does not contain | title not_contains "test" |
matches | Regex pattern match | title matches "^ERROR.*" |
in | Value in list | status in "triggered,firing" |
not_in | Value not in list | severity not_in "info,ok" |
exists | Field exists | tags.team exists |
greater_than | Numeric greater than | value greater_than 90 |
less_than | Numeric less than | value less_than 10 |
Configuring Actions
Actions define what happens when a rule matches.Available Actions
Suppress (Drop Alert)
Suppress (Drop Alert)
suppressDrops the alert entirely. No incident is created.Use Case: Suppress alerts from development environments or known false positives.Set Priority
Set Priority
setPriorityOverrides the alert’s priority level.Options: P1 (Critical), P2 (High), P3 (Medium), P4 (Low), P5 (Info)Use Case: Escalate or de-escalate alerts based on context.Add Tags
Add Tags
Set Field
Set Field
setFieldSets or overrides any alert field value.Use Case: Normalize field values across different sources.Multiple Actions
You can combine multiple actions in a single rule. Actions execute in order.Example: Multi-Action Rule
Example: Multi-Action Rule
setPriority: P1— Escalate to criticaladdTags: team=infrastructure— Route to infrastructure teamaddTags: auto_escalated=true— Track automatic escalation
Priority and Stop Processing
Rule Priority
Rules are evaluated in priority order (lower number = higher priority):| Priority | Evaluation Order |
|---|---|
| 1 | First |
| 10 | Second |
| 100 | Third |
| 1000 | Last |
Stop Processing
When Stop Processing is enabled:- If the rule matches, no subsequent rules are evaluated
- Useful for definitive actions like suppression
Example: Stop Processing
Example: Stop Processing
- Condition:
environment equals "development" - Action:
suppress
- Condition:
severity equals "critical" - Action:
setPriority: P1
Common Use Cases
Suppress Development Alerts
Suppress Development Alerts
suppress
- Priority: 1 (evaluate first)
- Stop Processing: Yes
Escalate Database Alerts
Escalate Database Alerts
setPriority: P1addTags: team=dba
Tag by Customer
Tag by Customer
addTags: customer=acmeaddTags: tier=premium
Normalize Vendor Severities
Normalize Vendor Severities
setPriority: P2setField: severity = "high"
Suppress Maintenance Alerts
Suppress Maintenance Alerts
suppress
- Priority: 1
- Stop Processing: Yes
Auto-Tag Missing Team
Auto-Tag Missing Team
addTags: team=on-call
Managing Rules
Editing Rules
- Click the three-dot menu (⋮) on a rule
- Select Edit
- Modify conditions, actions, or settings
- Save changes
Duplicating Rules
Create a copy of an existing rule:- Click the three-dot menu
- Select Duplicate
- Modify the copy as needed
- Save as a new rule
Activating/Deactivating Rules
Toggle rule status without deleting:- Active: Rule is evaluated on incoming alerts
- Inactive: Rule is skipped during evaluation
isActive.
Deleting Rules
- Click the three-dot menu
- Select Delete
- Confirm deletion
Rule Evaluation Flow
Alert Received
Build Context
- Direct fields (severity, host, service, etc.)
- Tags (
tags.*) - Extra fields (
extra.*)
Get Active Rules
Evaluate Each Rule
- Check ALL conditions (must all match)
- Check ANY conditions (at least one must match)
- If both groups satisfied → rule matches
Apply Actions
- Execute actions in order
- If suppressed → drop alert
- If stop processing → skip remaining rules
Create Incident
Best Practices
Use Meaningful Priorities
Use Meaningful Priorities
Start Specific, Then General
Start Specific, Then General
Test Before Activating
Test Before Activating
Use Stop Processing Wisely
Use Stop Processing Wisely
Document Your Rules
Document Your Rules
Review Rules Periodically
Review Rules Periodically
Troubleshooting
Rule not matching expected alerts
Rule not matching expected alerts
- Verify rule is Active
- Check condition field names match your alert data
- Use webhook samples to see actual field values
- Test regex patterns separately
- Check if a higher-priority rule is stopping processing
Alerts being unexpectedly suppressed
Alerts being unexpectedly suppressed
- Check for active rules with
suppressaction - Review rules with highest priority (lowest number)
- Look for broad conditions that might match unintended alerts
- Temporarily deactivate suspect rules to identify the culprit
Tags not appearing on incidents
Tags not appearing on incidents
Priority not being set
Priority not being set
- Verify
setPriorityaction is configured - Check priority value format (P1, P2, etc.)
- Look for conflicting rules that might set different priority
Regex not matching
Regex not matching
- Test regex pattern in a regex tester
- Remember patterns are case-insensitive
- Escape special characters properly
- Check for leading/trailing whitespace in field values
Quick Reference
Condition Operators
| Operator | Type | Description |
|---|---|---|
equals | String | Exact match |
not_equals | String | Not equal |
contains | String | Substring match |
not_contains | String | No substring |
matches | Regex | Pattern match |
in | List | Value in list |
not_in | List | Value not in list |
exists | Boolean | Field exists |
greater_than | Numeric | Greater than |
less_than | Numeric | Less than |
Action Types
| Action | Effect |
|---|---|
suppress | Drop alert |
setPriority | Override priority (P1-P5) |
addTags | Add key-value tags |
setField | Set/override field value |
Priority Guidelines
| Range | Use Case |
|---|---|
| 1-10 | Suppression rules |
| 11-50 | Critical modifications |
| 51-100 | Standard processing |
| 101-500 | Enrichment/tagging |
| 501+ | Catch-all rules |