tutorial

Monitoring Baserow with Vigilmon: Health Endpoint, Web App, Backend API & SSL Alerts

How to monitor Baserow open-source no-code database with Vigilmon — health endpoint checks, web app availability, backend API liveness check, and SSL certificate alerts.

Baserow is the open-source, self-hosted alternative to Airtable that lets teams build collaborative databases, forms, and views without writing code. Businesses use it to manage product catalogs, CRM pipelines, project trackers, and operational data in a spreadsheet-like interface backed by a real PostgreSQL database. When Baserow goes down, those databases become inaccessible, API integrations stop responding, and team members working from shared views lose access to the data driving their daily work. Vigilmon gives you external visibility into Baserow's health endpoint, web application, backend API, and SSL certificate so you're alerted before users notice anything is broken.

What You'll Build

  • A monitor on Baserow's /api/health/ endpoint
  • An HTTP monitor for the Baserow web application
  • A liveness check on the backend database rows API (401 = alive)
  • SSL certificate monitoring for your Baserow domain

Prerequisites

  • A running Baserow instance with a public or network-reachable domain
  • HTTPS configured via a reverse proxy (e.g., https://baserow.example.com)
  • A free account at vigilmon.online

Step 1: Verify Baserow's Health Endpoint

Baserow exposes a dedicated health check at /api/health/ that confirms the backend Django application and its dependencies are operational:

curl https://baserow.example.com/api/health/

A healthy Baserow instance returns HTTP 200 with:

{"health":"good"}

This endpoint requires no authentication. The good status confirms that the Django application server is running, the database connection is live, and background workers are functional. It is designed specifically for uptime monitoring and load balancer health probes.


Step 2: Create a Vigilmon HTTP Monitor for the Health Endpoint

  1. Log in to VigilmonAdd Monitor → HTTP.
  2. URL: https://baserow.example.com/api/health/.
  3. Check interval: 60 seconds.
  4. Response timeout: 10 seconds.
  5. Expected status: 200.
  6. Keyword: good.
  7. Label: Baserow API Health.
  8. Click Save.

This monitor catches:

  • Baserow Django backend crashes or unexpected restarts
  • Database connectivity failures — Baserow requires a live PostgreSQL connection to function
  • Redis/Celery worker failures that degrade background task processing
  • Container or process restarts caused by memory pressure or misconfiguration

The keyword good is Baserow's own health signal — it's the most direct indicator that the application layer is fully operational, not just returning an HTTP response.


Step 3: Monitor the Baserow Web Application

Baserow's web frontend is a Nuxt.js single-page application served separately from the Django backend API. Monitoring it independently catches failures that wouldn't be visible from the health endpoint — such as reverse proxy misconfiguration, static asset serving failures, or frontend deployment errors:

  1. Add Monitor → HTTP.
  2. URL: https://baserow.example.com.
  3. Check interval: 60 seconds.
  4. Expected status: 200.
  5. Keyword: Baserow.
  6. Label: Baserow Web App.
  7. Click Save.

This monitor catches reverse proxy failures, CDN misconfigurations, and frontend deployment issues that would block team members from accessing their database views in a browser — even if the backend API health endpoint continues to return good.


Step 4: Monitor the Backend Database API for Liveness

Baserow's database rows API at /api/database/rows/table/1/ is protected by authentication, but an HTTP 401 Unauthorized response confirms the backend application is alive and routing requests correctly. If Baserow crashes or the reverse proxy breaks, you'll get a connection error or a 502/503 instead of a 401:

curl -I https://baserow.example.com/api/database/rows/table/1/
# Expected: HTTP/1.1 401 Unauthorized
  1. Add Monitor → HTTP.
  2. URL: https://baserow.example.com/api/database/rows/table/1/.
  3. Check interval: 5 minutes.
  4. Expected status: 401.
  5. Label: Baserow Database Rows API.
  6. Click Save.

Why monitor a 401? An HTTP 401 means the backend application received the request, authenticated it, and correctly rejected it because no credentials were supplied. This is distinct from a 502 Bad Gateway (reverse proxy can't reach the backend) or a connection timeout (process not running). A 401 from this endpoint means Baserow's routing layer, ORM, and request handling pipeline are all functioning.


Step 5: Monitor SSL Certificates

Baserow is often integrated with external automations, webhook receivers, and embedded forms on other websites. An expired SSL certificate:

  • Blocks all team members from accessing no-code database views in a browser
  • Breaks REST API integrations that scripts or tools make to Baserow
  • Prevents embedded Baserow forms from loading on external sites
  • Silently breaks any application that connects to the Baserow API over HTTPS
  1. Add Monitor → SSL Certificate.
  2. Domain: baserow.example.com.
  3. Alert when expiry is within: 30 days.
  4. Alert again: 14 days, 7 days, 3 days, 1 day.
  5. Click Save.

Step 6: Configure Alerting

In Vigilmon under Settings → Notifications, configure your alert channels:

| Monitor | Trigger | Action | |---|---|---| | /api/health/ | Non-200 or good missing | Check Baserow backend container; inspect Django logs; verify PostgreSQL connectivity | | Web App | Non-200 or keyword missing | Check reverse proxy config; verify frontend container; inspect nginx/Caddy logs | | Database Rows API | Non-401 response | Check backend routing; if 502, verify backend container is running | | SSL certificate | < 30 days to expiry | Renew certificate; verify ACME/Let's Encrypt auto-renewal is configured |

Alert after: 2 consecutive failures for HTTP monitors to avoid false positives on transient network blips.


Common Baserow Failure Modes and What Vigilmon Catches

| Scenario | Vigilmon monitor | |---|---| | Django backend process crash | Health endpoint unreachable; alert within 60 s | | PostgreSQL connection failure | Health check returns non-200; all data reads and writes fail | | Redis/Celery worker crash | Health may degrade; background tasks (exports, imports) stop working | | Frontend container restart | Web app monitor fires; API health stays green | | Reverse proxy misconfiguration | Web app and API monitors fire; TCP connectivity may remain | | Database migration failure after upgrade | Health check returns 500; schema mismatch prevents queries | | Memory exhaustion on large datasets | Backend OOM-killed; health endpoint becomes unreachable | | SSL certificate expires | SSL monitor alerts at 30 days; all HTTPS access blocked | | DNS misconfiguration | All monitors fire simultaneously |


Baserow puts a real database behind a no-code interface that teams rely on for operational data — when it fails, workflows stop. Vigilmon watches the health endpoint, web application, backend API liveness, and SSL certificate so you're alerted within 60 seconds of any failure, long before your team reports that their databases are unreachable.

Start monitoring Baserow in under 5 minutes — 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 →