How Alerts Work
Alerts follow a simple flow:- Event: What triggers the alert (schema change, freshness violation, etc.)
- Rule: Conditions that filter events (optional: specific tables, change types)
- Destination: Where the alert goes (Slack, email, PagerDuty, webhook)
Step-by-Step Guide
Let’s create an alert rule for schema , one of the most common and important alerts.Navigate to Alerts
Click Alerts in the left sidebar, then select Rules.You’ll see the Alert Rules page where you can create and manage your alert rules.
Add a Destination First
Before creating a rule, you need somewhere to send alerts. Destinations are configured in Settings.Go to Settings → Integrations tab.
- Slack (Recommended)
- Email
- PagerDuty
- Webhook
- Click Connect Slack App or Add Webhook
- For Slack App: Authorize AnomalyArmor in Slack and select your channel
- For Webhook: Paste your Slack webhook URL
- Click Save
Create Alert Rule
Go to Alerts → Rules and click Create Rule.You’ll see the rule builder with sections for event, conditions, and destination.
Configure Event Type
Select what triggers this alert:
For your first alert, select Schema Change Detected.
| Event Type | Description | When to Use |
|---|---|---|
| Schema Change | Column added, removed, or modified | Catch breaking changes |
| Freshness Violation | Data not updated within SLA | Detect stale data |
| Discovery Failed | Discovery job couldn’t complete | Connection issues |
| Asset Removed | Table or view no longer exists | Unexpected deletions |
Set Conditions (Optional)
Filter which schema changes trigger alerts:
- Data Source: All, or specific connection
- Schema: All, or specific schemas (e.g.,
public) - Asset: All, or specific tables
- Change Type: All, or specific (added, removed, modified)
- Data Source: Your production database
- Change Type: Column Removed (most critical)
Select Destination
Choose where to send alerts from the destinations you configured:
- Select your Slack channel, email, or other destination
- You can select multiple destinations for the same rule
- Primary: Slack
#data-alerts - Escalation: PagerDuty (for removed columns)
Name and Save
Give your rule a descriptive name:Good names:
- “Production Schema Changes”
- “Critical Table Monitoring - orders”
- “Dev Schema Changes (Low Priority)”
Recommended First Rules
Here are three rules we recommend setting up:Rule 1: All Schema Changes
| Field | Value |
|---|---|
| Name | All Schema Changes |
| Event | Schema Change Detected |
| Conditions | None (catch everything) |
| Destination | Slack #data-alerts |
Rule 2: Critical Table Freshness
| Field | Value |
|---|---|
| Name | Critical Table Freshness |
| Event | Freshness Violation |
| Tables | orders, users, payments |
| Destination | Slack #data-alerts + PagerDuty |
Rule 3: Discovery Failures
| Field | Value |
|---|---|
| Name | Discovery Failures |
| Event | Discovery Failed |
| Conditions | None |
| Destination | Slack #data-alerts |
Alert Destinations Deep Dive
Slack Setup
Full guide to Slack integration
All Destinations
Email, PagerDuty, webhooks, and more
Troubleshooting
Alerts not firing
Alerts not firing
Check these in order:
- Rule is enabled: Toggle should be ON in the Rules list
- Destination is configured: Test the destination
- Conditions match: Are your filters too restrictive?
- Events are occurring: Check Discovery is running and finding changes
Too many alerts
Too many alerts
Reduce noise with filters:
- Add conditions to target specific tables
- Filter out development/test schemas
- Filter by change type (e.g., only column removals)
- Use different destinations for different event types
Slack alerts not appearing
Slack alerts not appearing
Common causes:
- Bot not invited to private channels: Type
/invite @AnomalyArmor - OAuth expired: Reconnect the Slack destination
- Channel archived: Select a different channel
Test alert works but real alerts don't
Test alert works but real alerts don't
The rule conditions might not match:
- Verify discovery is running and finding assets
- Check rule conditions aren’t filtering out all events
- Wait for the next discovery run to detect changes
- Manually trigger a schema change in a test table to verify
What You’ve Accomplished
Congratulations! You’ve completed the quickstart. You now have:- ✅ A database connected to AnomalyArmor
- ✅ Your data assets discovered and cataloged
- ✅ Alert rules configured to notify you of issues
What’s Next?
Freshness Monitoring
Set up SLAs to detect stale data before it impacts your business
Alert Best Practices
Learn how to reduce alert fatigue and route alerts effectively
Core Concepts
Deep dive into assets, discovery, schema changes, and more
Add More Assets
Connect additional databases to expand your monitoring
Quick Reference: Alert Rule Cheat Sheet
| Event Type | Best Destination | Typical Conditions |
|---|---|---|
| Schema Change | Slack | Production databases only |
| Column Removed | PagerDuty | Critical tables |
| Freshness Violation | Slack + Email | SLA-bound tables |
| Discovery Failed | All data sources | |
| Asset Removed | Slack | Unexpected only |
