Skip to content

Your jobs don’t tell you when they stop. We do.

SilenceWatch is job monitoring built on one idea: each job sends a heartbeat when it runs, and you are alerted the moment one goes missing. Free to use, open source, self-hostable.
  • Free
  • Open source
  • One HTTP call
A job goes quiet. You know within seconds.

Works with anything that can call a URL

crontab, systemd timers, Kubernetes CronJobs, GitHub Actions, Spring Boot, Quartz, Docker, Bash, Python, Node.js, PowerShell, Java

A job that stops silently looks like a job with nothing to do

Backups, exports, renewals, billing runs: when a scheduled job stops, no error is raised and nobody is told.

SilenceWatch is a dead man’s switch. It watches for what did not happen: if a job does not check in on time, the alert goes out.

Job monitoring in three steps

Your first alert in a few minutes.

  1. 1

    Declare the job

    Set a frequency or a cron expression, a time zone and the delay you tolerate. See job monitoring.

  2. 2

    Ping when it finishes

    One curl at the end of the job. See the ping API.

  3. 3

    Get alerted

    No ping in time: an incident opens and your channels are notified. The next ping resolves it.

Ready-to-copy examples for crontab, systemd, Docker, Kubernetes and GitHub Actions.

What SilenceWatch does

Cron and intervals

A period or a cron expression, with a time zone and a grace period. See cron monitoring.

Detection every 10 seconds

A late check is spotted within seconds.

Alerts where you are

Email, webhook, Slack, Teams and Discord, each testable in one click.

Spring Boot starter

One dependency: every @Scheduled job declares itself. See Spring Boot.

History and incidents

Every ping, incident and alert, searchable.

REST API and keys

Manage checks through the API, with project-scoped keys.

Which jobs?

Anything that must run regularly and whose absence matters. If it can call a URL, it can be monitored. See what a dead man’s switch is.

Spring Boot: nothing to declare by hand

The starter reads your @Scheduled tasks and Quartz jobs at startup, declares them, and pings around every run. It never blocks your job. See Spring Boot monitoring.

Hosted or self-hosted

Open source under Apache 2.0. Use the hosted service, free, or self-host it: one container and one PostgreSQL database.

Your next silent failure shouldn’t be silent

Get alerted by email or on any webhook.

Frequently asked questions

What is job monitoring?

Checking that scheduled jobs, cron jobs included, actually run. Each job pings SilenceWatch when it finishes, and you are alerted when a ping does not arrive.

Is SilenceWatch free?

Yes. The hosted service is free, and the self-hosted edition is free and open source (Apache 2.0), with no reserved feature.

How do I monitor a job that does not crash but stops running?

Use a dead man’s switch: the job pings on every run, and SilenceWatch alerts you when a ping is missing. It is the only way to detect an absence.

Does SilenceWatch work with crontab, systemd and Kubernetes?

Yes. Anything that can make an HTTP request works: crontab, systemd, Kubernetes, GitHub Actions, scripts.

Can Spring Boot @Scheduled tasks be monitored automatically?

Yes. The starter discovers @Scheduled methods and Quartz jobs at startup and pings around every run, with no per-job configuration.

Can I self-host SilenceWatch?

Yes, with Docker: one container and one PostgreSQL database, under the Apache 2.0 licence.

Which alert channels are available?

Email, webhook (signed with HMAC-SHA256), Slack, Microsoft Teams and Discord, each testable from the interface.