Glances is a cross-platform system monitoring tool with a web UI and REST API that gives you real-time visibility into CPU, memory, disk, network, and processes. It's excellent at watching your servers — but it can't watch itself. If the Glances web server crashes or becomes unreachable, you lose your visibility window without any alert. Vigilmon solves this by acting as an independent external layer that monitors Glances from outside, watching its web server availability, REST API status, and SSL certificate health so your monitoring tool never becomes a blind spot.
What You'll Set Up
- HTTP uptime monitor for the Glances web server at port 61208
- REST API status check via
/api/4/status - SSL certificate expiry alerts for proxied deployments
- Vigilmon heartbeat as a complementary external check alongside Glances internal monitoring
Prerequisites
- Glances running in web server mode (
glances -w) on port61208, or behind a reverse proxy - A free Vigilmon account
Step 1: Monitor the Glances Web Server
Glances' web interface runs on port 61208 by default when launched with glances -w. This is your primary visibility dashboard — add an uptime monitor so you're alerted immediately if it goes dark:
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter your Glances URL:
https://glances.yourdomain.com(orhttp://your-server-ip:61208if exposed directly). - Set Check interval to
1 minute. - Set Expected HTTP status to
200. - Click Save.
If you've put Glances behind nginx or Caddy, use the proxied URL. This is the recommended production setup since exposing :61208 directly bypasses TLS and authentication. The proxied URL check validates the full stack including reverse proxy health.
Step 2: Check the /api/4/status Endpoint
Glances exposes a REST API at /api/4/ (or /api/3/ on older versions). The /api/4/status endpoint returns a lightweight status response that confirms the API layer is initialized and serving data. Probing it separately from the UI gives a direct signal that the data collection pipeline is healthy:
- Click Add Monitor →
HTTP / HTTPS. - URL:
https://glances.yourdomain.com/api/4/status(orhttp://your-server-ip:61208/api/4/status). - Set Check interval to
2 minutes. - Under Advanced, set Expected response body contains to
"Active". - Click Save.
Verify the response format on your Glances instance first:
curl -s http://localhost:61208/api/4/status
# "Active"
Glances returns a simple "Active" string when healthy. If it returns anything else or times out, Vigilmon alerts you. Note that if you're using Glances 3.x, the endpoint is /api/3/status — check your version with glances --version.
Step 3: SSL Certificate Alerts for Proxied Deployments
If Glances is exposed via nginx or Caddy over HTTPS, a lapsed certificate makes the web UI inaccessible. Add certificate monitoring to the proxied URL:
- Open the web UI monitor created in Step 1.
- Enable Monitor SSL certificate.
- Set Alert when certificate expires in less than
21 days. - Click Save.
This step only applies if you're using HTTPS. If Glances is on a private network accessed via HTTP, skip it. For Caddy-managed certificates with automatic renewal, this check confirms that renewals are succeeding — Caddy renewal failures are silent until the certificate actually expires.
Step 4: Heartbeat Monitor as External Complement
Glances is already monitoring your system internally. Vigilmon plays a different role: it provides the external perspective that confirms Glances is reachable and alive from outside your server. Combining both gives you coverage that neither alone can provide.
Set up a server-side heartbeat that Glances' host machine sends to Vigilmon on a schedule:
- In Vigilmon, click Add Monitor → Cron Heartbeat.
- Name it
Glances — Server Alive. - Set the expected ping interval to
5 minutes. - Copy the heartbeat URL:
https://vigilmon.online/heartbeat/abc123.
Add a cron job that pings Vigilmon only when Glances is healthy:
# Every 5 minutes: confirm Glances API is responding, then ping Vigilmon
*/5 * * * * curl -sf http://localhost:61208/api/4/status | grep -q Active && curl -s https://vigilmon.online/heartbeat/abc123
This cron job does two things: it checks the local Glances API directly (bypassing any proxy issues), and it only pings Vigilmon if the check passes. The result is a heartbeat that goes silent whenever:
- The Glances process crashes
- The API stops serving data even if the process is running
- The entire server becomes unreachable (the cron job can't run)
Vigilmon alerts you within 5–10 minutes of any of these conditions.
Step 5: Monitoring Glances Behind Authentication
If you've added basic authentication to Glances (recommended when exposing it to the internet), your Vigilmon HTTP monitors need to send credentials. For HTTP basic auth:
- Open the web UI monitor.
- Under Advanced, set Request headers:
Authorization: Basic <base64-encoded-user:password>. - Click Save.
Generate the header value:
echo -n "yourusername:yourpassword" | base64
Alternatively, use a path that bypasses authentication for health checks — /api/4/status typically doesn't require auth in default Glances configurations, making it a good candidate for the unauthenticated health check while the web UI monitor uses credentials.
Step 6: Alert Routing
Glances going offline means you've lost server visibility at exactly the moment you need it most. Route these alerts to a fast channel:
- Open each monitor and go to Notifications.
- For the web server monitor, fire on 1 failed check — losing your monitoring dashboard is urgent.
- For the API status monitor, allow a 1-check grace period to absorb brief restart windows.
- For the heartbeat monitor, allow a 2-check grace period — a missed ping could be a cron delay rather than a real failure.
- Add your preferred alert channel: email, Slack
#infra-alerts, or PagerDuty.
What You've Built
Glances watches your server from inside. Vigilmon watches Glances from outside. Together they close the blind spot that every self-hosted monitoring tool has: who watches the watcher? With Vigilmon monitoring the web server at :61208, the REST API at /api/4/status, SSL certificate health, and a heartbeat confirming the host machine is alive and Glances is responding, you have complete external coverage of your internal monitoring stack.
Get started at vigilmon.online.