Uptime webhook handler
It's webhook handler for uptime.com. You can define multiple teams and multiple notifiers for each team.
- Uptime.com will monitor our targets ( HTTP/S - ICMP - DNS - API - ... )
- Notify our webhook after making a decision
- Our webhook handler will send the final alert based on teams and any enabled platform.
Installation
-
Create your configuration file. You can use config.yml.example
as a template.
-
Add your Squadcast configuration to the config.yml
file.
-
Run docker-compose up -d
to start the service or run it manually:
docker run -d \
--name uptime-webhook \
-p 8080:8080 \
-v /path/to/config.yml:/app/configs/config.yml \
hatamiarash7/uptime-webhook:latest
-
Go to Uptime dashboard and create a new webhook in Notifications / Integrations section.
-
Use your deployed webhook URL like this:
http://<your-host>:8080/api/v1/alert/
-
Wait for alerts π Or you can send a test alert in Uptime dashboard.
Notifiers
You can use multiple notifiers at the same time. Just define them to the config.yml
file.
- Squadcast
- Telegram
- Slack ( WIP )
- Webhook ( WIP )
Squadcast
-
Create a new Service in Squadcast ( Or use an existing one )
-
Use Incident Webhook
as an alert source
-
Define that in config.yml
file
notifier:
squadcast:
enable: true
teams:
team1: "<WEBHOOK-URL>"
team2: "<WEBHOOK-URL>"
Telegram
Fill your notifier
with a telegram
section like this:
notifier:
telegram:
enable: true
host: "https://api.telegram.org/bot"
token: "1234:ABCD"
teams:
team1:
- chat: "-123456789"
team2:
- chat: "-124564"
topic: "56789"
Monitoring
We have some metrics for monitoring our service in /metrics
path.
Metric name |
Description |
UPTIME_webhook_total_alerts |
Total number of alerts |
UPTIME_webhook_telegram_success |
Total number of successful Telegram notify |
UPTIME_webhook_telegram_failure |
Total number of failure Telegram notify |
UPTIME_webhook_squadcast_success |
Total number of successful Squadcast notify |
UPTIME_webhook_squadcast_failure |
Total number of failure Squadcast notify |
Support π
Contributing π€
Don't be shy and reach out to us if you want to contribute π
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request
Issues
Each project may have many problems. Contributing to the better development of this project by reporting them. π