https://github.com/vitalvas/alertmanager-gateway
https://github.com/vitalvas/alertmanager-gateway
alertmanager alertmanager-webhook alertmanager-webhook-receiver prometheus
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/vitalvas/alertmanager-gateway
- Owner: vitalvas
- License: mit
- Created: 2024-03-03T19:39:10.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2025-10-20T01:19:56.000Z (8 months ago)
- Last Synced: 2025-10-20T05:20:58.569Z (8 months ago)
- Topics: alertmanager, alertmanager-webhook, alertmanager-webhook-receiver, prometheus
- Language: Go
- Homepage:
- Size: 318 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Alertmanager Gateway
Universal adapter for Prometheus Alertmanager webhooks that transforms and routes alerts to various third-party notification systems.
## Features
- Receives webhooks from Prometheus Alertmanager
- Transforms alerts using Go templates or jq
- Routes to multiple destinations based on path
- Supports various output formats (JSON, Form, Query params)
- Split grouped alerts for individual processing
- Built-in authentication and security
- Prometheus metrics for monitoring
- Batch processing with parallel requests
## Quick Start
1. Create a configuration file `config.yaml`:
```yaml
server:
address: ":8080"
destinations:
- name: "slack"
url: "https://hooks.slack.com/services/YOUR/WEBHOOK/URL"
method: "POST"
format: "json"
engine: "go-template"
template: |
{
"text": "{{if eq .Status \"firing\"}}Alert Firing{{else}}Alert Resolved{{end}}: {{.GroupLabels.alertname}}",
"attachments": [{
"color": "{{if eq .Status \"firing\"}}danger{{else}}good{{end}}",
"title": "{{.GroupLabels.alertname}}",
"text": "{{.CommonAnnotations.summary}}",
"fields": [{
"title": "Status",
"value": "{{.Status}}",
"short": true
}, {
"title": "Severity",
"value": "{{index .CommonLabels \"severity\" | default \"unknown\"}}",
"short": true
}]
}]
}
enabled: true
```
2. Run the gateway:
```bash
go run .
```
3. Configure Alertmanager:
```yaml
receivers:
- name: 'slack'
webhook_configs:
- url: 'http://localhost:8080/webhook/slack'
```