Generate an overall health score for a service mesh from latency, errors and mTLS coverage.
This composite score combines four signals into a single mesh health indicator: success rate and error budget consumption (each 30% weight, since they're the clearest outcome measures of user-facing reliability), and p99 latency-vs-target and sidecar fleet health (each 20% weight, as supporting operational signals). Categories — Excellent (90+), Healthy (75-89), Degraded (50-74), Critical (under 50) — give an at-a-glance read on whether the mesh needs operational attention.
health_score = success_rate_score × 0.35 + latency_score × 0.25 + error_budget_score × 0.20 + mtls_coverage_score × 0.20
Success rate is a point-in-time snapshot, while error budget consumption reflects trend — a mesh with a currently-fine success rate but a rapidly depleting error budget is heading toward an SLO breach, so weighting both equally catches problems earlier than success rate alone.
The score formula (1 − p99/target) × 50 + 50 drops below 50 once p99 exceeds target, and is clamped to 0 at 2x the target latency or worse — this rewards headroom below target and penalizes overages progressively rather than as a hard pass/fail cutoff.
Commonly: sidecars that are crash-looping, have stale/unsynced configuration from the control plane (e.g. Istio's proxy config version mismatch), or are failing their own readiness/liveness probes — any of these compromise the mesh's ability to route and secure traffic correctly through that pod.
No — this composite is meant as a quick operational dashboard summary, not a replacement for dedicated multi-window burn-rate alerting on each underlying metric, which catches fast-developing issues that a periodic composite score snapshot could miss.