19.11.2025

Uptime-Watchdog: easy monitoring of service uptime - installation, configuration, and use

uptime-watchdog is a minimalist and fast monitoring tool that tracks the availability of specified URLs and notifies you if a service stops responding. The tool is written in Go, consumes almost no resources, and can run even on low-powered servers or inside containers.

It’s suitable for DevOps engineers, developers, pet-project owners, and anyone who needs a simple self-hosted monitoring solution without heavy systems.

Get instant access to your working environment from anywhere in the world. Our cloud-based remote desktop delivers stable performance, high speed, and secure connectivity — ideal for businesses, freelancers, and distributed teams.
Why choose us:
  • 24/7 support — specialists always available
  • 99.9% SLA — guaranteed stability and reliability
  • 8 data centers worldwide — connect to the location closest and fastest for you

Work comfortably, securely, and without limitations — in the Serverspace cloud.

What uptime-watchdog is used for

The tool solves several tasks:

1. Service uptime monitoring

You can add any URLs — APIs, websites, health-check endpoints, microservices. Watchdog will regularly check them and record their status.

2. Fast failure notifications

If the application stops responding or returns an error, you will receive a notification (Slack, Telegram, or another webhook), allowing you to react faster.

3. A lightweight alternative to Prometheus + Alertmanager

If you don’t need a heavy monitoring stack, uptime-watchdog is a perfect option. You can run it in Docker or as a standalone binary.

4. External availability checks

The tool checks your service the same way an external user would — making monitoring more accurate.

Installation

1. Via Go

go install github.com/seponik/uptime-watchdog@latest

2. Via binary

Download the release from GitHub Releases, make it executable, and run:

chmod +x uptime-watchdog ./uptime-watchdog

3. Via Docker

docker run -d --name uptime-watchdog \ -v ./config.yaml:/app/config.yaml \ seponik/uptime-watchdog:latest

Configuration

The main configuration is done in config.yaml.

Example configuration:

interval: 30s

endpoints:

name: "Frontend"
url: "https://myapp.com
"
timeout: 5s

name: "API"
url: "https://api.myapp.com/health
"
timeout: 3s

notify:
telegram:
token: "YOUR_TELEGRAM_BOT_TOKEN"
chat_id: "123456789"

Explanation:

Running

uptime-watchdog -config config.yaml

Logs will appear in stdout — you can forward them to journald or capture via Docker.

Practical use cases

  1. Production service monitoring Add microservice health-checks and receive notifications if any service goes down or latency increases.
  2. Pet projects and test environments If you host small services on a VPS, watchdog helps you detect when they become unavailable due to hosting issues.
  3. Third-party API monitoring Monitor external services your application depends on — such as payment gateways.
  4. Post-deployment checks Run watchdog during releases to ensure all health-checks pass after deployment.

Best practices

Conclusion

uptime-watchdog is a simple, fast, and convenient tool for monitoring service availability. It’s perfect for those who need reliable uptime checks without configuring complex monitoring systems. It’s easy to deploy, simple to configure, and introduces minimal load on your infrastructure.

FAQ