tutorial

Huly Monitoring with Vigilmon: Uptime, API Health & Real-Time Collaboration Service Checks

Monitor your self-hosted Huly workspace with Vigilmon — track web UI availability, API health, WebSocket services, SSL certificates, and background worker health before your team notices downtime.

Your team's morning standup starts in five minutes. Half of them can't load the Huly workspace. Issues are missing, the real-time collaborative editing isn't syncing, and your on-call engineer is staring at a blank white screen. The error happened overnight — and nobody knew.

Huly is a self-hosted, open-source all-in-one project management platform — a Notion, Linear, and Slack alternative with real-time collaboration built in. Teams rely on it for issues, sprints, documents, and live editing across time zones. When Huly goes down, work stops. Vigilmon gives you the external uptime monitor that catches Huly failures before your team starts filing IT tickets.

This tutorial walks you through setting up comprehensive Huly monitoring with Vigilmon.

What You'll Build

  • A Vigilmon HTTP monitor on Huly's web UI
  • An API health monitor for the Huly backend
  • A WebSocket service availability check
  • An SSL certificate expiry alert
  • A background task worker health check

Prerequisites

  • A self-hosted Huly instance (Docker Compose or Kubernetes)
  • A free account at vigilmon.online

Step 1: Monitor the Huly Web UI

The first thing to monitor is the Huly frontend — the interface your team loads every day. A crash in the frontend container, a bad Nginx configuration, or a CDN misconfiguration can leave users with a blank page even when the backend is healthy.

Test it:

curl -I https://huly.your-domain.com/

Expected response:

HTTP/2 200
content-type: text/html; charset=utf-8

Set up the Vigilmon monitor:

  1. Log in to Vigilmon and click New Monitor → HTTP.
  2. Set URL to https://huly.your-domain.com/.
  3. Set Check interval to 60 seconds.
  4. Set Expected status code to 200.
  5. Under Advanced → Keyword check, add:
    • Keyword present: "Huly" (or your workspace name from the page title)
  6. Save the monitor.

Vigilmon now polls your Huly frontend every minute from multiple geographic regions.


Step 2: Monitor the Huly API Health Endpoint

Huly's backend exposes an internal health check that confirms database connectivity, service registration, and core API availability. A healthy web UI with a broken backend means users can load the page but can't create issues, sync documents, or authenticate.

Test it:

curl https://huly.your-domain.com/api/v1/statistics

Expected response:

{
  "activeSessions": 12,
  "totalSessions": 847,
  "memoryUsed": 234567890
}

If the API is healthy, you'll get statistics. A non-200 response or a connection refusal indicates a backend crash or misconfiguration.

Set up the Vigilmon monitor:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://huly.your-domain.com/api/v1/statistics.
  3. Set Check interval to 60 seconds.
  4. Set Expected status code to 200.
  5. Under Advanced → JSON body assertion, add:
    • Path: activeSessions
    • Operator: exists
  6. Save.

Step 3: WebSocket Service Availability

Huly's real-time collaboration — live cursors, synchronized editing, instant issue updates — runs over WebSockets. The HTTP layer can respond with 200 while the WebSocket upgrade service is silently crashed. Users experience this as the UI loading but all changes failing to sync.

Huly's WebSocket endpoint is typically served on the same domain but handled by a separate internal service. You can probe the WebSocket upgrade path via an HTTP monitor that checks the handshake endpoint:

curl -I https://huly.your-domain.com/ws

Expected response:

HTTP/2 426
upgrade: websocket

A 426 Upgrade Required status is the correct response when probing the WebSocket endpoint with a plain HTTP request — it confirms the WebSocket service is listening.

Set up the Vigilmon monitor:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://huly.your-domain.com/ws.
  3. Set Check interval to 2 minutes.
  4. Set Expected status code to 426.
  5. Save.

If the status drops to 502 or 504, the WebSocket service container has died or the upstream proxy lost its route.


Step 4: SSL Certificate Monitoring

Huly is typically deployed with Let's Encrypt certificates that auto-renew via Certbot or Traefik. Renewal failures are silent until the certificate actually expires — and when it does, every browser in your team throws a security warning and blocks access entirely.

Vigilmon monitors your SSL certificate automatically on any HTTPS monitor. To add a dedicated certificate expiry alert:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://huly.your-domain.com/.
  3. Under Advanced → SSL certificate, enable Alert when certificate expires within 14 days.
  4. Save.

You'll receive an alert two weeks before expiry — plenty of time to renew before the outage.


Step 5: Background Task Worker Health

Huly runs background workers that process notifications, index search content, and handle async jobs. These workers are often separate Docker containers (or Kubernetes pods). When they crash, features degrade silently: notifications stop arriving, search returns stale results, and scheduled jobs queue up until they time out.

Many Huly deployments expose a worker status endpoint. Check your Huly configuration for the transactor or rekoni service endpoints:

curl https://huly.your-domain.com/api/v1/version

Expected response:

{
  "version": "0.6.342"
}

Set up the Vigilmon monitor:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://huly.your-domain.com/api/v1/version.
  3. Set Check interval to 5 minutes.
  4. Set Expected status code to 200.
  5. Under Advanced → JSON body assertion, add:
    • Path: version
    • Operator: exists
  6. Save.

Step 6: Alert Channels

Go to Notifications → New Channel in Vigilmon and configure:

  • Email — immediate alerts to your DevOps or team lead
  • Webhook — post to Slack, Discord, or PagerDuty

A typical Slack alert when Huly's API goes down:

🔴 DOWN: huly.your-domain.com/api/v1/statistics
Status: 502 Bad Gateway
Region: EU-West
Triggered: 2026-03-10 09:42 UTC

Recovery notification:

✅ RECOVERED: huly.your-domain.com/api/v1/statistics
Downtime: 8 minutes

Step 7: Status Page

Go to Status Pages → New Status Page in Vigilmon. Add all five Huly monitors and publish the page. Share the URL with your team so they can self-serve status checks instead of messaging your IT team:

<a href="https://vigilmon.online/status/<your-slug>">
  <img src="https://vigilmon.online/badge/<monitor-slug>" alt="Huly Status" />
</a>

What You've Built

| Scenario | How Vigilmon catches it | |---|---| | Frontend container crash | HTTP monitor detects non-200 on web UI | | Backend API failure or DB disconnect | API health monitor returns non-200 | | WebSocket service crash (collaboration broken) | WS endpoint returns 502 instead of 426 | | SSL certificate expired or not renewed | Certificate monitor fires 14 days before expiry | | Background worker crash (notifications/search broken) | Version endpoint returns non-200 | | DNS misconfiguration | HTTP monitor detects DNS resolution failure | | Nginx/Traefik proxy down | Full-stack monitor returns 502 or connection error |


Huly brings powerful real-time collaboration to self-hosted teams — but self-hosted means you own the reliability. Vigilmon gives you the external eyes that no internal health dashboard can replace.

Start monitoring Huly 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 →