Overseerr is the request hub for your Plex media server. Your users submit movie and TV requests through it; Radarr, Sonarr, and Lidarr pick them up and start downloading. When Overseerr goes down — or worse, stays up but silently loses its Plex connection — requests vanish into the void and no one knows until someone complains in your Discord.
Vigilmon gives Overseerr the external monitoring layer it doesn't have built in: continuous health checks, media server connectivity assertions, integration health, and heartbeat monitoring to confirm your request processing pipeline is actually working end-to-end.
This tutorial covers everything you need to keep Overseerr monitored in production.
What You'll Build
- An HTTP monitor on Overseerr's
/api/v1/statushealth endpoint - A Plex connectivity assertion monitor
- Radarr, Sonarr, and Lidarr integration health monitors
- A heartbeat monitor to confirm request processing is running
- SSL certificate monitoring for proxied deployments
Prerequisites
- Overseerr running (default port:
5055) - A free account at vigilmon.online
Step 1: Monitor the Status API
Overseerr exposes a health endpoint at /api/v1/status. No API key is required — it's publicly accessible and returns application metadata including Plex server connectivity.
Test it:
curl http://localhost:5055/api/v1/status
Expected response:
{
"version": "1.33.2",
"commitTag": "HEAD",
"updateAvailable": false,
"commitsBehind": 0,
"restartRequired": false,
"mediaServerOnline": true
}
The mediaServerOnline field is the key signal: false means Overseerr can't reach Plex. Requests will still be accepted but won't sync.
Set up the Vigilmon monitor:
- Log in to Vigilmon and click New Monitor → HTTP.
- Set URL to
https://overseerr.yourdomain.com/api/v1/status. - Set Check interval to 60 seconds.
- Set Expected status code to
200. - Under Advanced → JSON body assertion, add two assertions:
- Path:
version| Operator:exists - Path:
mediaServerOnline| Operator:equals| Value:true
- Path:
- Save the monitor.
Now Vigilmon alerts you when Overseerr is down and when it loses its Plex connection.
Step 2: Monitor the Web UI
The API can return 200 while the React frontend fails to load. A corrupted build, bad reverse proxy config, or missing static file will leave the API healthy while users see a blank screen.
- Click New Monitor → HTTP in Vigilmon.
- Set URL to
https://overseerr.yourdomain.com/. - Set Expected status code to
200. - Under Advanced → Keyword check:
- Keyword present:
Overseerr
- Keyword present:
- Set Check interval to 60 seconds.
- Save.
If the UI loads correctly, the HTML contains "Overseerr" in the title or body. A broken build or 502 from the proxy will fail this check.
Step 3: Monitor Plex Server Connectivity
Overseerr connects to Plex to sync libraries and mark requests as available. If the Plex server goes offline, Overseerr can't confirm that downloaded content is ready to watch.
You can monitor Plex directly with Vigilmon alongside the mediaServerOnline assertion:
- Click New Monitor → HTTP.
- Set URL to
https://plex.yourdomain.com/identity(orhttp://your-server-ip:32400/identity). - Set Expected status code to
200. - Under Advanced → Keyword check:
- Keyword present:
MediaContainer
- Keyword present:
- Save.
The /identity endpoint on Plex returns XML and doesn't require authentication. It confirms the Plex Media Server process is alive and responding.
Step 4: Monitor Radarr, Sonarr, and Lidarr
Overseerr forwards movie requests to Radarr, TV requests to Sonarr, and music requests to Lidarr. When any of these services go offline, Overseerr queues incoming requests indefinitely with no visible error to users.
Radarr monitor:
- Click New Monitor → HTTP.
- Set URL to
http://your-server-ip:7878/api/v3/system/status?apiKey=<radarr-api-key>. - Set Expected status code to
200. - Under Advanced → JSON body assertion:
- Path:
appName| Operator:equals| Value:Radarr
- Path:
- Save.
Sonarr monitor: Same setup on port 8989, asserting appName equals Sonarr.
Lidarr monitor: Same setup on port 8686, asserting appName equals Lidarr.
Get your API keys from each application under Settings → General → Security.
Step 5: Heartbeat Monitor for Request Processing
A heartbeat monitor is a push-based check: your system pings Vigilmon on a schedule to prove it's alive. If Vigilmon doesn't receive a ping within the expected window, it fires an alert.
This is useful for confirming that Overseerr's background job loop is running — the process that checks Radarr/Sonarr for completed downloads and marks requests as available.
Set up the heartbeat:
- In Vigilmon, click New Monitor → Heartbeat.
- Set Name to
Overseerr Request Processor. - Set Expected interval to
5 minutes. - Set Grace period to
2 minutes. - Copy the generated heartbeat URL (e.g.,
https://vigilmon.online/ping/abc123). - Save.
Then add a cron job or scheduled script on your Overseerr host that pings the URL every 5 minutes:
*/5 * * * * curl -s https://vigilmon.online/ping/abc123 > /dev/null
If Overseerr's host crashes, Docker stops the container, or the cron daemon fails, Vigilmon stops receiving pings and sends an alert within 7 minutes.
Step 6: SSL Certificate Monitoring
For HTTPS deployments behind Nginx, Caddy, or Traefik:
- Open any of your HTTPS Vigilmon monitors.
- Go to Advanced → SSL / TLS.
- Enable Check SSL certificate.
- Set Warn when expires in to
14 days. - Save.
Vigilmon will alert you two weeks before expiry and immediately when a certificate becomes invalid.
Step 7: Alert Channels
Go to Notifications → New Channel and set up:
- Email — for your Overseerr admin
- Webhook — for Discord or Slack notifications in your media server community channel
Example Discord alert when Plex goes offline:
🔴 DEGRADED: overseerr.yourdomain.com
JSON assertion failed: mediaServerOnline = false
Region: EU-West
Triggered: 2026-03-05 14:08 UTC
What You've Built
| Scenario | How Vigilmon catches it |
|---|---|
| Overseerr process crash | HTTP monitor detects connection refused or 502 |
| Plex server offline | mediaServerOnline JSON assertion fails |
| Plex direct health check | /identity monitor detects Plex process down |
| Radarr/Sonarr/Lidarr unreachable | Direct integration health monitors fire |
| Request processor stalled | Heartbeat monitor misses expected ping |
| Web UI broken | Keyword monitor misses "Overseerr" in HTML |
| SSL certificate expired | TLS check on HTTPS monitor fires |
Overseerr is the front door to your self-hosted media stack. Vigilmon makes sure that door is always open — and that the entire pipeline behind it is working.
Start monitoring Overseerr today — register free at vigilmon.online.