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:
- Log in to Vigilmon and click New Monitor → HTTP.
- Set URL to
https://api.pirsch.io/pirsch.js. - Set Check interval to 60 seconds.
- Set Expected status code to
200. - Under Advanced → Keyword check:
- Keyword present:
"pirsch"or"function"
- Keyword present:
- 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:
- Click New Monitor → HTTP in Vigilmon.
- Set URL to
https://api.pirsch.io/hit. - Set Expected status codes to include
200,400, and405— any of these confirm the endpoint is accepting connections. - 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:
- Click New Monitor → HTTP in Vigilmon.
- Set URL to
https://pirsch.io/orhttps://dashboard.pirsch.io/(the login/dashboard URL for your account). - Set Expected status code to
200. - Under Advanced → Keyword check:
- Keyword present:
"Pirsch"
- Keyword present:
- Set Check interval to 5 minutes.
- Save.
Self-hosted Pirsch:
- Click New Monitor → HTTP in Vigilmon.
- Set URL to your Pirsch instance URL (e.g.,
https://analytics.yourcompany.com/). - Set Expected status code to
200. - Under Advanced → Keyword check:
- Keyword present:
"Pirsch" - Keyword absent:
"502","Gateway","error"
- Keyword present:
- 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
- Open any of your Pirsch HTTPS monitors in Vigilmon.
- Under SSL, enable Certificate expiry alert.
- 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.
- Click New Monitor → HTTP in Vigilmon.
- Set URL to
https://yoursite.com/(a key page that should always have analytics). - Set Expected status code to
200. - Under Advanced → Keyword check:
- Keyword present:
"pirsch.io"(or your self-hosted domain)
- Keyword present:
- 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.