tutorial

Standard Notes Monitoring with Vigilmon: Web UI, Health API, Sync Server & SSL Certificate Checks

Monitor your self-hosted Standard Notes sync server with Vigilmon — track web UI availability, the /health API endpoint, sync server responsiveness, SSL certificate expiry, and database connectivity via response time.

Your team switched to self-hosted Standard Notes to keep encrypted note data off third-party servers. Everything was fine until the sync server's database connection pool hit its limit during a backup job. The API started returning 503s, but no alert fired. Developers opened their apps, saw "Syncing…" indefinitely, and assumed it was a network blip. Three hours of note edits went unsynced before anyone noticed — and since Standard Notes encrypts everything client-side, diagnosing the server-side failure required digging through logs instead of simply reading error payloads.

Standard Notes is a self-hosted encrypted note-taking sync server. Clients encrypt notes locally before transmitting them, so the sync server never sees plaintext content. That's the point. But it also means the sync server is a critical dependency: when it's unhealthy, users silently lose sync without a clear error. Vigilmon gives you the external monitoring layer to detect these failures before users report them.

This tutorial walks through monitoring your Standard Notes sync server with Vigilmon.

What You'll Build

  • A Vigilmon HTTP monitor on the Standard Notes web UI
  • A health endpoint check on /health
  • A sync API availability check
  • SSL certificate expiry alerts (critical for end-to-end encrypted data)
  • Response time monitoring for database connectivity signals

Prerequisites

  • A running Standard Notes sync server (v2.x or later)
  • A free account at vigilmon.online

Step 1: Monitor the Sync Server Web UI

The Standard Notes sync server exposes a web interface and serves as the primary entry point for all clients. A healthy response confirms that the Node.js process is running and the web server is accepting connections.

Test it:

curl -I https://notes.yourdomain.com/

You should see 200 OK with an HTML response. If you get a connection timeout or 5xx, the sync server process has likely crashed or the reverse proxy is misconfigured.

Set up the Vigilmon monitor:

  1. Log in to Vigilmon and click New Monitor → HTTP.
  2. Set URL to https://notes.yourdomain.com/.
  3. Set Check interval to 60 seconds.
  4. Set Expected status code to 200.
  5. Save the monitor.

Step 2: Monitor the Health Endpoint

The Standard Notes sync server exposes a /health endpoint that reports the overall service health, including database connectivity. This is the most reliable single check for server readiness.

Test it:

curl https://notes.yourdomain.com/health

Healthy response:

{
  "status": "OK"
}

An "OK" status confirms that the sync server can reach its database (MySQL or PostgreSQL) and is ready to accept sync requests. Any deviation — a non-200 status code, a missing body, or a "status": "error" — indicates a problem that will break client sync.

Set up the monitor:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://notes.yourdomain.com/health.
  3. Set Expected status code to 200.
  4. Under Advanced → Keyword check, add:
    • Keyword present: OK
  5. Set Check interval to 60 seconds.
  6. Save.

Step 3: Monitor the Sync API Availability

The /api/v1/items/sync endpoint is the core of Standard Notes. Clients call it constantly to push and pull encrypted items. Monitoring that this path is reachable (even without a valid auth token) confirms that the routing layer and API handlers are operational.

Test it:

curl -o /dev/null -s -w "%{http_code}" \
  -X POST https://notes.yourdomain.com/api/v1/items/sync \
  -H "Content-Type: application/json" \
  -d '{}'

You should receive 401 Unauthorized — not a 404 or 502. A 401 response proves the API route is registered and the auth middleware is running. A 502 or 504 means the upstream process is unreachable even from the reverse proxy perspective.

Set up the monitor:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://notes.yourdomain.com/api/v1/items/sync.
  3. Set Method to POST.
  4. Set Expected status code to 401.
  5. Set Check interval to 60 seconds.
  6. Save.

Step 4: Response Time Monitoring for Database Signals

Standard Notes is a database-heavy service. Every sync request reads and writes encrypted item records. Elevated response times on the health endpoint are an early signal of database pressure — often before a full failure occurs.

  1. Open your /health monitor in Vigilmon.
  2. Under Advanced → Response time, set:
    • Warning threshold: 1000 ms
    • Critical threshold: 3000 ms
  3. Save.

When response time exceeds the warning threshold, investigate your database connection pool, slow query log, and disk I/O. A health endpoint that normally responds in 50 ms and suddenly takes 2 seconds is a degraded-service condition even if it's still returning "status": "OK".


Step 5: SSL Certificate Monitoring

Standard Notes encrypts notes client-side, but the transport layer (HTTPS) is still essential for protecting the encrypted ciphertext in transit and for authenticating the server to clients. An expired certificate causes all Standard Notes clients to refuse to sync — the apps will display TLS errors and no data will move.

Vigilmon monitors SSL certificate validity automatically on all HTTPS monitors.

  1. Open your Standard Notes web UI monitor in Vigilmon.
  2. Under Advanced → SSL, ensure Alert before expiry is enabled.
  3. Set the alert lead time to at least 14 days to give yourself enough runway to renew via Let's Encrypt or your CA.
  4. Save.

Set the same SSL alert on your /health and sync API monitors for redundancy.


Step 6: Alert Channels

Go to Notifications → New Channel in Vigilmon and configure:

  • Email — for the ops team responsible for the Notes server
  • Webhook — for Slack or a dedicated infrastructure channel

A Standard Notes outage is silent from the user's perspective — the app just shows "Syncing…" indefinitely. This makes external monitoring alerts your only proactive signal. Configure alert channels before you need them.

A downtime alert looks like:

🔴 DOWN: Standard Notes Health (HTTP)
Expected status 200, got 503
Response time: 8204 ms
Triggered: 2026-04-14 09:12 UTC

What You've Built

| Scenario | How Vigilmon catches it | |---|---| | Sync server process crash | Web UI and /health monitors both fail | | Database connection failure | /health returns non-OK status | | API routing broken | Sync API monitor gets 502 instead of 401 | | Database slowdown (pre-failure) | Response time monitor exceeds warning threshold | | SSL certificate expired | HTTPS monitors report TLS error | | Reverse proxy misconfiguration | Web UI monitor detects 502/504 | | DNS misconfiguration | All HTTP monitors detect resolution failure |


Standard Notes earns user trust through end-to-end encryption. But that trust depends on a sync server that's reliably available — a crashed server silently breaks sync without any error reaching the user. Vigilmon's external health checks ensure that when your Standard Notes server has a problem, you find out first.

Start monitoring your Standard Notes server today — register free at vigilmon.online.

Monitor your app with Vigilmon

Free plan — 5 monitors, no credit card required. Up and running in 60 seconds.

Start free →