Unleash is the open-source feature flag and feature management platform used by teams to safely roll out features, run A/B tests, and control access at runtime without redeploying code. Every production service that uses feature flags makes gRPC or HTTP calls to Unleash on each request — if Unleash is down, your SDK clients fall back to their cached state (which may be stale or empty), and new deployments that rely on flags being enabled will behave unexpectedly. Monitoring Unleash is not just an uptime concern — it is a feature delivery reliability concern. Vigilmon gives you the external monitoring layer to detect Unleash API failures, database connectivity issues, and edge proxy degradation before they silently affect feature rollouts.
What You'll Set Up
- HTTP monitor for the Unleash API health endpoint
- Feature flag evaluation endpoint check
- Admin UI availability monitoring
- Client SDK metrics ingestion endpoint check
- SSL certificate expiry monitoring and alert configuration
Prerequisites
- Unleash server running (self-hosted via Docker, Helm, or bare metal) or Unleash Cloud
- The Unleash API accessible at a stable URL (e.g.
https://unleash.example.com) - A valid Unleash client API token (read-only, for the client API health check)
- A free Vigilmon account
Step 1: Monitor the Unleash API Health Endpoint
Unleash exposes a dedicated health check endpoint that returns the status of the server and its database connection:
GET https://unleash.example.com/health
A healthy Unleash instance returns HTTP 200 with:
{
"health": "GOOD"
}
If the database connection is lost, this endpoint returns 500 with {"health": "BAD"}. Configure Vigilmon:
- Log in to vigilmon.online and click Add Monitor.
- Set Type to
HTTP / HTTPS. - Enter URL:
https://unleash.example.com/health. - Set Expected HTTP status to
200. - Set Expected body contains to
GOOD. - Set Check interval to
1 minute. - Click Save.
This is the most important Unleash monitor. The /health endpoint checks both the HTTP server and the database connectivity in a single call — a "health": "BAD" response means Unleash cannot read or write feature flag state, and all SDK evaluations are serving stale cached data.
Step 2: Monitor the Client API (Feature Flag Evaluation)
Unleash SDK clients poll the client API to fetch feature toggle definitions. This is the endpoint that every backend service, frontend app, and mobile app calls to determine which flags are enabled:
GET https://unleash.example.com/api/client/features
Authorization: Bearer <client-api-token>
A healthy response returns HTTP 200 with a JSON object containing a features array:
{
"version": 2,
"features": [
{ "name": "my-feature", "enabled": true, "strategies": [...] }
]
}
Configure Vigilmon:
- Add Monitor →
HTTP / HTTPS. - URL:
https://unleash.example.com/api/client/features. - In Custom headers, add
Authorization: Bearer <your-client-api-token>. - Set Expected HTTP status to
200. - Set Expected body contains to
"features". - Set Check interval to
2 minutes. - Click Save.
This check exercises the full client API path — including database reads, feature toggle hydration, and strategy evaluation. If this check fails while /health returns GOOD, the issue is in the API routing layer or authentication middleware.
Step 3: Monitor the Admin UI
The Unleash admin UI is the web interface used by product managers and engineers to manage feature flags, configure strategies, and approve rollouts. While a UI outage doesn't break SDK evaluation directly, it prevents the team from modifying flags during an incident — which is exactly when you need to quickly disable a problematic feature.
GET https://unleash.example.com
A healthy response returns HTTP 200 with an HTML body containing the Unleash UI markup. Configure Vigilmon:
- Add Monitor →
HTTP / HTTPS. - URL:
https://unleash.example.com. - Set Expected HTTP status to
200. - Set Expected body contains to
Unleash(or a unique string from the UI's HTML title). - Set Check interval to
5 minutes. - Click Save.
In deployments where the UI and API are served on different ports or paths, adjust the URL accordingly. If your Unleash runs behind a reverse proxy, also add monitors for the proxy's health endpoint to distinguish proxy failures from Unleash server failures.
Step 4: Monitor the Client Metrics Ingestion Endpoint
Unleash SDK clients send impression metrics back to the server on a regular interval so the dashboard can show per-flag exposure counts, evaluation counts, and variant distribution. If the metrics endpoint is unavailable, the Unleash dashboard stops showing live usage data — you lose visibility into which flags are actively being evaluated.
POST https://unleash.example.com/api/client/metrics
Unleash SDK clients POST JSON metrics payloads to this endpoint. Vigilmon cannot easily send a valid metrics payload, but you can use a lightweight HEAD or GET check to confirm the endpoint is reachable:
- Add Monitor →
HTTP / HTTPS. - URL:
https://unleash.example.com/api/client/metrics. - Set Type to
HTTP / HTTPS. - Set HTTP method to
GET(Unleash returns405 Method Not Allowedfor GET, which confirms the endpoint is reachable). - Set Expected HTTP status to
405. - Set Check interval to
5 minutes. - Click Save.
A 404 response means the path doesn't exist (Unleash is misconfigured or running a version without this endpoint). A 502 or 503 means the reverse proxy cannot reach Unleash at all.
Step 5: Monitor the Edge Proxy (If Deployed)
Unleash Edge is a lightweight Rust-based proxy that caches feature flag state locally and serves SDK clients without hitting the Unleash API server on every request. It dramatically reduces latency and load on the Unleash API in high-traffic deployments. If Unleash Edge is down, SDK clients that point at the proxy lose flag evaluation entirely.
Unleash Edge exposes a health endpoint:
GET https://unleash-edge.example.com/health
A healthy Edge proxy returns HTTP 200:
{
"status": "OK"
}
Configure Vigilmon:
- Add Monitor →
HTTP / HTTPS. - URL:
https://unleash-edge.example.com/health. - Set Expected HTTP status to
200. - Set Expected body contains to
OK. - Set Check interval to
1 minute. - Click Save.
If you run multiple Edge proxy replicas behind a load balancer, also add individual monitors for each replica's health endpoint to detect partial failures that the load balancer doesn't surface.
Step 6: Monitor the Unleash API Token Validation Endpoint
You can use Unleash's token validation endpoint to confirm the API authentication layer is working correctly — this catches misconfigured reverse proxy auth middleware that might accept requests without a valid token:
GET https://unleash.example.com/api/auth/simple
This endpoint returns 401 if no token is provided, confirming that authentication is enforced. Configure Vigilmon:
- Add Monitor →
HTTP / HTTPS. - URL:
https://unleash.example.com/api/auth/simple. - Set Expected HTTP status to
401. - Set Check interval to
10 minutes. - Click Save.
If this monitor returns 200 without credentials, your authentication is misconfigured and the API is publicly accessible — a critical security finding to alert on immediately.
Step 7: SSL Certificate Monitoring and Alert Configuration
Add SSL expiry monitoring for Unleash's API endpoint:
- Add Monitor →
SSL Certificate. - URL:
https://unleash.example.com. - Set Alert when certificate expires in less than
30 days. - Click Save.
If you run Unleash Edge on a separate domain, add SSL monitoring for that as well.
Configure alert channels:
- Go to Alert Channels → add Slack, PagerDuty, or email.
- For the
/healthendpoint check: Consecutive failures before alert =1— aBADhealth status means the database is down and all SDK evaluations are serving stale data. - For the client API and Edge proxy checks:
2consecutive failures — brief interruptions during rolling restarts are acceptable. - For the admin UI and metrics endpoint:
3consecutive failures — these are non-critical to flag evaluation. - Add Maintenance windows for Unleash version upgrades and database migrations, which take Unleash offline for 30–120 seconds.
Going Further
- Database connection pool health: Unleash uses PostgreSQL as its data store. Add a separate Vigilmon monitor for your PostgreSQL instance's health endpoint or a lightweight TCP monitor on port 5432. Distinguishing a failed Unleash process from a failed database lets you route to the right responder immediately.
- Variant distribution monitoring: Unleash's
/api/admin/metrics/feature-togglesendpoint exposes variant impression counts. Use a scheduled Vigilmon custom check to verify that expected feature flags are producing non-zero evaluation counts — a zero-count flag that should be active is a silent failure. - Import/export API health: If you use Unleash's import/export API for configuration-as-code workflows, add a GET monitor on
/api/admin/state/exportto confirm the admin API is healthy separately from the client API. - Proxy cache freshness: Unleash Edge caches flag state and refreshes it every few seconds from the Unleash API. Monitor the Edge
/api/client/featuresendpoint (Edge serves a subset of the upstream API) to confirm that proxied flag definitions are fresh and consistent with the upstream API.
With Vigilmon monitoring Unleash's health endpoint, client API, admin UI, Edge proxy, and authentication layer, you have full external visibility into the feature flag delivery pipeline — so any failure is caught before developers and product managers lose the ability to manage rollouts during an incident.