Statping-NG is a popular open-source status page and uptime monitoring tool written in Go, designed for Docker-friendly deployments with SQLite or PostgreSQL backends. It lets you publish a public status page showing the health of your services — but if Statping-NG itself goes down, your users see nothing and you hear nothing. Vigilmon adds the external observability layer that Statping-NG lacks: probing its own web UI, health endpoint, and REST API from outside your network, so the monitor always has a monitor.
What You'll Set Up
- HTTP uptime monitor for the Statping-NG web dashboard (port 8080)
- Health check monitor for the
/healthJSON endpoint - API availability monitor for the
/api/servicesREST endpoint - SSL certificate alerts for HTTPS-proxied Statping-NG setups
- Cron heartbeat for Statping-NG's own health check service (meta-monitoring)
Prerequisites
- Statping-NG 0.90+ running on a server or in Docker (default port 8080)
- A reverse proxy (nginx, Caddy, Traefik) if using HTTPS
- A free Vigilmon account
Step 1: Monitor the Statping-NG Web Dashboard
The Statping-NG web UI serves both the admin interface and the public status page on port 8080 by default. This is the primary endpoint to monitor:
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter your Statping-NG URL:
- Direct:
http://your-server:8080 - Proxied:
https://status.yourdomain.com
- Direct:
- Set Check interval to
1 minute. - Set Expected HTTP status to
200. - Click Save.
If your Statping-NG instance requires a login to view the status page, monitor the root URL anyway — a 302 redirect to the login page still confirms the application is responding.
Step 2: Monitor the /health Endpoint
Statping-NG exposes a built-in /health endpoint that returns a JSON object confirming the application and database connection are healthy:
{"database":"ok","version":"v0.90.78"}
Add a dedicated Vigilmon monitor for this endpoint:
- Click Add Monitor → HTTP / HTTPS.
- Set the URL to
https://status.yourdomain.com/health(orhttp://your-server:8080/health). - Set Expected HTTP status to
200. - Enable Keyword check and enter
"database":"ok"as the required string. - Set Check interval to
1 minute. - Click Save.
The keyword check catches the case where the HTTP server responds but the database backend is unhealthy — a partial failure that a plain HTTP status check would miss.
Step 3: Monitor the /api/services REST Endpoint
Statping-NG's REST API at /api/services returns a JSON array of all configured services. Monitoring this endpoint verifies that the API layer is functional, not just the frontend:
- Click Add Monitor → HTTP / HTTPS.
- Set the URL to
https://status.yourdomain.com/api/services. - Set Expected HTTP status to
200. - Enable Keyword check and enter
"id"as the required string (present in every service object). - Set Check interval to
5 minutes. - Click Save.
If your Statping-NG API requires authentication, pass a static API key via the Authorization header using Vigilmon's Custom headers field:
Authorization: Bearer YOUR_STATPING_API_KEY
Step 4: SSL Certificate Alerts for HTTPS-Proxied Setups
Most production Statping-NG deployments sit behind a reverse proxy that terminates TLS. If the certificate expires, your public status page goes dark with a browser SSL error — exactly when users are already worried about service health.
- Open the HTTPS monitor you created in Step 1.
- Scroll to the SSL certificate section.
- Enable Monitor SSL certificate.
- Set Alert when certificate expires in less than
21 days. - Click Save.
For multi-domain setups where the proxy serves Statping-NG on a custom domain:
# Verify your certificate expiry manually
echo | openssl s_client -connect status.yourdomain.com:443 2>/dev/null \
| openssl x509 -noout -dates
A 21-day window gives you enough time to investigate and fix renewal failures before the certificate expires and your status page becomes inaccessible.
Step 5: Heartbeat Monitoring for Statping-NG's Own Health Check Service
Statping-NG can be configured to run its own internal health checks against your services on a schedule. If the Statping-NG process crashes or hangs, those internal checks stop silently. Use Vigilmon's cron heartbeat to detect this — Statping-NG pings Vigilmon after each successful check cycle.
Create the heartbeat monitor:
- In Vigilmon, click Add Monitor → Cron Heartbeat.
- Set the name to
Statping-NG health cycle. - Set Expected ping interval to
5 minutes(match your Statping-NG check frequency). - Copy the heartbeat URL (e.g.
https://vigilmon.online/heartbeat/abc123).
Configure Statping-NG to ping the heartbeat:
Add a new service in Statping-NG that points to your Vigilmon heartbeat URL:
- In Statping-NG admin, go to Services → Add Service.
- Set Type to
HTTP. - Set URL to
https://vigilmon.online/heartbeat/abc123. - Set Check interval to
5 minutes. - Disable public status display for this service (it's internal).
- Save.
Now Statping-NG hits the heartbeat URL every 5 minutes as part of its normal check cycle. If Statping-NG goes down, the heartbeat stops, and Vigilmon alerts you. This creates a mutual monitoring relationship: Vigilmon watches Statping-NG from outside, and Statping-NG confirms its own health cycle is running by pinging Vigilmon.
Step 6: Configure Alert Channels
- Go to Alert Channels in Vigilmon and add Slack, email, PagerDuty, or a webhook.
- Set Consecutive failures before alert to
2on the web UI monitor — a single missed probe due to a brief network blip is not an incident. - Set Consecutive failures before alert to
1on the/healthendpoint monitor — a failed health check is always worth an immediate alert.
Group the three Statping-NG monitors together in a Vigilmon project so you get a unified status view.
Summary
| Monitor | Target | What It Catches |
|---|---|---|
| Web dashboard | https://status.yourdomain.com | Process crash, port down |
| Health endpoint | /health with keyword check | Database disconnection |
| REST API | /api/services | API layer failure |
| SSL certificate | HTTPS domain | Certificate expiry |
| Cron heartbeat | Vigilmon heartbeat URL | Check cycle stopped |
Statping-NG is excellent at monitoring your other services — but the monitor itself needs a monitor. With Vigilmon probing the web UI, health endpoint, and API from outside your network, and a cron heartbeat confirming Statping-NG's own check cycle is running, you get true end-to-end observability for your status page infrastructure.