tutorial

Monitoring Langfuse with Vigilmon: Health Endpoint, Dashboard, Tracing API & SSL Alerts

How to monitor Langfuse self-hosted LLM observability platform with Vigilmon — health checks, web dashboard availability, tracing API liveness, and SSL certificate alerts for AI production pipelines.

Langfuse is a self-hosted open-source LLM observability and prompt management platform that captures traces, generations, scores, and prompt versions for AI applications in production. Engineering teams use Langfuse to debug LLM chains, track token costs, evaluate prompt quality, and detect regressions in model outputs. When Langfuse goes down in an AI production environment, you lose visibility into every LLM call across your stack: traces stop being captured, prompt experiments lose their evaluation data, and production incidents in your AI pipeline become invisible until users report broken outputs. The tracing ingestion API is particularly critical — it receives events from SDKs running inside your AI services, so any ingestion failure means a silent gap in your observability coverage. Vigilmon gives you external visibility into Langfuse's health endpoint, web dashboard, tracing API, and SSL certificate so failures are caught within 60 seconds.

What You'll Build

  • A monitor on Langfuse's /api/public/health health endpoint
  • An HTTP monitor for the Langfuse web dashboard
  • An HTTP monitor for the tracing API liveness check (/api/public/ingestion returning 401 confirms the API is alive)
  • SSL certificate monitoring for your Langfuse domain
  • An alerting setup tuned for AI production pipeline criticality

Prerequisites

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

Step 1: Verify Langfuse's Health Endpoint

Langfuse exposes a health check at /api/public/health that confirms the application server and its database connections are responding:

curl -i https://langfuse.example.com/api/public/health

A healthy instance returns HTTP 200 with a JSON status body:

{
  "status": "OK",
  "version": "2.x.x"
}

This endpoint requires no authentication and is designed for uptime probes. A 200 with status: OK confirms the Next.js application server is running and PostgreSQL (Langfuse's primary database for traces, prompts, and scores) is reachable. A non-200 response or timeout indicates the application has crashed, the database is unreachable, or the container is restarting.


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

  1. Log in to VigilmonAdd Monitor → HTTP.
  2. URL: https://langfuse.example.com/api/public/health.
  3. Check interval: 60 seconds.
  4. Response timeout: 15 seconds.
  5. Expected status: 200.
  6. Keyword: OK.
  7. Label: Langfuse Health.
  8. Click Save.

This monitor catches:

  • Next.js application server crashes or OOM kills from large trace ingestion loads
  • PostgreSQL connectivity failures — Langfuse stores all traces, spans, generations, scores, datasets, prompt versions, and user data in PostgreSQL; a database outage makes every Langfuse feature non-functional
  • ClickHouse connectivity failures (in deployments with analytics offloading) that degrade trace query performance
  • Worker process failures that prevent asynchronous trace processing and score computation

The OK keyword check ensures the server is reporting a healthy database connection — not just a 200 from a reverse proxy fronting an unreachable backend.

PostgreSQL dependency in LLM pipelines: In an AI production environment, Langfuse's PostgreSQL database is the source of truth for every LLM trace, evaluation score, and prompt version. If the database goes down during a model rollout or an A/B prompt experiment, you lose the observability data needed to make rollback decisions. The health endpoint failing means your entire LLM observability stack is blind.


Step 3: Monitor the Langfuse Web Dashboard

The Langfuse web dashboard is where your AI team reviews traces, scores model outputs, manages datasets, and runs prompt experiments. Monitor it independently from the API to catch reverse proxy failures and static asset serving problems:

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

This monitor catches nginx or reverse proxy failures, CDN misconfiguration, and Next.js build serving errors that prevent your AI team from accessing traces and evaluations — even when the backend API is healthy. A broken dashboard means no trace inspection, no prompt iteration, and no score review during a production incident.


Step 4: Monitor the Tracing API Liveness

The Langfuse tracing API at /api/public/ingestion is the endpoint your AI services call to send traces, spans, and generation events. Calling it without a valid API key returns 401 Unauthorized — the correct response confirming the API is alive, authenticated, and processing requests:

curl -i https://langfuse.example.com/api/public/ingestion
# Expected: HTTP 401 (API is alive, authentication is enforced)
  1. Add Monitor → HTTP.
  2. URL: https://langfuse.example.com/api/public/ingestion.
  3. Check interval: 60 seconds.
  4. Expected status: 401.
  5. Label: Langfuse Tracing API.
  6. Click Save.

A 401 is the correct liveness signal: it proves the API server accepted the connection, parsed the request, ran authentication middleware, and returned a proper HTTP response. A 502 or 504 means the proxy is running but the Langfuse Next.js server is not responding. A timeout means the application or network layer has failed entirely and your AI services are sending traces into a black hole.

Why this monitor is critical for AI pipelines: Langfuse SDK clients in your AI services (LangChain, LlamaIndex, OpenAI wrappers) send traces asynchronously in the background. If the ingestion endpoint is down, the SDKs fail silently and no traces are captured — you won't know until you notice gaps in your trace timeline hours later. This monitor gives you a 60-second alert window before a production debugging blackout becomes a crisis.


Step 5: Monitor SSL Certificates

An expired SSL certificate on your Langfuse instance has cascading effects on your entire AI pipeline:

  • The Langfuse web dashboard becomes inaccessible to your entire AI team
  • Langfuse SDK clients in your AI services reject the TLS certificate and stop sending traces, causing a complete observability blackout
  • Any CI/CD pipeline that runs evals against the Langfuse API fails with TLS errors
  • Dataset and prompt management workflows from external tooling break
  1. Add Monitor → SSL Certificate.
  2. Domain: langfuse.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/public/health | Non-200 or OK missing | Check Langfuse container; inspect PostgreSQL connectivity; review application logs | | Web Dashboard | Non-200 or keyword missing | Check nginx/reverse proxy; verify Next.js serving; inspect container logs | | Tracing API | Non-401 response | Check API server; verify ingestion worker is running; inspect trace queue backlog | | SSL certificate | < 30 days to expiry | Renew certificate; verify Let's Encrypt auto-renewal is functioning |

Alert after: 2 consecutive failures for HTTP monitors. For the tracing API monitor, treat even a single failure seriously — one minute of ingestion downtime means missed traces from all your AI services simultaneously.

Escalation for AI pipelines: Consider routing Langfuse alerts to your AI on-call channel, not just the standard infrastructure channel. A Langfuse outage during a model release or prompt rollout is a production incident for your AI team even when no end-user-facing service is directly affected.


Common Langfuse Failure Modes and What Vigilmon Catches

| Scenario | Vigilmon monitor | |---|---| | Next.js server OOM-killed by large trace batch | Health endpoint unreachable; alert within 60 s | | PostgreSQL disk full from trace volume growth | Health check fails; all trace ingestion and querying stops | | ClickHouse unavailable (analytics queries fail) | Dashboard loads but trace queries time out; users report blank trace lists | | Ingestion worker backlog overflow | API returns 200 but traces are dropped; monitor catches server-level failures | | Reverse proxy misconfiguration after update | Dashboard monitor fires; API may still be reachable directly | | SSL certificate expires | SDK clients reject TLS; trace ingestion stops across all AI services | | Database migration failure after version upgrade | Health check fails or returns degraded state | | Container restart loop from misconfigured env vars | Health endpoint intermittently unreachable; flapping alerts | | DNS misconfiguration | All monitors fire simultaneously | | Redis session store failure | Dashboard login fails; authenticated API calls return 401 for valid keys |


LLM observability is only useful when it's reliable — a Langfuse outage during a production incident is the worst time to discover your tracing platform was also down. Vigilmon watches Langfuse's health endpoint, web dashboard, tracing API, and SSL certificate so you're alerted within 60 seconds of any failure, before your AI team loses visibility into a live production issue.

Start monitoring Langfuse 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 →