Mermaid Live is the official web-based editor for Mermaid.js — a widely-used diagram definition language that converts text into flowcharts, sequence diagrams, Gantt charts, and more. Self-hosting Mermaid Live gives your team a private diagram workspace without sending diagram source to a third-party service. But like any self-hosted tool, it needs active monitoring — when the instance goes down, engineers lose their diagramming workflow and may fall back to unmanaged alternatives. Vigilmon keeps your Mermaid Live deployment under watch so you catch failures before they interrupt your team.
What You'll Set Up
- HTTP uptime monitor for the Mermaid Live web application
- Static asset check to verify the editor loads completely
- TCP port check for the service listener
- SSL certificate expiry alerts for your Mermaid Live domain
Prerequisites
- Mermaid Live Editor running self-hosted (Docker or static file server)
- Instance accessible over HTTP or HTTPS on a domain or IP
- A free Vigilmon account
Step 1: Monitor the Mermaid Live Web Application
Mermaid Live is a single-page application — the root URL serves the editor HTML. If this endpoint is unreachable, the editor is inaccessible.
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter your Mermaid Live URL:
https://mermaid.yourdomain.com. - Set Check interval to
2 minutes. - Set Expected HTTP status to
200. - Click Save.
For additional confidence, confirm the editor page content is present:
- Under Advanced, set Expected body contains to
Mermaid(the string appears in the page title and app content of every Mermaid Live build).
Step 2: Check That Static Assets Load
Mermaid Live is a JavaScript SPA — the page being reachable doesn't guarantee the JS bundle and CSS loaded successfully. A broken asset server means the editor shell loads but the diagram canvas doesn't render.
Add a monitor targeting the main JavaScript bundle:
-
Add Monitor →
HTTP / HTTPS. -
URL:
https://mermaid.yourdomain.com/assets/index.js(or the versioned bundle path from your Mermaid Live build).To find the correct asset path, open your Mermaid Live instance in a browser and inspect the HTML
<script src="...">tag in the page source. -
Set Expected HTTP status to
200. -
Set Check interval to
5 minutes. -
Click Save.
A 404 on the JS bundle means the static file server is misconfigured — the index page serves but the editor is non-functional.
Step 3: TCP Port Check for the Service Listener
Confirm the port your Mermaid Live instance listens on is open at the network level:
- Add Monitor →
TCP Port. - Host:
mermaid.yourdomain.com, Port:443(or80, or the custom port you mapped in Docker, e.g.8080). - Set Check interval to
2 minutes. - Click Save.
If Mermaid Live is behind a reverse proxy (nginx, Caddy, Traefik), the TCP check on port 443 monitors the proxy. Add a second TCP check on the internal Mermaid Live port if you want to distinguish proxy failures from application failures.
Step 4: SSL Certificate Expiry Alerts
Mermaid Live is often used by engineers who will report "the diagram tool is broken" without checking the certificate error — or they'll simply use mermaid.live (the public instance) instead, bypassing your private deployment.
- Open the Mermaid Live HTTP / HTTPS monitor from Step 1.
- Enable Monitor SSL certificate under the SSL section.
- Set Alert when certificate expires in less than
21 days. - Click Save.
Step 5: Monitor the Mermaid Rendering API (If Configured)
Some self-hosted Mermaid Live setups add a backend rendering API that generates PNG or SVG exports server-side, avoiding client-side rendering limitations. If your deployment includes this:
- Add Monitor →
HTTP / HTTPS. - URL:
https://mermaid.yourdomain.com/api/render(adjust path to your deployment). - Set Method to
POST. - Set Request body to
{"code": "graph LR\n A-->B", "mermaid": {}}(a minimal Mermaid definition). - Set Content-Type header to
application/json. - Set Expected HTTP status to
200. - Under Advanced, set Expected body contains to
svgorpngto verify the render result. - Set Check interval to
5 minutes. - Click Save.
Step 6: Heartbeat for Diagram Export Workflows
If your team runs automated scripts that call Mermaid Live or the Mermaid CLI to generate diagram assets (e.g. rendering all .mmd files in a docs repo on a schedule), use Vigilmon's cron heartbeat:
- In Vigilmon, click Add Monitor → Cron Heartbeat.
- Set the expected ping interval to match your export schedule.
- Copy the heartbeat URL.
- Add the ping to the end of your render script:
#!/bin/bash
for file in docs/**/*.mmd; do
mmdc -i "$file" -o "${file%.mmd}.svg"
done
curl -s https://vigilmon.online/heartbeat/abc123
If any diagram fails to render and the script exits early, the ping is never sent and Vigilmon alerts.
Step 7: Configure Alert Channels
- Go to Alert Channels in Vigilmon and add Slack, email, or a webhook.
- Set Consecutive failures before alert to
2on the main web application monitor — Docker container restarts can cause a single probe miss. - Group all Mermaid Live monitors under a named service group in Vigilmon so a single outage sends one grouped notification instead of four separate alerts.
Summary
| Monitor | Target | What It Catches |
|---|---|---|
| Web application | https://mermaid.yourdomain.com | Editor down, container crash |
| JS bundle | /assets/index.js | Asset server misconfiguration |
| TCP port | :443 | Proxy or listener down |
| SSL certificate | Mermaid Live domain | Certificate renewal failure |
| Render API | /api/render | Server-side render failure |
| Cron heartbeat | Heartbeat URL | Export workflow crash |
Mermaid Live turns diagram-as-code into a first-class engineering tool — but self-hosting means you own the reliability. With Vigilmon watching the editor, its assets, and any backend render API, you'll know when your diagram tool is down before your team switches back to unmanaged public tools.