plone.observability¶
Kubernetes-style health probes, a pluggable Prometheus and JSON metrics endpoint, and optional OpenTelemetry tracing for Plone running in containers.
Plone’s built-in @@ok view answers OK whether the database is reachable or not, right up until the process is too busy to answer at all.
That is not enough to orchestrate Plone in Kubernetes.
plone.observability gives an orchestrator the real signals it needs: separate liveness, readiness, and startup probes on a dedicated port, plus a metrics endpoint your monitoring stack can scrape.
Key capabilities:
Liveness, readiness, and startup probes on a separate HTTP port that stays answerable when all Zope threads are busy
A pluggable
@@metricsendpoint with Prometheus text and JSON outputRequest, ZODB, and content metrics out of the box, with low-cardinality labels
Optional OpenTelemetry tracing that honors the standard
OTEL_*environment variablesExtensible via the Zope Component Architecture: custom health checks, metric providers, and formatters
Requirements: Plone 6, Python 3.10+. OpenTelemetry tracing is an optional extra.
Documentation¶
Learning-oriented – step-by-step lessons to build skills.
Start here if you are new to plone.observability.
Goal-oriented – solutions to specific problems.
Use these when you need to accomplish something.
Information-oriented – configuration tables and API details.
Consult when you need exact facts.
Understanding-oriented – architecture and design decisions.
Read to understand why the package works the way it does.