tutorial

Uptime monitoring for Radarr movie manager

Radarr is a self-hosted movie collection manager and download automation tool. It monitors release feeds, grabs movies via your configured download clients, ...

Radarr is a self-hosted movie collection manager and download automation tool. It monitors release feeds, grabs movies via your configured download clients, and organises them into your media library. When Radarr goes down, new releases stop being grabbed, your watchlist stops updating, and your Plex or Jellyfin library stagnates — often unnoticed until you search for a film and find it missing.

This tutorial covers production-grade uptime monitoring for Radarr using Vigilmon. We will walk through:

  • Monitoring Radarr web UI availability
  • Monitoring the /api/v3/system/status health check endpoint
  • Monitoring download client connectivity
  • SSL certificate alerts for your Radarr instance
  • Indexer health monitoring via heartbeat

Prerequisites

  • Radarr v3 or v4 running on Linux, Windows, Docker, or a NAS
  • A Radarr API key (found in Settings → General → Security)
  • A free account at vigilmon.online

Part 1: Monitor Radarr web UI availability

The first monitor confirms that the Radarr process is running and the web server is accepting connections. A basic HTTP check against the Radarr URL catches process crashes, port conflicts, and network issues.

Test manually

curl -I http://radarr.example.com:7878
# Or if behind a reverse proxy with TLS:
curl -I https://radarr.example.com

Expected: HTTP/1.1 200 OK

Add a Vigilmon HTTP monitor

  1. Log in to vigilmon.online and click Add Monitor.
  2. Choose HTTP(S) monitor.
  3. Enter your Radarr URL: https://radarr.example.com (or http://your-server-ip:7878).
  4. Set interval to 2 minutes.
  5. Add a keyword check: must contain Radarr.
  6. Add your alert channel.
  7. Click Save.

The keyword check ensures the Radarr application served the page, rather than a reverse proxy error page that might return HTTP 200 with fallback content.


Part 2: Monitor the system/status API endpoint

Radarr exposes /api/v3/system/status — an unauthenticated-except-by-API-key endpoint that returns application health details including version, runtime, and OS information. Monitoring this directly tests the API layer, which is the component that performs all movie management operations.

Test the status endpoint

curl -H "X-Api-Key: YOUR_API_KEY" https://radarr.example.com/api/v3/system/status

Expected response:

{
  "appName": "Radarr",
  "instanceName": "Radarr",
  "version": "5.7.0.8882",
  "buildTime": "2026-02-10T00:00:00Z",
  "isDebug": false,
  "isProduction": true,
  "isAdmin": false,
  "isUserInteractive": false,
  "startupPath": "/app/radarr/bin",
  "appData": "/config",
  "osName": "ubuntu",
  "branch": "master",
  "authentication": "forms",
  "sqliteVersion": "3.45.1",
  "urlBase": "",
  "runtimeVersion": "6.0.26",
  "migrationVersion": 220
}

Add a Vigilmon HTTP monitor for the API

  1. Click Add MonitorHTTP(S) monitor.
  2. Enter: https://radarr.example.com/api/v3/system/status
  3. Set interval to 1 minute.
  4. Under Custom headers, add:
    • Header name: X-Api-Key
    • Header value: your Radarr API key
  5. Add a keyword check: must contain Radarr.
  6. Name the monitor Radarr API Status.
  7. Click Save.

This monitor runs at 1-minute intervals and catches scenarios where the web UI appears to load (served by a caching proxy) but the Radarr API itself is down.


Part 3: Monitor download client connectivity

Radarr depends on external download clients — qBittorrent, SABnzbd, Transmission, NZBGet, or others — to actually fetch movies. If a download client goes offline or its credentials change, Radarr queues movies indefinitely with no alert. The /api/v3/health endpoint surfaces these connectivity problems.

Check the health endpoint

curl -H "X-Api-Key: YOUR_API_KEY" https://radarr.example.com/api/v3/health

When everything is healthy, this returns an empty array []. When there are problems:

[
  {
    "source": "DownloadClientCheck",
    "type": "warning",
    "message": "Unable to communicate with download client qBittorrent.",
    "wikiUrl": "https://wiki.servarr.com/radarr/system#download-clients"
  }
]

Monitor download client health

  1. Click Add MonitorHTTP(S) monitor.
  2. Enter: https://radarr.example.com/api/v3/health
  3. Set interval to 5 minutes.
  4. Under Custom headers, add X-Api-Key: YOUR_API_KEY.
  5. Add a keyword check: must contain [] (empty array — a healthy response).
  6. Name the monitor Radarr Download Client Health.
  7. Click Save.

For additional coverage, add a direct Vigilmon HTTP monitor for each download client's web UI. This tells you immediately when qBittorrent or SABnzbd goes down, rather than waiting for Radarr to report connectivity failures.


Part 4: SSL certificate monitoring

Radarr exposed behind a reverse proxy with TLS relies on a valid certificate. An expired certificate causes HTTPS connections to fail immediately — Radarr effectively goes offline for any client connecting over HTTPS, and Prowlarr or Jackett sync operations fail if they connect to Radarr over TLS.

  1. In Vigilmon, click Add Monitor.
  2. Choose SSL monitor.
  3. Enter radarr.example.com.
  4. Set alert threshold to 14 days before expiry.
  5. Add your alert channel.
  6. Click Save.

If you use a wildcard certificate for your homelab, add an SSL monitor on the root domain (example.com) so a wildcard renewal failure triggers an alert before it affects Radarr and all other services.


Part 5: Indexer health monitoring via heartbeat

Radarr uses indexers (Jackett, Prowlarr, or direct Newznab/Torznab feeds) to find movie releases. If all indexers fail — due to API key expiry, network changes, or indexer site outages — Radarr silently stops finding movies. You can detect this using a Vigilmon heartbeat combined with a cron job that checks indexer health.

Set up a Vigilmon heartbeat

  1. In Vigilmon, click Add MonitorHeartbeat monitor.
  2. Set name: Radarr Indexer Health.
  3. Set interval: 30 minutes (Radarr syncs indexers roughly every 30 minutes).
  4. Set grace period: 10 minutes.
  5. Click Save and copy the heartbeat URL.

Create a health-check cron job

#!/bin/bash
# /usr/local/bin/radarr-indexer-check.sh
# Run via cron: */30 * * * * /usr/local/bin/radarr-indexer-check.sh

RADARR_URL="https://radarr.example.com"
API_KEY="YOUR_API_KEY"
HEARTBEAT_URL="https://vigilmon.online/api/v1/heartbeats/YOUR_HEARTBEAT_ID"

HEALTH=$(curl -s -H "X-Api-Key: $API_KEY" "$RADARR_URL/api/v3/health")

# Only ping heartbeat if no indexer errors
if ! echo "$HEALTH" | grep -q "IndexerStatusCheck"; then
  curl -X POST "$HEARTBEAT_URL"
fi

Make the script executable and add it to cron:

chmod +x /usr/local/bin/radarr-indexer-check.sh
echo "*/30 * * * * /usr/local/bin/radarr-indexer-check.sh" | crontab -

If the heartbeat is not received within 40 minutes (30-minute interval plus 10-minute grace period), Vigilmon alerts you — indicating either Radarr is down or all indexers are failing.


Summary

Your Radarr deployment now has four monitoring layers:

  1. Web UI check — confirms Radarr is running and serving the interface, polled every 2 minutes.
  2. API status check (/api/v3/system/status) — confirms the Radarr API is healthy and responding, polled every minute.
  3. Download client health — surfaces connectivity issues with qBittorrent, SABnzbd, and other clients before movies stop downloading.
  4. Indexer heartbeat — confirms indexers are reachable and Radarr can find movie releases, checked every 30 minutes.

Vigilmon handles check scheduling, multi-region polling, alert routing, and uptime history. You know within minutes when Radarr goes down — not after your watchlist sits stale for days.


Monitor your Radarr instance free at vigilmon.online

#radarr #selfhosted #monitoring #homelab #devops

Monitor your app with Vigilmon

Free plan — 5 monitors, no credit card required. Up and running in 60 seconds.

Start free →