Your team's weekly planning session started at 9 AM. Half the participants loaded the shared Etherpad document fine. The other half got a blank page — the WebSocket connection was timing out silently, and changes from one side weren't reaching the other. The document looked live but was actually split into two diverging versions.
Etherpad is a self-hosted real-time collaborative text editor trusted by teams, schools, and organizations who want to own their data. Its real-time sync depends on a healthy Node.js server, a WebSocket connection, and (in most deployments) a database backend. When any layer degrades, collaboration breaks in subtle ways. Vigilmon gives you the external monitoring to catch these failures before they ruin a meeting.
This tutorial walks through monitoring Etherpad end-to-end with Vigilmon.
What You'll Build
- A Vigilmon HTTP monitor on the Etherpad web UI
- An API health check using Etherpad's
/api/1/listAllPadsendpoint - A response time monitor to catch performance degradation
- SSL certificate expiry alerts
Prerequisites
- A running Etherpad instance (self-hosted, any version with the HTTP API enabled)
- A free account at vigilmon.online
Step 1: Monitor the Etherpad Web UI
The Etherpad homepage is the entry point for all users. A down homepage means no one can start or join a document. This check covers your Node.js process, reverse proxy (Nginx/Caddy/Apache), and network connectivity in one shot.
Test it:
curl -I https://pad.yourdomain.com/
You should see 200 OK. Etherpad's index page renders a simple pad creation interface — it's lightweight but requires the Node.js process and database connection to be healthy.
Set up the Vigilmon monitor:
- Log in to Vigilmon and click New Monitor → HTTP.
- Set URL to
https://pad.yourdomain.com/. - Set Check interval to 60 seconds.
- Set Expected status code to
200. - Under Advanced → Keyword check, add:
- Keyword present:
Etherpad
- Keyword present:
- Save the monitor.
The keyword check guards against your reverse proxy returning a generic 200 error page when Etherpad's Node.js process has crashed.
Step 2: Monitor the Etherpad API Health Endpoint
Etherpad ships with an HTTP API that can list all pads, create documents, and query pad content. The /api/1/listAllPads endpoint exercises the database connection and confirms the API layer is working. A non-200 response or an error in the JSON body means something is broken even if the front page still loads.
Test it:
curl "https://pad.yourdomain.com/api/1/listAllPads?apikey=<your-api-key>"
A healthy response:
{
"code": 0,
"message": "ok",
"data": {
"padIDs": ["meeting-notes", "project-plan"]
}
}
Etherpad API response codes: 0 = success, anything else = error.
Set up the API monitor:
- Click New Monitor → HTTP in Vigilmon.
- Set URL to
https://pad.yourdomain.com/api/1/listAllPads?apikey=<your-api-key>. - Set Expected status code to
200. - Under Advanced → Keyword check, add:
- Keyword present:
"code":0 - Keyword absent:
"error"
- Keyword present:
- Save.
Find your API key in Etherpad's APIKEY.txt file (in the Etherpad root directory). Keep this URL private — treat the API key as a secret.
Step 3: Response Time Monitoring
Etherpad's real-time sync is only useful when it's fast. If your Node.js server is under memory pressure or the database is slow, pad load times creep up — users notice delays before autosave and sync catch up.
Vigilmon captures response time on every HTTP check. Set a response time threshold to alert before users start complaining:
- Open your Etherpad web UI monitor in Vigilmon.
- Under Advanced → Response time, set Alert threshold to
3000ms (3 seconds). - Save.
You'll get an alert if Etherpad's homepage takes longer than 3 seconds to respond — a leading indicator of memory leaks, database lock contention, or an overloaded server.
Step 4: Pad-Level Availability Check
Beyond the homepage, you can monitor a specific pad that your team uses regularly. This catches per-pad database corruption or plugin failures that don't affect the homepage.
- Click New Monitor → HTTP in Vigilmon.
- Set URL to
https://pad.yourdomain.com/p/your-important-pad-name. - Set Expected status code to
200. - Under Advanced → Keyword check, add keyword present:
your-important-pad-name. - Save.
Use the name of a pad that exists and is regularly accessed — for example, your team's standing meeting notes or a shared scratch pad.
Step 5: SSL Certificate Monitoring
Etherpad sessions rely on HTTPS. An expired certificate breaks the WebSocket upgrade handshake — browsers refuse to connect even if the Node.js server is healthy. Vigilmon automatically monitors SSL certificate validity on all HTTPS monitors.
To enable alerts:
- Open your Etherpad web UI monitor in Vigilmon.
- Under Advanced → SSL, verify Alert before expiry is enabled (default: 14 days before expiry).
- Save.
For Let's Encrypt certificates (90-day TTL), a 14-day warning gives you two renewal windows before expiry.
Step 6: Alert Channels
Go to Notifications → New Channel in Vigilmon and configure:
- Email — immediate alerts to your admin or ops team
- Webhook — post to Slack or Microsoft Teams for team-wide visibility
- PagerDuty / Opsgenie — for on-call escalation if Etherpad is production-critical
A sample down alert:
🔴 DOWN: pad.yourdomain.com (HTTP keyword check)
Expected keyword "code":0 not found in API response
Region: EU-West
Triggered: 2026-02-10 14:32 UTC
Step 7: Status Page
Go to Status Pages → New Status Page in Vigilmon. Add all monitors and share the status page URL with your team. When Etherpad has a known maintenance window, you can pause monitors and post a maintenance notice — preventing false alarm fatigue.
What You've Built
| Scenario | How Vigilmon catches it |
|---|---|
| Node.js process crash | HTTP monitor returns 502 from reverse proxy |
| Database connection failure | API /listAllPads returns non-zero code |
| Reverse proxy misconfiguration | Keyword check misses "Etherpad" on homepage |
| Performance degradation | Response time threshold alert fires |
| Specific pad inaccessible | Pad-level HTTP monitor detects non-200 |
| SSL certificate expired | HTTPS monitor reports TLS error |
| DNS misconfiguration | HTTP monitor detects resolution failure |
Etherpad's real-time collaboration is deceptively fragile — a Node.js OOM crash or a database hiccup breaks synchronization without any obvious error to end users. Vigilmon's external checks give you the visibility to catch issues early and maintain the trust your collaborators place in your self-hosted setup.
Start monitoring your Etherpad instance today — register free at vigilmon.online.