Rill is an operational BI framework that lets you build fast, SQL-powered dashboards and data apps directly from your data sources. Whether you're running rill start in development or deploying scheduled reports via the Rill Cloud or a self-hosted pipeline, uptime matters — a broken dashboard is a blind analyst. Vigilmon gives you HTTP uptime checks, endpoint health monitoring, and scheduled deployment heartbeat alerts for your Rill environment.
What You'll Set Up
- HTTP uptime monitor for the Rill dev server (default port 9009)
/healthendpoint check to confirm the Rill runtime is responsive- Dashboard load endpoint monitoring for critical dashboards
- Cron heartbeat for scheduled Rill report deployments
- SSL certificate expiry alerts for production Rill deployments
Prerequisites
- Rill 0.40+ running via
rill startor a production Rill deployment - At least one dashboard accessible over HTTP
- A free Vigilmon account
Step 1: Monitor the Rill Dev Server
The Rill dev server runs on port 9009 by default and serves both the UI and the API. Start by adding a basic HTTP monitor to confirm the server is reachable:
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter the Rill server URL:
http://localhost:9009(or your remote host, e.g.https://rill.yourdomain.com). - Set Check interval to
1 minute. - Set Expected HTTP status to
200. - Click Save.
For remote deployments, replace localhost with the server's hostname or IP and ensure port 9009 is accessible (or that a reverse proxy routes it to a standard port).
Step 2: Monitor the /health Endpoint
Rill exposes a /health endpoint that confirms the runtime service is operational. This is a richer check than just probing the root URL — it verifies that Rill's internal services have started successfully:
- Click Add Monitor → HTTP / HTTPS.
- Set the URL to
http://localhost:9009/health(or your production equivalent). - Set Expected HTTP status to
200. - Optionally, set Expected response body to contain
"ok"to validate the response payload. - Set Check interval to
1 minute. - Click Save.
If Rill returns a non-200 response on /health, it typically indicates a configuration error or a source connection failure that prevents dashboards from loading.
Step 3: Monitor a Dashboard Load Endpoint
Individual dashboards are served under the /api/v1/instances/{instanceId}/queries/ path. To verify that a critical dashboard is actually loading data (not just that the server is up), monitor a lightweight dashboard endpoint:
- Identify your Rill instance ID — it appears in the URL when you open any dashboard in the Rill UI (e.g.
http://localhost:9009/default). - Add an HTTP monitor for the dashboard listing endpoint:
http://localhost:9009/v1/instances/default/resources - Set Expected HTTP status to
200. - Set Check interval to
5 minutes— dashboard data queries can be heavier than health checks. - Click Save.
This catches cases where the Rill server is running but the model or source data pipeline has failed and dashboards can't render.
Step 4: Heartbeat Monitoring for Scheduled Report Deployments
Rill projects can be deployed and refreshed on a schedule — either via rill deploy in CI/CD or via custom scripts that push updated source data. Use Vigilmon's cron heartbeat to confirm these deployments complete successfully:
- In Vigilmon, click Add Monitor → Cron Heartbeat.
- Set the Expected ping interval to match your deployment schedule (e.g.
60minutes for hourly refreshes,1440minutes for daily). - Copy the heartbeat URL (e.g.
https://vigilmon.online/heartbeat/abc123). - Add a curl call at the end of your deployment script:
#!/bin/bash
set -e
# Pull latest data
./scripts/refresh_sources.sh
# Deploy Rill project
rill deploy --project ./my-rill-project
# Signal success to Vigilmon
curl -s https://vigilmon.online/heartbeat/abc123
For GitHub Actions or other CI pipelines:
- name: Deploy Rill
run: |
rill deploy --project ./my-rill-project
curl -s https://vigilmon.online/heartbeat/abc123
If the deploy script fails before reaching the curl command, Vigilmon will alert after the expected interval passes — signaling a missed deployment without any additional instrumentation.
Step 5: SSL Certificate Alerts
For production Rill deployments served over HTTPS via a reverse proxy (nginx, Caddy, or Rill Cloud), add SSL certificate expiry monitoring:
- Open the HTTP monitor you created for your Rill endpoint.
- Enable Monitor SSL certificate under the SSL section.
- Set Alert when certificate expires in less than
21 days. - Click Save.
For Caddy or nginx-managed certificates that auto-renew via Let's Encrypt, a 21-day alert window gives you time to investigate renewal failures before users see certificate warnings.
If you're hosting Rill on a custom domain behind Caddy:
rill.yourdomain.com {
reverse_proxy localhost:9009
}
Caddy handles TLS automatically — but Vigilmon's SSL check ensures auto-renewal is actually working.
Step 6: Configure Alert Channels
- Go to Alert Channels in Vigilmon and add Slack, email, or a webhook.
- Set Consecutive failures before alert to
2on HTTP monitors — a single probe failure can be a transient network blip. - For heartbeat monitors, set the alert to trigger as soon as the heartbeat is missed — there's no benefit to waiting for a second miss on a scheduled deployment.
Summary
| Monitor | Target | What It Catches |
|---|---|---|
| Dev server | http://rill-host:9009 | Server crash, port blocked |
| Health endpoint | /health | Runtime startup failures, source errors |
| Dashboard endpoint | /v1/instances/default/resources | Data pipeline failures |
| Cron heartbeat | Heartbeat URL | Failed or missed deployments |
| SSL certificate | Production domain | Let's Encrypt renewal failure |
Rill makes building SQL-powered dashboards fast — Vigilmon makes sure they stay available. With uptime checks on the server, health endpoint, and dashboard APIs, plus heartbeat monitoring for your deployment pipeline, you'll know the moment your Rill environment needs attention.