Frigate turns your existing IP cameras into an AI-powered security system, detecting people, cars, and animals in real time using local hardware acceleration. When Frigate goes down — whether due to a server crash, disk filling up, or a camera losing power — you have blind spots in your home security without knowing it. Vigilmon monitors your Frigate instance continuously, alerting you the moment the NVR web interface, REST API, or camera streams stop responding.
What You'll Set Up
- Web UI availability monitor at the default
:5000port - REST API health check via the
/api/statsendpoint - Camera stream connectivity via response content validation
- SSL certificate alerts for proxied installations
- Disk space monitoring through the Frigate stats API
Prerequisites
- Frigate running on a home server, NAS, or Proxmox VM
- Frigate accessible at its default port or behind a reverse proxy
- A free Vigilmon account
Step 1: Monitor the Frigate Web UI
Frigate's web interface runs on port 5000 by default. Start with a basic HTTP monitor to confirm the frontend is reachable:
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter your Frigate URL:
http://192.168.1.100:5000(or your proxied domain). - Set Check interval to
2 minutes. - Set Expected HTTP status to
200. - Click Save.
If Frigate is only on your LAN, install a Vigilmon agent on the same network segment so checks reach it without requiring external access.
Step 2: Check the Frigate Stats API
Frigate exposes a /api/stats endpoint that returns detailed runtime information: detector usage, inference speed, camera frame rates, and process status. This is your best single source of truth for whether Frigate is actually working:
- Add another HTTP / HTTPS monitor.
- Enter
http://192.168.1.100:5000/api/stats. - Set Expected HTTP status to
200. - Under Response body check, enter
detectorsto confirm the JSON response includes detector information. - Set Check interval to
3 minutes. - Click Save.
A healthy response includes:
{
"detectors": {"cpu": {"inference_speed": 8.5, "detection_start": 0}},
"service": {"version": "0.14.0", "uptime": 3600}
}
If Frigate's object detector crashes or the process enters an error state, this endpoint will either return an error or missing fields — Vigilmon catches both.
Step 3: Monitor Camera Stream Connectivity
Frigate polls each configured camera and reports per-camera stats in its API. You can check that a specific camera is actively receiving frames:
- Add an HTTP / HTTPS monitor for
http://192.168.1.100:5000/api/stats. - Under Response body check, enter the name of your camera (e.g.
front_door) to confirm it appears in the stats response. - Add a second monitor with response check for
fps— if frame rate drops to zero, the camera feed is lost even if Frigate is running.
For direct stream health, Frigate serves MJPEG streams at:
http://192.168.1.100:5000/api/<camera_name>/latest.jpg
Monitor this endpoint to confirm live frames are being captured:
- Add an HTTP / HTTPS monitor for
http://192.168.1.100:5000/api/front_door/latest.jpg. - Set Expected HTTP status to
200. - Set Check interval to
5 minutes.
A 404 or connection timeout here means that specific camera has lost its feed.
Step 4: SSL Certificate Alerts for Proxied Installations
Many Frigate users expose the interface remotely via nginx or Caddy with a Let's Encrypt certificate. Certificate expiry breaks access silently:
- Open your Frigate HTTP monitor (the one using your domain URL).
- Enable Monitor SSL certificate under the SSL section.
- Set Alert when certificate expires in less than
21 days. - Click Save.
This is especially important for home servers where automatic renewal depends on a correctly configured cron job or systemd timer.
Step 5: Disk Space Monitoring via the Stats API
Frigate continuously writes video recordings to disk. A full disk causes recording to stop silently — often the worst failure mode in a security system. The Frigate stats API includes storage information:
- Add an HTTP / HTTPS monitor for
http://192.168.1.100:5000/api/stats. - Under Response body check, enter
storageto confirm the storage section is present in the response.
For deeper disk alerting, pair this with a server-level disk monitor. On the host running Frigate, run a simple script via cron that pings a Vigilmon heartbeat only when disk usage is below your threshold:
#!/bin/bash
USAGE=$(df /media/frigate | awk 'NR==2 {print $5}' | tr -d '%')
if [ "$USAGE" -lt 85 ]; then
curl -s https://vigilmon.online/heartbeat/your_disk_heartbeat_url
fi
Set the heartbeat interval to 60 minutes. If disk fills past 85%, the heartbeat stops arriving and Vigilmon alerts you.
Step 6: Configure Alert Channels
- Go to Alert Channels in Vigilmon and add email, Slack, or Discord notifications.
- Set Consecutive failures before alert to
2on the web UI monitor — Frigate can take 20–30 seconds to restart after a crash and reload its ML models. - Keep Consecutive failures before alert at
1for camera stream monitors — a missed camera frame window is a gap in your security coverage.
Summary
| Monitor | Target | What It Catches |
|---|---|---|
| Web UI | http://frigate-host:5000 | Frigate process crash, server reboot |
| Stats API | /api/stats body: detectors | Detector crash, inference failure |
| Camera feed | /api/camera/latest.jpg | Individual camera offline |
| SSL certificate | Proxied domain | Let's Encrypt renewal failure |
| Disk heartbeat | Cron + heartbeat URL | Storage full, recording stopped |
Frigate delivers serious AI-powered home security — but only when it's actually running. With Vigilmon watching the web interface, camera feeds, and disk health, you'll know about outages in minutes rather than discovering security gaps after an incident.