tutorial

Kavita Monitoring with Vigilmon: Uptime, Health Checks & Library Scan Alerts

Monitor your self-hosted Kavita book and manga reader with Vigilmon — track the health endpoint, web UI availability, library scan service, and SSL certificate expiry.

Your Kavita library server stopped responding at midnight. Readers trying to pick up where they left off hit a blank screen. The library scan job that indexes your new comic uploads is silently failing, and new chapters won't appear until you manually restart the service — something you won't notice until someone complains. Vigilmon catches these failures the moment they happen, giving you uptime monitoring, health checks, and SSL certificate alerts for your Kavita instance.

This tutorial shows you how to monitor Kavita end-to-end with Vigilmon.

What You'll Build

  • A Vigilmon HTTP monitor on Kavita's /api/health endpoint
  • A web UI availability monitor for the reader interface
  • A library scan service check via the API
  • SSL certificate expiry alerts
  • Alert channels so downtime reaches you immediately

Prerequisites

  • A running Kavita instance (default port 5000, typically behind a reverse proxy on HTTPS)
  • A free account at vigilmon.online

Step 1: Monitor the Health Endpoint

Kavita exposes a dedicated health check at /api/health. This endpoint returns a 200 when the server process is alive and the database connection is healthy.

Test it:

curl https://kavita.yourdomain.com/api/health

Expected response:

Healthy

A 200 Healthy response means Kavita's ASP.NET Core host is running and the embedded SQLite database is reachable. Any other status code indicates a process crash or database failure.

Set up the Vigilmon monitor:

  1. Log in to Vigilmon and click New Monitor → HTTP.
  2. Set URL to https://kavita.yourdomain.com/api/health.
  3. Set Check interval to 60 seconds.
  4. Set Expected status code to 200.
  5. Under Advanced → Keyword check:
    • Keyword present: Healthy
  6. Save the monitor.

Vigilmon now polls your Kavita health layer every minute from multiple geographic regions.


Step 2: Monitor Web UI Availability

The health endpoint checks the backend, but the React-based reader UI can break independently — a failed static asset build, a misconfigured reverse proxy header, or a CDN hiccup can leave readers unable to open books even when the API is healthy.

Add a UI monitor:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://kavita.yourdomain.com/ (your Kavita login or library page).
  3. Set Expected status code to 200.
  4. Under Advanced → Keyword check, configure:
    • Keyword present: Kavita
    • Keyword absent: error, Bad Gateway
  5. Save.

This confirms that the frontend bundle is being served correctly and that the reverse proxy is passing requests through to the Kavita process.


Step 3: Monitor the Library Scan Service

Kavita's library scan service is responsible for indexing new books, manga chapters, and series metadata. If the scan job stalls — due to a permissions error on the media folder, a database lock, or a memory issue — new content won't appear for readers even though the server is technically up.

Kavita provides an API endpoint you can probe to verify the server is responding to API calls. After authenticating, you can query /api/library to confirm library data is accessible:

# Get an API token first
curl -X POST https://kavita.yourdomain.com/api/account/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"yourpassword"}'

# Then check library list
curl https://kavita.yourdomain.com/api/library \
  -H "Authorization: Bearer <token>"

For a lightweight Vigilmon check that doesn't require authentication, monitor the series endpoint's status response:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://kavita.yourdomain.com/api/health.
  3. Set Check interval to 5 minutes (library scan health changes slowly).
  4. Set Expected status code to 200.
  5. Save.

For deeper scan job monitoring, configure a Kavita webhook under Admin → Tasks and route it to a Vigilmon webhook receiver or your alert channel. This will fire when a scan completes or fails, giving you task-level visibility.


Step 4: SSL Certificate Monitoring

Kavita is typically served over HTTPS via Nginx or Caddy with Let's Encrypt. An expired certificate locks every reader out of the library and breaks mobile app connections.

Vigilmon monitors SSL certificate validity automatically alongside your HTTP checks. To configure expiry alerts:

  1. Open any of your HTTPS Kavita monitors in Vigilmon.
  2. Go to Settings → SSL.
  3. Enable Alert when certificate expires within 14 days.
  4. Enable Alert when certificate expires within 30 days for early warning.

Sample alert:

⚠️  SSL Warning: kavita.yourdomain.com
Certificate expires in 11 days (2026-07-10)
Action: renew via Certbot or verify Caddy ACME config

Step 5: Alert Channels

Go to Notifications → New Channel in Vigilmon and configure delivery:

  • Email — direct alerts to the library admin
  • Webhook — post to Discord or Slack for a household or reading group

A Kavita downtime alert looks like:

🔴 DOWN: kavita.yourdomain.com/api/health
Kavita health check failed
Region: US-East
Triggered: 2026-02-14 02:17 UTC

Recovery:

✅ RECOVERED: kavita.yourdomain.com/api/health
Downtime: 8 minutes

Step 6: Status Page

Go to Status Pages → New Status Page in Vigilmon. Add your Kavita monitors and publish the page. Share it with your household or reading community so users know when maintenance is happening rather than wondering why their books won't load.


What You've Built

| Scenario | How Vigilmon catches it | |---|---| | Kavita process crash | /api/health returns non-200 | | Database (SQLite) unreachable | Health keyword check fails | | Frontend UI broken | Web UI keyword monitor detects missing content | | Reverse proxy (Nginx/Caddy) down | HTTPS monitor detects 502 or timeout | | Library scan job silently failing | API health monitor + webhook task alerts | | SSL certificate expired or expiring | SSL expiry alert triggers | | DNS misconfiguration | HTTP monitor detects DNS resolution failure |


Kavita gives readers a polished self-hosted alternative to commercial digital library apps. Keeping the server healthy means your reading list is always available when you want it. Vigilmon handles the monitoring so you can focus on reading.

Start monitoring your Kavita instance today — 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 →