tutorial

Pirsch Analytics Monitoring with Vigilmon: Uptime & Privacy Analytics Stack Checks

Monitor your Pirsch Analytics integration with Vigilmon — verify the tracking script is reachable, your dashboard is live, and your privacy-first analytics stack is always collecting data.

Your Pirsch tracking script stopped loading on your marketing site. Not because of a bug you shipped — because Pirsch's CDN had a hiccup. Your team noticed three days later when the weekly analytics report showed zero sessions. The bounce rate, conversion funnel, UTM attribution — all gone.

Pirsch is an open-source, cookie-free, GDPR-compliant web analytics platform. You can use it as a cloud service or self-host it on your own infrastructure. Either way, the tracking script it delivers to your visitors is the foundation of your analytics data. Vigilmon monitors that script, your Pirsch dashboard, and your entire privacy analytics stack from the outside — so silent failures don't become week-long data gaps.

This tutorial covers monitoring Pirsch Analytics with Vigilmon.

What You'll Build

  • A Vigilmon HTTP monitor on the Pirsch tracking script
  • A Pirsch dashboard availability monitor
  • A hit endpoint monitor to verify event ingestion
  • Alert channels to your team

Prerequisites

  • A Pirsch Analytics account (Cloud or self-hosted)
  • A free account at vigilmon.online

Step 1: Monitor the Pirsch Tracking Script

Pirsch injects a small JavaScript snippet into your pages that sends pageviews and events to Pirsch's servers. If the script endpoint goes down, browsers can't load it — your analytics stop without any visible error.

For Pirsch Cloud, the script is served from:

https://api.pirsch.io/pirsch.js

Or the extended version:

https://api.pirsch.io/pirsch-extended.js

Test it:

curl -I https://api.pirsch.io/pirsch.js

Expected response:

HTTP/2 200
content-type: application/javascript; charset=utf-8

Set up the Vigilmon monitor:

  1. Log in to Vigilmon and click New Monitor → HTTP.
  2. Set URL to https://api.pirsch.io/pirsch.js.
  3. Set Check interval to 60 seconds.
  4. Set Expected status code to 200.
  5. Under Advanced → Keyword check:
    • Keyword present: "pirsch" or "function"
  6. Save.

Step 2: Monitor the Pirsch Hit Endpoint

The Pirsch tracker sends pageview and event data to the /hit endpoint on the Pirsch API. If this endpoint is down, the script loads but no data is recorded — the most dangerous kind of failure because everything appears fine from your site's perspective.

curl -I https://api.pirsch.io/hit

A 405 Method Not Allowed (for a GET to a POST-only endpoint) or 400 Bad Request confirms the endpoint is alive. A 502 or 503 means the ingest pipeline is down.

Set up the monitor:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://api.pirsch.io/hit.
  3. Set Expected status codes to include 200, 400, and 405 — any of these confirm the endpoint is accepting connections.
  4. Save.

For self-hosted Pirsch, replace api.pirsch.io with your own domain throughout.


Step 3: Monitor the Pirsch Dashboard

Pirsch provides a web dashboard for viewing analytics. Monitor it to detect platform outages that block access to your data.

Pirsch Cloud:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://pirsch.io/ or https://dashboard.pirsch.io/ (the login/dashboard URL for your account).
  3. Set Expected status code to 200.
  4. Under Advanced → Keyword check:
    • Keyword present: "Pirsch"
  5. Set Check interval to 5 minutes.
  6. Save.

Self-hosted Pirsch:

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to your Pirsch instance URL (e.g., https://analytics.yourcompany.com/).
  3. Set Expected status code to 200.
  4. Under Advanced → Keyword check:
    • Keyword present: "Pirsch"
    • Keyword absent: "502", "Gateway", "error"
  5. Save.

Step 4: Self-Hosted Pirsch — Additional Checks

If you self-host Pirsch (Go binary + PostgreSQL), you have more failure surfaces to cover.

Monitor PostgreSQL Connectivity

Pirsch stores all analytics data in PostgreSQL. While Pirsch doesn't expose a dedicated database health endpoint, its API endpoints implicitly test database connectivity — a failed DB connection causes the API to return 5xx errors.

Your /hit monitor from Step 2 covers this: if PostgreSQL becomes unreachable, /hit will start returning 500 errors rather than 400/200.

Monitor the Pirsch Binary Process

If the Pirsch Go binary crashes, the API stops responding entirely. Add a direct health endpoint monitor if Pirsch exposes one on your instance:

curl https://analytics.yourcompany.com/healthcheck

If no health endpoint is available, the dashboard monitor (Step 3) and the hit endpoint monitor (Step 2) together provide complete coverage of process health.

SSL Certificate Monitoring

  1. Open any of your Pirsch HTTPS monitors in Vigilmon.
  2. Under SSL, enable Certificate expiry alert.
  3. Set the threshold to 21 days.

Step 5: Verify Your Site Loads the Pirsch Snippet

Beyond monitoring Pirsch's own infrastructure, verify that your site still includes and loads the Pirsch script. A deployment that accidentally removes or garbles the analytics snippet will break data collection even when Pirsch itself is fully operational.

  1. Click New Monitor → HTTP in Vigilmon.
  2. Set URL to https://yoursite.com/ (a key page that should always have analytics).
  3. Set Expected status code to 200.
  4. Under Advanced → Keyword check:
    • Keyword present: "pirsch.io" (or your self-hosted domain)
  5. Save.

Step 6: Alert Channels

Go to Notifications → New Channel in Vigilmon and configure:

  • Email — immediate alerts to your analytics team
  • Webhook — post to Slack, Discord, or PagerDuty

Slack alert example:

🔴 DOWN: api.pirsch.io/pirsch.js (HTTP 503)
Check: Pirsch Tracking Script
Region: EU-Central
Duration: 4 minutes
Triggered: 2026-07-03 09:41 UTC

Recovery:

✅ RECOVERED: api.pirsch.io/pirsch.js
Downtime: 9 minutes

Step 7: Status Page

Go to Status Pages → New Status Page in Vigilmon. Add all Pirsch monitors and publish. Embed the badge on your internal analytics documentation so your team can quickly check Pirsch health during data anomaly investigations.


What You've Built

| Failure scenario | How Vigilmon catches it | |---|---| | Pirsch Cloud outage | Dashboard and script monitors detect non-200 | | Tracking script CDN down | Script URL monitor fires within 60s | | Hit endpoint down (events not recorded) | /hit monitor returns 5xx | | Self-hosted Pirsch process crash | Dashboard and hit monitors both fail | | PostgreSQL unreachable (self-hosted) | Hit endpoint returns 500 | | TLS certificate expiry (self-hosted) | SSL monitor alerts before expiry | | Your site lost the Pirsch snippet | Site keyword monitor no longer finds script tag |


Pirsch's open-source design gives you full control over your analytics data — but that control comes with the responsibility of monitoring your stack. Vigilmon provides the external vantage point that confirms your Pirsch integration is collecting data right now, not just the last time you checked.

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