Slash is an open-source link shortener and bookmark manager from the Memos team, built in Go and React, running on port 5231. Teams use it to create memorable short URLs (s/onboarding, s/runbook, s/design) that route to long internal or external destinations. The core short-URL redirect path is latency-sensitive — a slow or unavailable redirect service degrades every link your team shares in Slack, email, or documentation. Vigilmon monitors Slash's web server, redirect engine, API, and scheduled cleanup jobs so short URLs stay fast and reliable.
What You'll Set Up
- Web server and dashboard uptime monitor (port 5231)
- Short-URL redirect service response time check
- REST API endpoint health monitor
- TLS certificate expiry alert
- Scheduled link cleanup job heartbeat
- Authentication service health via API probe
Prerequisites
- Slash running (binary, Docker, or behind a reverse proxy)
- Web UI accessible at
http://yourhost:5231orhttps://s.yourdomain.com - A free Vigilmon account
Step 1: Monitor the Slash Web Server
The web server serves both the admin dashboard and the redirect engine. If it goes down, all short URLs return connection errors.
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter your Slash URL:
https://s.yourdomain.com(orhttp://yourhost:5231). - Set Check interval to
1 minute. - Set Expected HTTP status to
200. - Enable Monitor SSL certificate if using HTTPS, with expiry alert at
21 days. - Click Save.
Step 2: Monitor the Short-URL Redirect Service
The redirect path is the most latency-sensitive part of Slash. Every click on a short link goes through it. Monitor a known redirect to validate the full resolution path — not just that the server is up, but that the lookup and redirect are working:
- Click Add Monitor →
HTTP / HTTPS. - Create a dedicated probe shortcut in Slash (e.g.,
probepointing tohttps://vigilmon.online). - URL:
https://s.yourdomain.com/s/probe. - Set Expected HTTP status to
301or302(redirect response). - Enable Follow redirects: disabled (you want to catch the redirect, not the destination).
- Set Check interval to
1 minute. - Click Save.
A failure on this check while the dashboard is healthy means the redirect engine or database lookup has failed — the most impactful Slash failure mode.
Step 3: Monitor the REST API
Slash exposes a gRPC-gateway REST API. Probe the API to confirm the backend and database (PostgreSQL or SQLite) are responding:
- Click Add Monitor →
HTTP / HTTPS. - URL:
https://s.yourdomain.com/api/v1/workspace. - Set Expected HTTP status to
200. - Set Check interval to
2 minutes. - Click Save.
If Slash is configured to require authentication, use the /api/v1/shortcut endpoint with an API token:
- Under Request headers, add:
Authorization: Bearer YOUR_SLASH_API_TOKEN - URL:
https://s.yourdomain.com/api/v1/shortcut. - Expected status:
200.
An API failure while the web UI is reachable usually indicates a database connectivity problem or a corrupted SQLite file.
Step 4: Check the Admin Panel Accessibility
The admin panel requires authentication. Verify it's reachable (even if you can't authenticate programmatically):
- Click Add Monitor →
HTTP / HTTPS. - URL:
https://s.yourdomain.com/signin. - Expected status:
200. - Check interval:
5 minutes. - Click Save.
A 404 or 500 on the signin page indicates a frontend build issue or misconfigured reverse proxy — different from an API or database failure.
Step 5: Monitor the Browser Extension API Health
Slash includes a browser extension that lets users save bookmarks directly. The extension calls API endpoints to save and list shortcuts. Monitor these endpoints to ensure extension users aren't silently failing:
- Click Add Monitor →
HTTP / HTTPS. - URL:
https://s.yourdomain.com/api/v1/shortcut?filter=ACTIVE. - Set Expected HTTP status to
200. - Add the
Authorization: Bearer YOUR_SLASH_API_TOKENheader. - Check interval:
5 minutes. - Click Save.
Step 6: Heartbeat for Link Expiry and Cleanup Jobs
Slash can mark shortcuts as expired and run background cleanup. If your deployment runs scheduled jobs (via cron or an internal scheduler), use a heartbeat to confirm they execute:
- Click Add Monitor → Cron Heartbeat.
- Set expected interval to match your cleanup schedule (e.g.,
1440 minutesfor daily). - Copy the heartbeat URL.
- Add the ping to your cleanup script:
#!/bin/bash
# /opt/slash/cleanup.sh
# Prune expired shortcuts via Slash API
curl -s -X DELETE "https://s.yourdomain.com/api/v1/shortcut/expired" \
-H "Authorization: Bearer YOUR_SLASH_API_TOKEN"
if [ $? -eq 0 ]; then
curl -s https://vigilmon.online/heartbeat/YOUR_HEARTBEAT_ID
fi
Schedule daily:
0 2 * * * /opt/slash/cleanup.sh
Step 7: Validate Database Connectivity
Slash supports both PostgreSQL and SQLite. For production PostgreSQL deployments, monitor the database port directly:
- Click Add Monitor → TCP Port.
- Host and port:
yourhost:5432. - Check interval:
1 minute. - Click Save.
For SQLite deployments, disk space is the critical metric. Add a heartbeat probe:
#!/bin/bash
THRESHOLD=85
USAGE=$(df /var/lib/slash | awk 'NR==2 {print $5}' | tr -d '%')
if [ "$USAGE" -lt "$THRESHOLD" ]; then
curl -s https://vigilmon.online/heartbeat/YOUR_DB_HEARTBEAT_ID
fi
Schedule every 15 minutes:
*/15 * * * * /opt/slash/disk-check.sh
Step 8: Configure Alert Channels
- Go to Alert Channels in Vigilmon and add Slack, email, or a webhook.
- For the redirect service monitor (Step 2), set Consecutive failures before alert to
1— every second of redirect downtime affects real users. - For the API and admin panel monitors, set threshold to
2to absorb brief Go process restarts. - Use Maintenance windows during Slash version upgrades.
Summary
| Monitor | Target | What It Catches |
|---|---|---|
| Web server (HTTP) | https://s.yourdomain.com | Go process crash, port conflict |
| Redirect service | /s/probe | Link resolution failure, DB error |
| REST API | /api/v1/workspace | Backend error, DB connectivity |
| Admin panel | /signin | Frontend or proxy misconfiguration |
| Extension API | /api/v1/shortcut | API auth layer failure |
| Cleanup job (heartbeat) | Heartbeat URL | Expired link pruning not running |
| PostgreSQL (TCP) | yourhost:5432 | Database server down |
| SSL certificate | Domain | TLS expiry |
Slash is the URL fabric your team relies on — every shared link, every runbook shortcut, every onboarding URL passes through it. With Vigilmon monitoring the redirect engine, REST API, database, and scheduled jobs, you catch failures before your team starts reporting broken links.