tutorial

Nitter Monitoring with Vigilmon: Web UI, Health Endpoint, Timeline Proxy & RSS Feed Checks

Monitor your self-hosted Nitter instance with Vigilmon — track web UI availability, the health endpoint, timeline proxy responses, RSS feed availability, SSL certificates, and instance uptime.

Your Nitter instance was proxying Twitter fine — timelines were loading, RSS feeds were working, and your users were getting their privacy-respecting feeds. Then Twitter's API changed, Nitter's guest token pool drained, and every timeline started returning empty results or errors. The web UI loaded, but no actual content came through. Nobody noticed for hours.

Nitter is a self-hosted, privacy-focused frontend for Twitter/X that proxies requests without requiring a Twitter account or exposing users to tracking. It depends on a pool of guest tokens, a working network path to Twitter's API, and the Nitter process itself. When any of these breaks, the UI may still respond while content delivery silently fails. Vigilmon gives you the monitoring to detect real content delivery failures, not just process health.

This tutorial walks through monitoring Nitter end-to-end with Vigilmon.

What You'll Build

  • A Vigilmon HTTP monitor on the Nitter web UI
  • A health endpoint check
  • A timeline proxy response check
  • An RSS feed endpoint check
  • SSL certificate expiry alerts

Prerequisites

  • A running Nitter instance (latest commit recommended — Nitter updates frequently)
  • A free account at vigilmon.online

Step 1: Monitor the Nitter Web UI

The Nitter homepage confirms that the Nim process is running and serving responses. However, the homepage renders a search bar rather than content, so it's a process health check, not a content delivery check.

Test it:

curl -I https://nitter.yourdomain.com/

You should see 200 OK with a Content-Type: text/html response.

Set up the Vigilmon monitor:

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

Step 2: Monitor the Health Endpoint

Nitter exposes a /healthz endpoint that returns a simple OK response when the service is running. This is the canonical process health check and is the most reliable single-signal monitor for Nitter availability.

Test it:

curl https://nitter.yourdomain.com/healthz

Healthy response:

OK

Set up the monitor:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://nitter.yourdomain.com/healthz.
  3. Set Expected status code to 200.
  4. Under Advanced → Keyword check, add keyword present: OK.
  5. Save.

Step 3: Monitor Timeline Proxy Response

The /healthz endpoint only confirms the Nitter process is alive — it does not verify that Twitter's API is reachable or that guest tokens are working. A timeline check against a known active public account gives you a real content delivery signal.

Choose a high-activity public account (e.g., a news organization) and test:

curl -I https://nitter.yourdomain.com/twitter

A 200 response with HTML content means Nitter successfully proxied a real timeline from Twitter's API.

Set up the Vigilmon monitor:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://nitter.yourdomain.com/twitter (or another active public account).
  3. Set Expected status code to 200.
  4. Under Advanced → Keyword check, add:
    • Keyword present: timeline-item
    • Keyword absent: instance is temporarily unavailable
  5. Under Advanced → Response time alert, set alert threshold to 10000 ms.
  6. Save.

The keyword absence check catches the specific error Nitter shows when guest tokens are exhausted or Twitter's API is unreachable.


Step 4: Monitor the RSS Feed Endpoint

Nitter's RSS feeds are a primary use case for many self-hosters — users subscribe via feed readers like Miniflux, Freshrss, or Inoreader. When Nitter's RSS feeds break, subscribers lose their feed silently.

Test the RSS endpoint:

curl -I https://nitter.yourdomain.com/twitter/rss

A 200 response with Content-Type: application/rss+xml indicates RSS is functional.

Set up the Vigilmon monitor:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://nitter.yourdomain.com/twitter/rss.
  3. Set Expected status code to 200.
  4. Under Advanced → Keyword check, add:
    • Keyword present: <rss
    • Keyword absent: instance is temporarily unavailable
  5. Save.

Step 5: SSL Certificate Monitoring

If your Nitter instance uses HTTPS (strongly recommended for privacy), an expired certificate breaks all client connections immediately and without warning. Vigilmon automatically monitors SSL certificate validity on all HTTPS monitors.

  1. Open your Nitter web UI monitor in Vigilmon.
  2. Under Advanced → SSL, ensure Alert before expiry is enabled (default: 14 days).
  3. Save.

Step 6: Alert Channels

Go to Notifications → New Channel in Vigilmon and configure:

  • Email — for your instance admin
  • Webhook — for Slack, Discord, or a Matrix room

A timeline proxy alert looks like:

🔴 DOWN: Nitter Timeline Proxy Check
Keyword "timeline-item" not found in response
Triggered: 2026-03-01 14:07 UTC

This alert fires when Nitter's process is running but actual Twitter content is no longer being proxied.


What You've Built

| Scenario | How Vigilmon catches it | |---|---| | Nitter process crash | HTTP monitor and /healthz both fail | | Guest token pool exhausted | Timeline keyword check fails | | Twitter API unreachable | Timeline and RSS monitors fail | | RSS feed broken | RSS endpoint keyword check fails | | SSL certificate expired | HTTPS monitor reports TLS error | | DNS misconfiguration | HTTP monitor detects resolution failure | | Rate limiting / IP block | Response time alert fires; timeline returns errors |


Nitter's value is providing a privacy-respecting way to follow public information. When it silently fails to proxy content, your users are left with an empty interface and no indication why. Vigilmon's multi-layer approach catches both process failures and content delivery failures so you can respond before users give up.

Start monitoring your Nitter 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 →