Agencies and managed service providers (MSPs) that monitor client infrastructure face a challenge that individual companies don't: they're responsible for the uptime of systems they don't control, serving clients who want visibility without complexity, billed in a way that scales with their portfolio.
Vigilmon's REST API, monitor organization model, and webhook notification system make it well-suited for agency and MSP use cases. This guide covers how to structure Vigilmon for client monitoring: organizing monitors per client, building client-facing status views using the API, routing alerts to client-specific notification channels, and generating monitoring reports without exposing your internal tooling.
The Agency Monitoring Problem
What Agencies Need That Consumer Monitoring Tools Don't Provide
Standard uptime monitoring tools are designed for a single organization monitoring its own services. Agencies monitoring client portfolios have different requirements:
- Multi-client organization — monitors for Client A must be clearly separated from Client B, with no risk of cross-client data exposure
- Per-client alerting — Client A's team should receive alerts about Client A's services only, not about other clients
- Client-facing reporting — clients expect to see status information for their services, not your internal monitoring dashboard
- Scalable onboarding — adding a new client to monitoring should follow a repeatable process, not a one-off manual setup
- Branded presentation — clients see status and reports under your brand, not Vigilmon's
- Efficient account management — one monitoring account manages all clients, not N separate accounts
Vigilmon's architecture supports all of these through monitor naming conventions, the REST API, webhook routing, and response data available for building custom views.
Organizing Monitors per Client
Naming Conventions
Vigilmon doesn't have a built-in "client" grouping layer, but a consistent naming convention creates effective logical separation. The recommended pattern:
{CLIENT_SLUG}/{SERVICE_TYPE}/{ENDPOINT_DESCRIPTION}
Examples:
acme-corp/http/main-website
acme-corp/http/api-health
acme-corp/tcp/primary-db
acme-corp/heartbeat/nightly-backup
widget-co/http/storefront
widget-co/http/checkout-api
widget-co/ssl/main-domain
widget-co/heartbeat/email-worker
This naming convention means:
- All monitors for a client are retrievable with a single API filter (
/api/monitors?search=acme-corp) - Client status dashboards can aggregate monitors by prefix
- Reports can be generated per client by filtering monitor names
- Alert routing can match client prefix in webhook payloads
Monitor Categories per Client
A standard monitoring package for a typical web application client includes:
HTTP Monitors:
- Main website (
https://client.com) - Application health endpoint (
https://client.com/api/health) - Critical user flows (checkout, login, payment API)
- Third-party integrations the client depends on (payment gateway status, shipping API)
TCP Monitors:
- Primary database port (if client grants VPN or whitelist access — or if db is public-facing)
- Mail server (SMTP port 25/587, IMAP port 993)
- Custom application ports
SSL Certificate Monitors:
- All production domains
- Staging/preview domains (if under management SLA)
Heartbeat Monitors:
- Nightly backup jobs
- Email notification workers
- Invoice/billing processing jobs
- Data sync tasks
- Any cron-driven critical function
A typical SMB client runs 8–15 monitors. A larger e-commerce client may run 20–40 monitors covering multiple environments, regional endpoints, and third-party dependencies.
Building Client-Facing Status Views via the Vigilmon API
Vigilmon's REST API provides programmatic access to monitor status, check history, and response time data. Agencies use this to build client-facing dashboards under their own brand, without giving clients direct access to the Vigilmon account.
Core API Endpoints for Status Views
List all monitors:
GET /api/monitors
Returns all monitors with current status, last check time, and monitor type. Filter client monitors by name prefix.
Get monitor detail with response time history:
GET /api/monitors/{id}
Returns full monitor configuration, current status, and recent check history with response times.
Get recent events / check history:
GET /api/monitors/{id}/events
Returns timestamped log of check results, status changes, and alert events. Use this to power outage history timelines in client dashboards.
A Minimal Client Dashboard Architecture
A simple client-facing status page built on the Vigilmon API:
[Your Agency Server]
|
|--> GET /api/monitors?search={client_slug} (Vigilmon API)
|
|--> Filter and format response
|
|--> Render status page at https://status.youragency.com/client-slug
(branded with client's name, your agency's logo)
The status page shows:
- Current status for each monitored service (operational / degraded / down)
- Response time for the last check
- Last outage duration and recovery time
- SSL certificate expiry dates
- Uptime percentage for the current month
Clients get a URL they can bookmark and share. You control the presentation. No client ever touches Vigilmon directly.
Response Format Example
A Vigilmon API response for a monitor includes:
{
"id": "mon_abc123",
"name": "acme-corp/http/main-website",
"url": "https://acmecorp.com",
"type": "http",
"status": "up",
"lastChecked": "2026-06-30T14:22:00Z",
"responseTime": 312,
"uptime": {
"30d": 99.94,
"7d": 100.0
}
}
Your dashboard transforms this raw data into a client-appropriate presentation: service name, current status indicator, uptime badge, and response time sparkline.
Per-Client Alert Routing
Vigilmon's webhook notifications carry the monitor name in the payload. This enables routing logic that sends alerts to the right client-specific destination without maintaining separate Vigilmon accounts.
Routing Approaches
Option A: Webhook middleware (recommended)
Set Vigilmon webhooks to post to a single endpoint you control (your agency's alert router):
Vigilmon webhook → https://alerts.youragency.com/vigilmon-webhook
Your alert router:
- Parses the monitor name from the payload (
acme-corp/http/main-website) - Looks up the client routing table (stored in your system: client slug → notification config)
- Routes to the appropriate destination: client Slack channel, client email, client PagerDuty, etc.
This gives you full control over alert routing, formatting, and escalation policy per client.
Option B: Per-client Slack channels via webhook
If clients use Slack, configure per-client Slack webhook URLs in your router. When a monitor fires for acme-corp/*, the alert posts to #acme-corp-monitoring in their Slack workspace — or into your agency's Slack under #client-acme-monitoring.
Option C: Email routing
Configure the alert router to send per-client email notifications to client contacts. Include the service name, current status, and a link to the client's status page in every notification.
Alert Escalation per Client
Different clients have different tolerance for alert frequency and escalation speed. Your alert router can implement per-client escalation policies:
- Standard SLA client: alert → client email → engineer phone call after 15 minutes unacknowledged
- Premium SLA client: alert → immediate engineer PagerDuty page + client email simultaneously
- Monitoring-only client: alert → internal Slack only, no client notification (agency handles silently)
Branded Monitoring Reports
Clients paying for managed monitoring expect periodic reporting. Vigilmon's API provides the raw data; your reporting layer formats it for client presentation.
Monthly Uptime Report Structure
Executive summary:
- Overall uptime percentage across all monitored services
- Number of incidents during the reporting period
- Total downtime (minutes/hours)
- Mean time to detection (time between outage start and Vigilmon alert)
- Mean time to resolution (time from alert to recovery)
Per-service detail:
- Service name and URL
- Uptime percentage for the month
- Number of incidents
- Longest single outage duration
- Average response time trend (comparing start vs. end of month)
- SSL certificate expiry date (flagged if within 60 days)
Incident log:
- Date/time of each incident
- Affected services
- Duration
- Alert-to-acknowledge time
- Resolution summary (populated by your team)
Infrastructure highlights:
- New monitors added this month
- Monitor configuration changes
- Upcoming SSL certificate renewals requiring action
Report Delivery Options
- Automated PDF delivery: generate PDF from API data, email to client contacts monthly
- Online dashboard: always-current data, accessible at their status page URL
- Scheduled email digest: weekly summary of the past 7 days, auto-generated from API
Client Onboarding Checklist
When adding a new client to Vigilmon monitoring, follow a consistent process:
Discovery (Day 1)
- [ ] List all client production URLs (web app, API, admin, marketing site)
- [ ] Identify critical user flows to monitor (checkout, login, payment)
- [ ] Identify background jobs that need heartbeat monitoring (backups, workers, crons)
- [ ] Confirm which TCP services are externally accessible
- [ ] List all SSL certificates and their current expiry dates
- [ ] Confirm client notification preferences (Slack, email, PagerDuty)
- [ ] Agree on SLA tier and alert routing policy
Configuration (Day 1–2)
- [ ] Create HTTP monitors for all production endpoints using
{client_slug}/http/prefix - [ ] Create TCP monitors for accessible services using
{client_slug}/tcp/prefix - [ ] Set up SSL certificate monitoring for all production domains
- [ ] Configure heartbeat monitors for identified cron jobs
- [ ] Set check intervals appropriate to SLA tier (1-min for critical, 5-min for standard)
- [ ] Configure webhook routing for this client in your alert router
- [ ] Test alert delivery: confirm notifications reach correct client channels
Verification (Day 2–3)
- [ ] Confirm all monitors show "up" status after 24 hours of checks
- [ ] Verify alert routing with a test webhook delivery
- [ ] Share client status page URL and explain how to read it
- [ ] Schedule first monthly report delivery
Ongoing
- [ ] Review monitor list when client deploys new services
- [ ] SSL expiry alerts trigger renewal workflow automatically
- [ ] Monthly report auto-generated and delivered on the 1st of each month
Scaling the Agency Monitoring Business
Monitoring as a Service Line
For agencies and MSPs, uptime monitoring is a defensible recurring revenue line. Clients pay monthly for the confidence that someone is watching their infrastructure — not just during business hours.
The economics work in your favor:
- Vigilmon cost: scales linearly with monitors
- Agency value: the monitoring infrastructure, alert routing, client reporting, and human response capability are multiplied across your entire client portfolio
- Client perception: "our agency monitors our site 24/7 with automated multi-region checks and sends us a monthly report" is a clear, valuable proposition
Typical packaging:
- Starter monitoring (5–10 monitors): included in basic retainer
- Standard monitoring (15–25 monitors): core services + heartbeats + SSL + monthly report
- Premium monitoring (30+ monitors): comprehensive coverage + 1-minute intervals + dedicated alert escalation + quarterly review call
The API as Competitive Moat
Agencies that build custom client dashboards and automated reporting pipelines on the Vigilmon API create switching costs that raw monitoring tool alternatives don't have. A client who receives a branded monthly report and has a clean status URL they've shared with their stakeholders is embedded in your reporting infrastructure.
This is the right kind of stickiness — built on delivering genuine value (reliable monitoring + professional reporting) rather than lock-in.
Common Agency Monitoring Mistakes
Using Separate Accounts per Client
Some agencies create a separate Vigilmon account per client. This is operationally expensive: separate logins, separate configurations, no centralized view across clients, and no ability to route alerts through a single middleware layer.
The better approach is a single Vigilmon account with consistent naming conventions and a custom webhook router. All client monitors in one place; routing logic determines where each alert goes.
Alerting Clients on Single-Probe Failures
If your alert routing sends client notifications directly from a single-probe monitoring tool, clients receive "your site is down" messages for events that were single-probe transient blips. A client who gets three "false alarm" downtime notifications loses faith in your monitoring capability.
Vigilmon's consensus model — alert only on quorum — means client notifications represent genuine confirmed failures. Every "your site is down" message that reaches a client is accurate.
No Heartbeat Monitoring for Background Jobs
Agencies often monitor everything a client can see (the website, the API) but miss the background processes that clients can't see. When a nightly backup job stops running silently, the first sign is data loss — not a failed status check.
For every client, ask: what jobs run on a schedule? Which would cause the worst consequences if they silently stopped? Configure heartbeats for those.
No Monthly Report
Clients who receive only incident notifications — and nothing during calm months — may not perceive the value of what they're paying for. A monthly report that shows 99.97% uptime, two incidents caught and resolved within minutes, and all SSL certificates healthy creates tangible evidence of value delivered.
Conclusion
Vigilmon's API, monitor naming flexibility, and webhook output make it a strong platform for agency and MSP uptime monitoring. The combination of multi-region consensus detection (eliminating false-positive client alerts), heartbeat monitoring (covering background jobs clients can't see), and a full REST API (enabling custom client dashboards and automated reporting) provides the infrastructure for a professional managed monitoring service.
The operational pattern — single Vigilmon account, consistent naming conventions, webhook routing middleware, custom client status pages, automated monthly reports — scales from 5 clients to 50 without requiring N separate monitoring accounts or manual reporting overhead.
Start your agency monitoring practice at vigilmon.online — free tier to prototype your client dashboard and alert routing infrastructure, paid plans to scale with your portfolio.
Tags: #monitoring #uptime #agency #msp #whitelabel #vigilmon #devops #managedservices #clientmonitoring #api #2026