Wekan is a self-hosted open-source kanban board used by teams that want Trello-like functionality without giving their data to a third party. When Wekan goes down, cards can't be moved, boards can't be viewed, and real-time updates stop — blocking the workflows of every team using it. Vigilmon gives you external visibility into Wekan's health so you catch failures before users hit a blank page: web server availability, MongoDB database connectivity, WebSocket uptime for real-time card updates, and SSL certificate expiry.
What You'll Build
- A monitor on Wekan's web server at its default port
- A check to verify MongoDB database connectivity indirectly via the application response
- WebSocket server uptime monitoring for real-time card updates
- SSL certificate monitoring if you proxy Wekan over HTTPS
- A heartbeat to confirm background card activity processing
Prerequisites
- A running Wekan instance (default port 8080, or proxied to 443)
- A free account at vigilmon.online
Step 1: Verify Wekan's Web Server
Wekan runs on port 8080 by default. If you proxy it through nginx or Caddy, it will be on 443. Confirm the server is responding:
curl -I http://your-wekan-server:8080/
# Or if proxied:
curl -I https://wekan.example.com/
A running Wekan instance returns 200 OK with the Wekan HTML interface. A MongoDB connection failure causes Wekan to return a 500 Internal Server Error or fail to load board data entirely.
Step 2: Create a Vigilmon Monitor for Web Availability
- Log in to Vigilmon → Add Monitor → HTTP.
- URL:
http://your-wekan-server:8080/(or your proxied HTTPS URL). - Check interval: 60 seconds.
- Response timeout: 15 seconds.
- Expected status:
200. - Keyword:
Wekan(present in the page title of a healthy instance). - Click Save.
Adding the Wekan keyword ensures you detect silent failures where the web server responds but the application itself has crashed — returning a generic error page or a blank body.
Step 3: Verify MongoDB Connectivity via Application Response
Wekan relies entirely on MongoDB. When the database is unreachable, Wekan cannot load boards, cards, or user data. You can detect database failures externally by checking that Wekan returns a fully rendered board rather than an application error.
Create a second monitor that targets the login page and looks for application content:
- Add Monitor → HTTP.
- URL:
https://wekan.example.com/sign-in(or/logindepending on your version). - Check interval: 2 minutes.
- Expected status:
200. - Keyword:
email(the login form field; present only when the app is database-connected). - Label:
Wekan login page (DB connectivity). - Click Save.
When MongoDB is down, Wekan either returns a 500 error or serves a degraded page without the login form — this monitor catches both scenarios.
Step 4: Monitor WebSocket Uptime for Real-Time Updates
Wekan uses WebSockets (via Meteor's DDP protocol) to push real-time card updates, board changes, and notifications to connected clients. Without a working WebSocket connection, users see stale boards and must manually refresh to see changes.
Wekan's WebSocket endpoint is at /websocket or via the DDP path /sockjs. Check that the upgrade path responds:
curl -I https://wekan.example.com/sockjs/info
A healthy Wekan instance returns 200 OK from /sockjs/info with a JSON response containing websocket: true:
{"websocket":true,"origins":["*:*"],"cookie_needed":false,"entropy":...}
Add this Vigilmon monitor:
- Add Monitor → HTTP.
- URL:
https://wekan.example.com/sockjs/info. - Check interval: 60 seconds.
- Expected status:
200. - Keyword:
websocket(confirms WebSocket support is active). - Label:
Wekan WebSocket (real-time updates). - Click Save.
When this monitor fires while the web availability check is green, the real-time update layer has failed — users can still view boards but won't see changes without refreshing.
Step 5: Monitor SSL Certificates
If you proxy Wekan through nginx, Caddy, or another reverse proxy, the SSL certificate on that proxy is what users and browsers trust:
- Add Monitor → SSL Certificate.
- Domain:
wekan.example.com. - Alert when expiry is within: 30 days.
- Alert again: 14 days, 7 days, 3 days, 1 day.
- Click Save.
An expired certificate renders Wekan completely inaccessible for all users — browsers will show a security warning and block access entirely.
Step 6: Set Up a Vigilmon Heartbeat for Background Processing
Wekan performs background operations — card archival, notification dispatch, and board maintenance — using Meteor's server-side code. A heartbeat confirms the full stack, including these background tasks, is operational:
# Add to crontab on your Wekan server
*/5 * * * * curl -sf https://wekan.example.com/sign-in | grep -q "email" && curl -s "https://your-heartbeat-url.vigilmon.online/ping"
In Vigilmon:
- Add Monitor → Heartbeat.
- Expected interval: 5 minutes.
- Grace period: 2 minutes.
- Label:
Wekan background processing. - Copy the heartbeat ping URL and add it to your cron script.
Step 7: Configure Alerting
In Vigilmon under Settings → Notifications, configure your alert channels:
| Monitor | Trigger | Action |
|---|---|---|
| Web availability | Non-200 or keyword missing | Check systemctl status wekan; verify Node.js process is running |
| Login page (DB connectivity) | Non-200 or keyword missing | MongoDB likely down; check systemctl status mongod |
| WebSocket /sockjs/info | Non-200 or keyword missing | DDP/WebSocket layer failed; restart Wekan |
| SSL certificate | < 30 days to expiry | Renew certificate; check ACME automation |
| Heartbeat | Missing ping | Full-stack issue; check cron and Wekan health |
Alert after: 1 consecutive failure for all monitors — a Wekan outage blocks all project management workflows immediately.
Common Wekan Failure Modes and What Vigilmon Catches
| Scenario | Vigilmon monitor |
|---|---|
| Wekan Node.js process crash | Web availability fires within 60 s |
| MongoDB down or connection refused | Login page monitor fires (DB connectivity check) |
| WebSocket/DDP layer failure | /sockjs/info monitor fires; boards load but don't update |
| SSL certificate expired | SSL monitor alerts at 30-day threshold |
| Wekan OOM kill (memory-heavy on large boards) | Web availability fires; check container memory limits |
| Reverse proxy misconfiguration | All monitors fire simultaneously |
| Disk full (MongoDB data) | Login page monitor fires; DB writes fail |
Wekan is often a single-server deployment with no redundancy — when it goes down, every team using it loses access to their boards instantly. Vigilmon gives you layered external monitoring of the web server, MongoDB connectivity, WebSocket uptime, and SSL certificates so you're alerted in seconds rather than finding out when someone files a support ticket.
Start monitoring Wekan in under 5 minutes — register free at vigilmon.online.