https://github.com/systemli/alertmanager-webhook-signal
Forward Alertmanager alerts to a Signal group
https://github.com/systemli/alertmanager-webhook-signal
Last synced: 11 months ago
JSON representation
Forward Alertmanager alerts to a Signal group
- Host: GitHub
- URL: https://github.com/systemli/alertmanager-webhook-signal
- Owner: systemli
- License: agpl-3.0
- Created: 2025-06-23T20:16:03.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-06-26T17:54:58.000Z (11 months ago)
- Last Synced: 2025-06-26T18:38:54.418Z (11 months ago)
- Language: Go
- Size: 24.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# alertmanager-webhook-signal
[](https://github.com/systemli/alertmanager-webhook-signal/actions/workflows/integration.yml) [](https://github.com/systemli/alertmanager-webhook-signal/actions/workflows/quality.yml) [](https://sonarcloud.io/summary/new_code?id=systemli_alertmanager-webhook-signal) [](https://sonarcloud.io/summary/new_code?id=systemli_alertmanager-webhook-signal) [](https://sonarcloud.io/summary/new_code?id=systemli_alertmanager-webhook-signal)
This service listens for [webhook requests by Alertmanager](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config) and forwards the alerts to a Signal group.
It requires the [JSON-RPC service of AsamK/signal-cli](https://github.com/AsamK/signal-cli/wiki/JSON-RPC-service) to send messages to Signal.
## Configuration
The service expects several environment variables to be set. See `.env.example`.
### Alertmanager configuration
Example configuration to use this service as a [webhook receiver](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config) in Alertmanager that receives alerts with severity `critical` (default receiver `admins` receives all alerts):
```yaml
receivers:
- name: admins_mail
[...]
- name: admins_signal
webhook_configs:
- url: http://container:8080/alertmanager
send_resolved: true
route:
group_wait: 1m
group_interval: 5m
repeat_interval: 4h
receiver: admins_mail
routes:
- match:
severity: critical
receiver: admins_signal
continue: true
- match:
severity: critical
receiver: admins_mail
continue: true
```