Why Supabase Apps Need External Monitoring
Supabase provides excellent infrastructure and a public status page — but relying solely on their status means you'll learn about issues after your users do. External monitoring gives you independent verification that your specific Supabase project is healthy from your users' perspective. Supabase's status page tracks the platform globally; FourSight tracks your application end-to-end, including the configuration, RLS policies, edge functions, and integrations that Supabase has no visibility into.
The Four Critical Supabase Surfaces
A typical Supabase-backed application has four distinct surfaces that can fail independently. Monitor each one with a dedicated check rather than relying on a single 'is the app up' monitor.
REST API (PostgREST)
Monitor your most-queried tables via the REST API. A simple GET request to your primary data endpoint verifies PostgREST, the Postgres database, and your RLS policies all in one check. Use anon-key auth so the check exercises the same authorization path your users hit.
Auth Endpoints
Your signup and login flows depend on Supabase Auth. Monitor /auth/v1/health for basic availability, and add keyword checks that hit the signup or magic-link endpoints to verify the full flow works.
Edge Functions
Supabase Edge Functions can fail independently of the rest of the platform — function-specific deploy issues, secret rotation gaps, or cold-start regressions. Monitor each production function's URL with an HTTP check, and add response-time alerts to catch cold-start degradation.
Realtime Channels
If your app uses Supabase Realtime for live updates, monitor the WebSocket endpoint to catch connection issues early. Realtime outages are silent — the page loads fine, but the live data never appears.
Setting Up the Right Checks
Use the right monitor type for each surface. A generic HTTP 200 check misses too much in a Supabase architecture.
| Surface | Monitor Type | Recommended Interval | Alert Threshold |
|---|---|---|---|
| PostgREST API | HTTP keyword | 30s (Growth+) / 60s (Starter) | 2 consecutive failures |
| Auth health | HTTP | 60s | 3 consecutive failures |
| Edge function | HTTP keyword | 60s | 2 consecutive failures |
| Realtime WebSocket | HTTP (handshake) | 5 min | 2 consecutive failures |
| SSL certificate | SSL | Daily | 30 days before expiry |
| Database health endpoint | HTTP keyword | 60s | 2 consecutive failures |
Database Performance Monitoring
Postgres query performance degrades gradually, then suddenly. Most teams discover slowdowns from a Slack message about the dashboard 'feeling slow' — by then, the regression has been live for hours or days. Monitor API endpoints that exercise your heaviest queries and set response-time thresholds that alert when queries slow beyond acceptable limits.
Recommended response time thresholds:
Simple read queries (single table): < 200ms alert at 500ms
Complex joins (3+ tables): < 500ms alert at 1500ms
Full-text search: < 300ms alert at 1000ms
Write operations (single row): < 100ms alert at 500ms
Bulk writes / aggregations: < 1000ms alert at 3000ms
Edge function cold-start: < 500ms alert at 2000ms
Edge function warm: < 100ms alert at 500ms
Monitoring a Commercial SaaS?
FourSight includes 25 commercial-safe monitors with multi-region validation.
Start Monitoring FreeConnection Pool Exhaustion
Supabase uses connection pooling via PgBouncer. When your pool is exhausted, new connections fail with cryptic errors and your app effectively goes down. Free-tier projects don't have pooling at all and are limited to direct connections. Monitor a lightweight database health endpoint (one that runs SELECT 1 against the connection pool) and alert immediately when it starts timing out.
RLS Policy Drift
Row Level Security policies are the foundation of multi-tenant Supabase apps — and they break silently. A subtle policy change can either leak data across tenants (worse) or block legitimate users (bad but visible). Add monitoring checks that authenticate as a known test user and verify they can read their own records AND cannot read records belonging to other tenants. Run these checks every 5 minutes; they catch the entire class of RLS regressions before they hit production users.
Multi-Region Verification
Supabase projects are hosted in a single AWS region. Use FourSight's multi-region monitoring to verify that users worldwide can reach your Supabase endpoints with acceptable latency. APAC users hitting a US-East Supabase project typically see 200-300ms baseline latency just from network round-trips — that's before any query work.
Edge Function-Specific Pitfalls
Edge Functions have unique failure modes. Cold starts can spike to 1-2 seconds even for trivial functions. Secret rotation without redeploying causes 500s. Deno runtime updates occasionally break previously-working code. Build a synthetic check per function that exercises the real code path and alerts on both availability and response-time drift.