Metrics & health
Metrics & health
Meridian’s observability surface is Prometheus metrics plus structured JSON logs — no database, so no other query interface exists. All three HTTP endpoints below share one listener (--listen, default [::]:8080).
HTTP endpoints
| Path | Meaning |
|---|---|
/healthz | Liveness: the process is up. Always 200 ok once the process is running. |
/readyz | Readiness: config parsed, CEL/templates compiled, and every configured calendar’s credentials verified via a read-only startup probe. 503 until all probes pass, then latches 200 permanently — later auth breakage is the meridian_last_successful_cycle_timestamp_seconds staleness alert’s job, not a readiness flap. |
/metrics | Prometheus text exposition format. |
A pod that never reaches ready has provably touched no calendar. The readiness probe never runs anything beyond a windowed, read-only listing.
Metrics
Each description below is the metric’s own Prometheus Help string, which is the same text Prometheus and Grafana show you.
meridian_ops_total- Reconciliation operations executed, by rule and op kind.
meridian_op_errors_total- Failed reconciliation operations, by rule, op kind, and error class.
meridian_fetch_errors_total- Failed calendar window fetches, by calendar and error class.
meridian_guard_triggers_total- Hardening guard triggers, by rule and guard.
meridian_cycle_duration_seconds- Full reconciliation cycle duration.
meridian_last_successful_cycle_timestamp_seconds- Unix time of the last fully successful cycle per rule (the alerting primitive).
meridian_notify_failures_total- Notification deliveries that failed (best-effort channel).
meridian_shadow_drift- Shadows whose observed content hash differs from the marker hash (manual edits or provider normalization). Includes drift that gets auto-repaired this cycle — see meridian_shadow_drift_unrepairable for the alertable subset.
meridian_shadow_drift_unrepairable- Shadows still drifted after exhausting bounded repair retries — persistent hand-tamper or unstable provider normalization. The alertable subset of meridian_shadow_drift.
For which of these to alert on, see Operate.
Structured op logs
Every engine operation emits one slog JSON record to stdout with op, rule, the source event reference, reason, and the relevant content hashes. There is no database to query instead, so this is the forensic and audit record.
Last updated on