Overview
Prometheus is a leading open-source monitoring and alerting toolkit. EasyContact integrates with Prometheus via Alertmanager webhooks, receiving alert notifications when your alerting rules fire.This integration receives webhooks from Alertmanager, not directly from Prometheus. Make sure you have Alertmanager configured.
Setup Instructions
1
Create Integration in EasyContact
- Go to Configuration → Integrations
- Click Add Integration
- Select Prometheus as the type
- Enter a name (e.g., “Production Alertmanager”)
- Save and copy the webhook URL
2
Configure Alertmanager
Add a webhook receiver to your
alertmanager.yml:3
Create Route
Route alerts to the EasyContact receiver:
4
Reload Alertmanager
Apply the configuration:
5
Test the Integration
Trigger a test alert and verify it appears in EasyContact
Alertmanager Configuration
Basic Configuration
With Multiple Receivers
Field Mapping
EasyContact automatically maps Alertmanager fields:| Alertmanager Field | EasyContact Field |
|---|---|
labels.alertname | Title |
annotations.summary | Title (fallback) |
annotations.description | Description |
status | Status (firing → problem, resolved → ok) |
labels.severity | Severity |
labels.instance | Host |
labels.job | Service |
fingerprint | Event ID |
| All labels | Tags |
Severity Mapping
Standard Prometheus/Alertmanager severity labels:| Prometheus Severity | EasyContact Severity |
|---|---|
| critical | Critical |
| error | High |
| warning | Warning |
| info | Info |
Custom Mapping
If your alerts use different severity labels:Status Handling
| Alertmanager Status | EasyContact Status | Action |
|---|---|---|
| firing | Problem | Creates/updates incident |
| resolved | OK | Resolves incident |
Example Payload
Alertmanager sends payloads in this format:Labels as Tags
All Prometheus labels (except internal__ prefixed ones) are captured as tags:
alertname: HighCPUseverity: criticalenvironment: productionteam: platformservice: api
Host Extraction
EasyContact looks for host information in these labels (in order):instancehosthostnamenodepodcontainer
Service Extraction
Service/application is extracted from:jobserviceappapplication
Enrichment Examples
Add context to all Prometheus alerts:Alert Rule Examples
CPU Alert
Memory Alert
Disk Alert
Troubleshooting
Alerts not being received
Alerts not being received
- Check Alertmanager logs for webhook errors
- Verify the webhook URL is accessible from Alertmanager
- Test connectivity:
curl -X POST YOUR_WEBHOOK_URL -d '{}' - Check firewall rules between Alertmanager and internet
Resolved alerts not clearing incidents
Resolved alerts not clearing incidents
- Verify
send_resolved: truein webhook config - Check that fingerprint matches between firing and resolved
- Review Alertmanager routing to ensure resolved alerts reach webhook
Missing labels/annotations
Missing labels/annotations
- Verify alert rules include required labels
- Check that labels aren’t being dropped by Alertmanager routes
- Review
group_bysettings
Duplicate incidents
Duplicate incidents
- Check
group_byconfiguration - Verify fingerprint is consistent
- Review
group_intervalandrepeat_intervalsettings
Best Practices
Use Consistent Severity Labels
Use Consistent Severity Labels
Standardize on
severity: critical|warning|info across all alert rules for consistent mapping.Include Good Annotations
Include Good Annotations
Add meaningful
summary and description annotations to help responders understand the alert.Group Related Alerts
Group Related Alerts
Enable Resolved Notifications
Enable Resolved Notifications
Always set
send_resolved: true to automatically resolve incidents.Add Runbook Links
Add Runbook Links
Include
runbook_url annotation for quick access to remediation steps.