tutorial

Rocket.Chat Monitoring with Vigilmon: Uptime, Health Checks & Team Chat Alerts

Monitor your self-hosted Rocket.Chat server with Vigilmon — track the /api/v1/info health endpoint, web UI availability, WebSocket connectivity, push notification service, and SSL certificate expiry.

Your team's chat server goes down on a Friday afternoon. Support requests pile up, engineering escalations go unseen, and nobody can reach anyone — except through the personal messaging apps you were trying to replace. For self-hosted Rocket.Chat instances, a silent outage is a productivity emergency.

Vigilmon provides the external uptime monitoring that catches Rocket.Chat failures before your team notices — watching the health API, web UI, WebSocket service, push notifications, and SSL certificate. This tutorial walks you through complete Rocket.Chat monitoring with Vigilmon.

What You'll Build

  • A Vigilmon HTTP monitor on Rocket.Chat's /api/v1/info endpoint
  • A web UI availability monitor with keyword verification
  • A WebSocket connectivity check
  • Push notification service monitoring
  • SSL certificate expiry alerts
  • Alert channels for immediate notification

Prerequisites

  • A running Rocket.Chat instance (typically on ports 3000/443 behind a reverse proxy)
  • A free account at vigilmon.online

Step 1: Monitor the /api/v1/info Endpoint

Rocket.Chat exposes an unauthenticated info endpoint at /api/v1/info. It returns server version and build information with a 200 status code when the API layer is operational.

Test it from your terminal:

curl https://chat.yourdomain.com/api/v1/info

Expected response:

{
  "info": {
    "version": "6.x.x",
    "build": { ... }
  },
  "success": true
}

This endpoint confirms the Node.js server is running and the HTTP API is responding. A crashed process, a MongoDB connection failure that blocks startup, or an out-of-memory kill will prevent this endpoint from responding.

Set up the Vigilmon monitor:

  1. Log in to Vigilmon and click New Monitor → HTTP.
  2. Set URL to https://chat.yourdomain.com/api/v1/info.
  3. Set Check interval to 60 seconds.
  4. Set Expected status code to 200.
  5. Under Advanced → Keyword check, add:
    • Keyword present: "success":true
  6. Save the monitor.

Vigilmon now polls your Rocket.Chat API every minute from multiple geographic regions.


Step 2: Monitor Web UI Availability

The /api/v1/info endpoint confirms the backend is alive, but doesn't verify the Rocket.Chat web client loads for users. A broken webpack bundle, a misconfigured Content Security Policy, or missing static assets can leave the API healthy while users see a blank screen or loading spinner.

Add a keyword monitor on the web UI:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://chat.yourdomain.com/ (your Rocket.Chat root URL).
  3. Set Expected status code to 200.
  4. Under Advanced → Keyword check, configure:
    • Keyword present: Rocket.Chat
  5. Save.

The Rocket.Chat web client page includes the application name in its HTML. If frontend assets fail to serve correctly, this check fails independently of the API monitor — helping you distinguish backend failures from frontend delivery issues.


Step 3: Monitor WebSocket Connectivity

Rocket.Chat's real-time messaging relies on WebSocket connections (via SockJS/DDP). Users can load the UI but appear stuck if WebSocket connections are blocked by a reverse proxy misconfiguration (missing Upgrade headers, proxy timeouts, or nginx proxy_read_timeout too low).

Monitor the WebSocket endpoint via an HTTP upgrade check:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://chat.yourdomain.com/websocket (the WebSocket path that Rocket.Chat exposes for DDP connections).
  3. Set Expected status code to 200 (HTTP before upgrade) or check the response for a valid WebSocket handshake header.
  4. Under Advanced → Keyword check, add:
    • Keyword present: websocket
  5. Save.

If your reverse proxy (Nginx, Caddy) stops forwarding WebSocket upgrades — a common nginx misconfiguration after config changes — this monitor catches it while the UI and API monitors remain green.


Step 4: Monitor the Push Notification Gateway

Rocket.Chat routes push notifications through its own push gateway, either the cloud-hosted https://gateway.rocket.chat or a self-hosted gateway. When this service becomes unavailable, mobile clients stop receiving message alerts — a silent failure that users notice much later.

Check that Rocket.Chat can reach its push gateway by monitoring the gateway's health endpoint:

  1. In Rocket.Chat admin, go to Admin → Push → Gateway and note your configured gateway URL.
  2. Click New Monitor → HTTP in Vigilmon.
  3. Set URL to https://gateway.rocket.chat/ping (or your self-hosted gateway equivalent).
  4. Set Check interval to 5 minutes (push gateway outages are usually sustained).
  5. Set Expected status code to 200.
  6. Save.

This check detects gateway outages from your server's perspective before your users report missing push notifications.


Step 5: SSL Certificate Monitoring

Rocket.Chat served over HTTPS via Nginx, Caddy, or Traefik: an expired TLS certificate will disconnect every client — web browsers and mobile apps alike show certificate errors and refuse to connect. For a team chat tool, this is a complete service outage.

Vigilmon automatically monitors SSL certificate validity on HTTPS monitors. Configure dedicated expiry alerts:

  1. Open any of your HTTPS Rocket.Chat monitors in Vigilmon.
  2. Go to Settings → SSL.
  3. Enable Alert when certificate expires within 14 days.
  4. Optionally enable Alert when certificate expires within 30 days for early warning.

You'll receive alerts like:

⚠️  SSL Warning: chat.yourdomain.com
Certificate expires in 8 days (2026-07-15)

Step 6: Alert Channels

Go to Notifications → New Channel in Vigilmon and configure your preferred alert delivery:

  • Email — immediate alerts to your ops inbox
  • Webhook — forward to a secondary Slack workspace, PagerDuty, or ntfy.sh

For webhook integration, paste your endpoint URL. A Rocket.Chat downtime alert looks like:

🔴 DOWN: chat.yourdomain.com/api/v1/info (HTTP 502)
Rocket.Chat API health check failed
Region: EU-West, US-East
Triggered: 2026-01-15 09:44 UTC

Recovery notification:

✅ RECOVERED: chat.yourdomain.com/api/v1/info
Downtime: 7 minutes

What You've Built

| Scenario | How Vigilmon catches it | |---|---| | Node.js process crash or OOM kill | /api/v1/info returns non-200 or connection refused | | MongoDB connectivity failure | API health check fails (Rocket.Chat can't serve requests) | | Reverse proxy misconfiguration | HTTPS monitor detects 502 or TLS error | | Web UI assets broken or missing | Keyword monitor on homepage fails | | WebSocket proxy headers stripped | WebSocket endpoint monitor detects upgrade failure | | Push notification gateway down | Gateway ping monitor fires | | SSL certificate expired or expiring | SSL expiry alert triggers at threshold |


Self-hosting Rocket.Chat gives you control over your team's data. Vigilmon gives you confidence it stays online. Monitor from outside your network, from multiple regions, with no agents to install.

Start monitoring Rocket.Chat 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 →