Tautulli runs quietly in the background, logging every play, tracking who watches what, and firing your notification scripts. If it crashes at 2 AM, you miss hours of Plex activity data, your weekly watch stats break, and the notification webhooks your users rely on — stream start alerts, new content pings, play count milestones — all go silent.
Tautulli doesn't send you an alert when it's down. That's what Vigilmon is for.
This tutorial walks through setting up complete external monitoring for Tautulli: web UI uptime, API health checks, Plex server connectivity verification, SSL certificate monitoring, and heartbeat monitoring to confirm your notification scripts are actually firing.
What You'll Build
- A Vigilmon HTTP monitor on Tautulli's API health endpoint
- A web UI availability check
- A Plex server connectivity monitor
- An SSL certificate monitor for proxied deployments
- A heartbeat monitor to confirm notification scripts are firing
Prerequisites
- Tautulli running (default port:
8181) - Your Tautulli API key (found under Settings → Web Interface → API key)
- A free account at vigilmon.online
Step 1: Monitor the API Health Endpoint
Tautulli exposes its API at /api?apikey=...&cmd=<command>. The get_server_info command is a lightweight call that checks whether Tautulli can reach the configured Plex server and returns basic server metadata.
Test it:
curl "http://localhost:8181/api?apikey=YOUR_API_KEY&cmd=get_server_info"
Expected response:
{
"response": {
"result": "success",
"data": {
"pms_name": "My Plex Server",
"pms_version": "1.40.1.8227",
"pms_platform": "Linux",
"pms_ip": "192.168.1.100",
"pms_port": "32400",
"pms_is_remote": false
}
}
}
A "result": "success" response confirms Tautulli is running and its Plex connection is working. If Plex is unreachable or Tautulli's database is corrupt, this will return a non-success response or a non-200 status.
Set up the Vigilmon monitor:
- Log in to Vigilmon and click New Monitor → HTTP.
- Set URL to
https://tautulli.yourdomain.com/api?apikey=YOUR_API_KEY&cmd=get_server_info. - Set Check interval to 60 seconds.
- Set Expected status code to
200. - Under Advanced → JSON body assertion, add:
- Path:
response.result - Operator:
equals - Value:
success
- Path:
- Save the monitor.
Security note: Your API key is in the URL. Use HTTPS for the monitor URL, and consider restricting API access by IP in Tautulli's settings if your instance is publicly accessible.
Step 2: Monitor the Web UI
Tautulli's API can respond correctly while the web interface itself is broken — a bad CSS asset, a failed template render, or a reverse proxy misconfiguration can block users from the dashboard.
- Click New Monitor → HTTP in Vigilmon.
- Set URL to
https://tautulli.yourdomain.com/(your Tautulli public URL). - Set Expected status code to
200. - Under Advanced → Keyword check:
- Keyword present:
Tautulli
- Keyword present:
- Set Check interval to 2 minutes.
- Save.
The Tautulli UI includes "Tautulli" in the page title. If the UI is broken, this monitor catches it.
Step 3: Monitor Plex Server Connectivity
Tautulli tracks Plex activity by connecting to the Plex Media Server API directly. If Plex goes down, Tautulli can still run and serve its web UI, but it stops recording activity data.
Monitor Plex directly:
- Click New Monitor → HTTP.
- Set URL to
http://your-plex-ip:32400/identity(orhttps://plex.yourdomain.com/identity). - Set Expected status code to
200. - Under Advanced → Keyword check:
- Keyword present:
MediaContainer
- Keyword present:
- Set Check interval to 60 seconds.
- Save.
The /identity endpoint is unauthenticated and lightweight. When this monitor fires, you know Tautulli's data recording is at risk regardless of whether Tautulli itself reports an error.
Step 4: SSL Certificate Monitoring
If Tautulli is proxied behind Nginx, Caddy, or another reverse proxy with HTTPS:
- Open any Tautulli HTTPS monitor.
- Go to Advanced → SSL / TLS.
- Enable Check SSL certificate.
- Set Warn when expires in to
14 days. - Save.
Certificate expiry is particularly easy to miss on self-hosted apps where Let's Encrypt auto-renewal can silently fail after a server configuration change.
Step 5: Heartbeat Monitor for Notification Scripts
Tautulli's most powerful feature is its notification system: scripts that fire on Plex events (play start, stop, pause, transcode, new content). If Tautulli's notification engine breaks — due to a Python error, a missing dependency, or a corrupt notification agent config — the scripts stop silently.
A heartbeat monitor catches this by requiring your notification system to actively ping Vigilmon on a schedule. If the pings stop, Vigilmon alerts you.
Set up the heartbeat in Vigilmon:
- Click New Monitor → Heartbeat.
- Set Name to
Tautulli Notification Scripts. - Set Expected interval to
1 hour. - Set Grace period to
15 minutes. - Copy the generated ping URL (e.g.,
https://vigilmon.online/ping/xyz789). - Save.
Then configure a Tautulli notification agent to ping the heartbeat URL. In Tautulli:
- Go to Settings → Notification Agents → Add a new notification agent → Script.
- Set the script path to a script that runs
curl -s https://vigilmon.online/ping/xyz789. - Configure it to trigger on Play Start (or another frequent event).
- Save.
Alternatively, use the built-in Webhook notification agent:
- Add a Webhook agent.
- Set the Webhook URL to
https://vigilmon.online/ping/xyz789. - Configure it to trigger on Play Start.
- Save.
Now every time a Plex stream starts, Tautulli pings Vigilmon. If no plays happen for an unusual period and you also have Plex activity data to cross-reference, a missing ping becomes a meaningful signal. For environments with frequent daily usage, this provides near-real-time notification engine health data.
Step 6: Alert Channels
Go to Notifications → New Channel in Vigilmon and configure:
- Email — for your Tautulli admin
- Webhook — for Discord or Slack
Example alert when the notification heartbeat goes missing:
🔴 DOWN: Tautulli Notification Scripts (heartbeat missed)
Last ping received: 2026-04-12 18:00 UTC
Expected: every 60 minutes
Region: Heartbeat
Triggered: 2026-04-12 19:15 UTC
What You've Built
| Scenario | How Vigilmon catches it |
|---|---|
| Tautulli process crash | HTTP monitor detects connection refused |
| Plex server offline | Direct Plex /identity monitor fires |
| Tautulli can't reach Plex | get_server_info JSON assertion fails |
| Web UI broken | Keyword monitor misses "Tautulli" |
| Notification scripts broken | Heartbeat monitor misses expected ping |
| SSL certificate expired | TLS check on HTTPS monitor fires |
| Reverse proxy down | HTTP monitor detects 502 error |
Tautulli does its best work invisibly — until it stops. Vigilmon makes sure you're the first to know when something breaks, not the last.
Start monitoring your Tautulli instance today — register free at vigilmon.online.