uptime-webhook

module
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2023 License: MIT

README ΒΆ

Uptime webhook handler

Release License Image size

It's webhook handler for uptime.com. You can define multiple teams and multiple notifiers for each team.

  1. Uptime.com will monitor our targets ( HTTP/S - ICMP - DNS - API - ... )
  2. Notify our webhook after making a decision
  3. Our webhook handler will send the final alert based on teams and any enabled platform.

design

Installation

  1. Create your configuration file. You can use config.yml.example as a template.

  2. Add your Squadcast configuration to the config.yml file.

  3. 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
    
  4. Go to Uptime dashboard and create a new webhook in Notifications / Integrations section.

  5. Use your deployed webhook URL like this:

    http://<your-host>:8080/api/v1/alert/
    
  6. 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
  1. Create a new Service in Squadcast ( Or use an existing one )

  2. Use Incident Webhook as an alert source

  3. 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 πŸ’›

Donate with Bitcoin Donate with Ethereum

ko-fi

Contributing 🀝

Don't be shy and reach out to us if you want to contribute πŸ˜‰

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request

Issues

Each project may have many problems. Contributing to the better development of this project by reporting them. πŸ‘

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL