Provider Setup
Configure Prometheus, Datadog, CloudWatch, and generic alerting tools to send alerts to BlameTrail.
Provider Setup
Each provider has a dedicated endpoint that accepts its native webhook format. All endpoints require an X-Alert-Token header.
Prometheus / AlertManager
Configure AlertManager to send webhooks to BlameTrail:
# alertmanager.yml
receivers:
- name: blametrail
webhook_configs:
- url: https://blametrail.com/api/alerts/ingest/prometheus
http_config:
headers:
X-Alert-Token: "alt_your_token_here"BlameTrail accepts the standard AlertManager webhook payload with alerts[] containing status, labels, annotations, startsAt, endsAt, and generatorURL.
Datadog
Configure a Datadog webhook integration:
- In Datadog, go to Integrations > Webhooks
- Create a new webhook with:
- URL:
https://blametrail.com/api/alerts/ingest/datadog - Custom Headers:
X-Alert-Token: alt_your_token_here
- URL:
- Use the webhook in your monitor notification with
@webhook-blametrail
Signature verification (optional)
For additional security, you can configure HMAC-SHA256 signature verification:
- Add a signing secret to your BlameTrail ingest token via Settings > Integrations > Alert Ingestion
- Configure Datadog to sign payloads using the same secret
- BlameTrail verifies the
X-Datadog-Signatureheader using timing-safe comparison
AWS CloudWatch
CloudWatch alerts are delivered via SNS notifications:
- Create an SNS topic in AWS
- Add an HTTPS subscription with the endpoint:
https://blametrail.com/api/alerts/ingest/cloudwatch - Include
X-Alert-Tokenin the subscription's HTTP headers - BlameTrail automatically confirms the SNS subscription
- Configure CloudWatch Alarms to publish to the SNS topic
BlameTrail validates that SNS subscription confirmation URLs use HTTPS and originate from *.amazonaws.com domains.
Generic
The generic endpoint accepts a simple JSON payload for any alerting tool not listed above:
{
"title": "High CPU Usage",
"description": "CPU usage exceeded 90% for 5 minutes",
"severity": "warning",
"status": "firing",
"source": "custom-monitor",
"labels": {
"host": "web-01",
"region": "us-east-1"
}
}Supported fields:
| Field | Required | Description |
|---|---|---|
title | Yes | Alert title |
description | No | Detailed description |
severity | No | critical, error, warning, or info (default: warning) |
status | No | firing or resolved (default: firing) |
source | No | Source identifier for fingerprinting |
labels | No | Key-value pairs for grouping and deduplication |
fingerprint | No | Custom fingerprint (auto-generated from title + source + labels if omitted) |