tutorial

Monitoring Readarr with Vigilmon

Readarr keeps your ebook and audiobook library organized — but if the web UI goes down or metadata providers stop responding, your library management silently stalls. Here's how to monitor Readarr end-to-end with Vigilmon.

Readarr is a self-hosted collection manager for ebooks and audiobooks — part of the popular *arr ecosystem alongside Sonarr, Radarr, and Lidarr. It watches your download clients, fetches metadata from Goodreads and BookInfo, and keeps your library organized automatically. But when Readarr's web UI goes offline, a download client loses connectivity, or metadata lookups start timing out, everything stalls silently. Vigilmon gives you uptime monitoring, API health checks, and SSL certificate alerts so you know about Readarr problems before your library does.

What You'll Set Up

  • HTTP uptime monitor for the Readarr web UI
  • API health check via /api/v1/system/status
  • Download client connectivity alert using a keyword monitor
  • Goodreads/BookInfo metadata provider availability check
  • SSL certificate expiry alert

Prerequisites

  • Readarr running (default port 8787)
  • Your Readarr API key (found under Settings → General → API Key)
  • A free Vigilmon account

Step 1: Monitor the Readarr Web UI

The first monitor confirms that Readarr's web interface is reachable from the outside:

  1. Log in to vigilmon.online and click Add Monitor.
  2. Set Type to HTTP / HTTPS.
  3. Enter your Readarr URL: http://your-server-ip:8787 (or https://readarr.yourdomain.com if you proxy through nginx or Caddy).
  4. Set Check interval to 5 minutes.
  5. Set Expected HTTP status to 200.
  6. Click Save.

Readarr serves its React frontend on the root path. A 200 response means the UI is live. If you use a reverse proxy with authentication, check the IP allowlist so Vigilmon's probes aren't blocked.


Step 2: Health Check via the System Status API

Readarr exposes a built-in status endpoint that reports version info and confirms the backend is fully initialized. This is a more reliable signal than the UI check alone:

  1. Add a second HTTP / HTTPS monitor.
  2. URL: http://your-server-ip:8787/api/v1/system/status
  3. Add a Request header: X-Api-Key: YOUR_API_KEY
  4. Set Expected HTTP status to 200.
  5. Enable Keyword check and enter version as the expected keyword.
  6. Set Check interval to 5 minutes.
  7. Click Save.

A healthy response looks like:

{
  "appName": "Readarr",
  "version": "0.3.32.2587",
  "startupPath": "/app/readarr",
  ...
}

If the API key is missing or wrong, Readarr returns 401 Unauthorized. If the database is locked or migrations failed on startup, the endpoint returns an error — catching this before the UI does.


Step 3: Monitor Download Client Connectivity

Readarr depends on at least one download client (qBittorrent, SABnzbd, NZBGet, etc.). If the connection between Readarr and the download client breaks, new downloads queue up but never start. Use the health check API to detect this:

  1. Add a third HTTP / HTTPS monitor.
  2. URL: http://your-server-ip:8787/api/v1/health
  3. Header: X-Api-Key: YOUR_API_KEY
  4. Enable Keyword check and enter [] as the expected keyword — an empty array means no health warnings.
  5. Set Expected HTTP status to 200.
  6. Click Save.

When Readarr cannot reach a download client, the health endpoint returns a non-empty array with a message like "Unable to communicate with qBittorrent". The keyword check on [] will fail, triggering a Vigilmon alert so you can investigate before your queue fills up.


Step 4: Check Metadata Provider Availability

Readarr fetches book metadata from Goodreads and BookInfo. If these upstream services are unreachable (DNS failure, rate limit, or outage), Readarr can't add new books or refresh existing metadata. Monitor the Goodreads API availability:

  1. Add an HTTP / HTTPS monitor.
  2. URL: https://www.goodreads.com
  3. Set Expected HTTP status to 200.
  4. Set Check interval to 15 minutes.
  5. Click Save.

This external check tells you when a Goodreads outage is affecting your metadata lookups — distinct from a Readarr problem. Pair it with the health endpoint check from Step 3 for root-cause clarity: if health shows metadata errors and this monitor is also down, it's an upstream issue; if only health is red, the problem is local to Readarr's configuration.


Step 5: SSL Certificate Alert

If you expose Readarr through a reverse proxy with TLS (nginx, Caddy, Traefik), expired certificates cause browser errors that prevent access entirely:

  1. Open the web UI monitor you created in Step 1.
  2. Enable Monitor SSL certificate.
  3. Set Alert when certificate expires in less than 21 days.
  4. Click Save.

A 21-day window gives you enough time to investigate Let's Encrypt auto-renewal failures and manually trigger a renewal if needed:

# For Caddy (handles renewal automatically but logs failures)
journalctl -u caddy --since "1 hour ago" | grep -i "tls\|cert\|renew"

# For nginx + certbot
certbot renew --dry-run

Putting It All Together

With these five monitors in place you have full-stack visibility into Readarr:

| Monitor | What it detects | |---|---| | Web UI (/) | UI unreachable, nginx misconfiguration | | /api/v1/system/status | Backend crash, DB migration failure | | /api/v1/health | Download client disconnected | | Goodreads availability | Upstream metadata outage | | SSL certificate | Expiring TLS cert on reverse proxy |

Configure all alerts to send to your preferred notification channel in Vigilmon (Settings → Notifications) — Slack, Discord, email, or webhook. When your ebook library stops updating, you'll know exactly which layer broke rather than hunting through Readarr logs manually.

Monitor your app with Vigilmon

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

Start free →