Monitoring for developers

Get notified when your websites go down, your cron jobs don't run, or your batch jobs fail.

Monitor your cron jobs with a simple curl:
$ curl https://watcher.yourdomain.com/ping/[check-id]
Get alerted when your cron job doesn't run on schedule

Cron Job Monitoring

Get alerted when your scheduled tasks, backups, and batch jobs don't run on time. Set up monitoring in seconds with unique ping URLs.

✓ Cron expression support
✓ Grace period configuration
✓ Event history and logs

Website Monitoring

Monitor HTTP/HTTPS endpoints with SSL certificate tracking, response time monitoring, and instant alerts when services go down.

✓ SSL certificate monitoring
✓ Response time tracking
✓ Keyword checking

Custom Metrics

Push custom metrics from your batch jobs and scripts. Track execution time, success rates, and custom performance data.

✓ Simple HTTP POST API
✓ Standard metric format
✓ Historical data storage

Public Status Pages

Share your service status with customers and stakeholders. Create branded status pages with real-time updates and uptime history.

✓ Custom branding
✓ Real-time updates
✓ Uptime history

How it works

1

Create a check

Add a monitor for your website, cron job, or custom service. Get a unique ping URL or configure HTTP monitoring.

2

Ping on schedule

Add a ping to your cron job, or let us monitor your website. We'll track when things run and how long they take.

3

Get notified

Receive instant alerts via Telegram when something goes wrong. Know about problems before your users do.

Simple integration

Bash / Cron

# Add to your crontab:
0 2 * * * /backup.sh && \
  curl https://watcher.io/ping/abc123

# With failure detection:
0 2 * * * /backup.sh \
  && curl -fsS --retry 3 \
  https://watcher.io/ping/abc123

Python

import requests

# Start signal
requests.post('https://watcher.io/ping/abc123/start')

# Your code here
do_backup()

# Success signal
requests.post('https://watcher.io/ping/abc123')

Node.js

const axios = require('axios');

async function runTask() {
  try {
    await performBackup();
    await axios.post(
      'https://watcher.io/ping/abc123'
    );
  } catch (error) {
    console.error('Failed:', error);
  }
}

Docker / Docker Compose

services:
  backup:
    image: my-backup
    command: >
      sh -c "
        /backup.sh &&
        wget -O- 
        https://watcher.io/ping/abc123
      "

What can you monitor?

⏰ Scheduled Tasks

  • • Database backups
  • • Data synchronization
  • • Report generation
  • • Cleanup scripts
  • • Nightly builds

🌐 Web Services

  • • Website uptime
  • • API endpoints
  • • SSL certificates
  • • Response times
  • • Content verification

🔧 Background Jobs

  • • Queue workers
  • • ETL processes
  • • Data pipelines
  • • Batch processing
  • • System maintenance

Start monitoring in minutes

Simple setup. No credit card required.

Get Started Free