Overview
With the Prometheus AlertManager integration, you can:- Automatically create incidents when Prometheus alerts fire
- Auto-resolve incidents when alerts clear
- Map alert severity levels to incident severity
- Deduplicate alerts using fingerprints
- Customize incident titles with alert labels
Configuration Options
When setting up the Prometheus integration in your dashboard, you can configure the following options:| Field | Description | Required |
|---|---|---|
| Name | A descriptive name for this integration (e.g., “Production Prometheus”) | Yes |
| Bearer Token | Secure token for authenticating webhook requests | Yes |
| Auto-resolve | Automatically resolve incidents when alerts clear | No (default: false) |
| Severity Mapping | Map alert severity labels to incident severity levels | No |
| Title Template | Customize incident titles using alert label interpolation | No |
The bearer token is automatically generated when you create the integration. Store it securely as it cannot be retrieved later.
Setup Instructions
1
Create Integration in UptimeKit
- Navigate to Settings > Integrations in your dashboard
- Click Add Integration and select Prometheus AlertManager
- Configure the integration settings:
- Enter a name for the integration
- Enable Auto-resolve if you want incidents to automatically resolve when alerts clear
- Configure severity mapping if needed
- Customize the title template (optional)
- Click Create
- Copy the generated Webhook URL and Bearer Token
2
Configure AlertManager
Add the UptimeKit webhook receiver to your AlertManager configuration:Replace:
https://your-uptimekit-domain.com/api/integrations/prometheus/webhookwith your actual webhook URLyour_bearer_token_herewith the bearer token from UptimeKit
3
Reload AlertManager
Reload your AlertManager configuration to apply the changes:
4
Test the Integration
Trigger a test alert in Prometheus to verify that incidents are created correctly in UptimeKit. You should see a new incident appear on your status page when the alert fires.
Webhook Payload Format
AlertManager sends webhook payloads to UptimeKit in the following format:UptimeKit uses the alert fingerprint to deduplicate alerts. Multiple alerts with the same fingerprint will update the same incident rather than creating duplicates.
Key Features
Alert Deduplication
UptimeKit uses the alert fingerprint provided by Prometheus to prevent duplicate incidents. When a new alert arrives:- UptimeKit checks if an incident with the same fingerprint already exists
- If yes, the existing incident is updated instead of creating a new one
- If no, a new incident is created
Severity Mapping
You can map Prometheus alert severity labels to UptimeKit incident severity levels:| Prometheus Severity | UptimeKit Severity | Default Mapping |
|---|---|---|
critical | Critical | Yes |
warning | Major | Yes |
info | Minor | Yes |
| Custom labels | Configurable | Via dashboard |
Auto-Resolution
When Auto-resolve is enabled:- UptimeKit tracks the status of each alert
- When an alert transitions to
resolvedstatus in AlertManager - UptimeKit automatically updates the corresponding incident to “Resolved” state
- A resolution message is added to the incident timeline
Title Templates
Customize incident titles using alert label interpolation. Use placeholders like{{alertname}}, {{service}}, or {{instance}} to dynamically generate titles.
Examples:
{{alertname}} - {{service}}→ “HighErrorRate - api”Alert: {{alertname}} on {{instance}}→ “Alert: HighErrorRate on api-server-1”{{severity | upper}}: {{summary}}→ “CRITICAL: High error rate detected”
summary annotation or alertname label as the incident title.
Security
The Prometheus integration uses bearer token authentication to secure webhook endpoints.Best Practices
- Protect Your Token: Store the bearer token securely and never commit it to version control
- Use HTTPS: Always use HTTPS for webhook URLs in production to encrypt the bearer token in transit
- Rotate Tokens: Periodically regenerate bearer tokens by recreating the integration
- Limit Access: Only configure the webhook URL in trusted AlertManager instances
Troubleshooting
Incidents Not Being Created
- Verify bearer token: Ensure the token in AlertManager matches the one in UptimeKit
- Check webhook URL: Confirm the URL is correct and accessible from your AlertManager instance
- Review AlertManager logs: Look for webhook delivery errors or authentication failures
- Test connectivity: Use
curlto manually send a test payload to the webhook URL - Check integration status: Verify the integration is enabled in UptimeKit settings
Duplicate Incidents
If you’re seeing duplicate incidents for the same alert:- Check fingerprint: Ensure Prometheus is generating consistent fingerprints
- Review alert labels: Alerts with different labels will have different fingerprints
- Verify deduplication: Confirm that UptimeKit is receiving the fingerprint field in the payload
Auto-Resolve Not Working
If incidents aren’t auto-resolving when alerts clear:- Enable auto-resolve: Verify the setting is enabled in the integration configuration
- Check AlertManager: Ensure resolved notifications are being sent
- Review route configuration: Confirm your AlertManager routes don’t filter out resolved alerts
- Verify webhook delivery: Check AlertManager logs for successful delivery of resolved notifications
Example AlertManager Configuration
Here’s a complete example of an AlertManager configuration with UptimeKit integration:The
send_resolved: true setting is required for auto-resolution to work. This ensures AlertManager sends notifications when alerts clear.Advanced Usage
Multiple Prometheus Instances
You can create multiple Prometheus integrations in UptimeKit to handle alerts from different Prometheus instances or clusters. Each integration gets its own webhook URL and bearer token. This is useful for:- Separating production and staging alerts
- Handling alerts from different data centers or regions
- Routing different severity levels to different status pages
Custom Alert Processing
Use severity mapping and title templates to customize how Prometheus alerts appear as incidents:- Map your organization’s severity labels to appropriate incident levels
- Create title templates that include relevant context from alert labels
- Use AlertManager’s grouping features to aggregate related alerts