FrankenPHP provides built-in observability features: Prometheus-compatible metrics and structured logging. These features, combined with the recommended tools below, give you full visibility into your PHP application’s behavior in development and production.
Ember is the most user-friendly way to monitor FrankenPHP.
It connects to Caddy’s admin API and deeply integrates with FrankenPHP, providing real-time visibility with zero configuration and no external infrastructure.
It is designed to be used in development and production, with a TUI dashboard for local use and a Prometheus export daemon mode for production monitoring.
Tip
See the Ember documentation for the full list of features and setup details.
FrankenPHP exposes Prometheus-compatible metrics for threads, workers, request processing, and queue depth when Caddy metrics are enabled.
See the Metrics page for the full list of available metrics.
FrankenPHP integrates with Caddy’s logging system and provides frankenphp_log() for structured logging with severity levels and context data, making ingestion into platforms like Datadog, Grafana Loki, or Elastic straightforward.
See the Logging page for usage details.
If you prefer a custom monitoring stack, you can scrape FrankenPHP metrics directly. There are two options:
localhost:2019/metrics)--expose, it exposes FrankenPHP metrics along with computed metrics derived from Caddy data (RPS, latency percentiles, error rates) on a dedicated endpoint.