spatie/laravel-prometheus
Export Laravel app metrics to Prometheus via a /prometheus endpoint. Register custom gauges and counters in code, with built-in metrics for queues and Horizon. Includes optional security so your metrics aren’t publicly exposed; pair with Grafana for dashboards.
/metrics endpoint), ensuring compatibility with existing Prometheus setups./prometheus endpoint must be secured (e.g., IP whitelisting, auth middleware). Misconfiguration risks exposing sensitive metrics./prometheus endpoint be secured (e.g., middleware, network policies)?/prometheus endpoint (e.g., middleware, VPC restrictions).prometheus/client_php library under the hood, ensuring standard compliance.Prometheus::addGauge()) or collectors are isolated from core logic./prometheus endpoint.php artisan vendor:publish --provider="Spatie\Prometheus\PrometheusServiceProvider")./prometheus route (or use middleware for security).AppServiceProvider@boot() or dedicated collectors.laravel_queue_jobs_pending > 100).user_registration_count")./prometheus endpoint (curl http://laravel-app/prometheus).Prometheus::flush() to debug metric values in development.collector_registry_wipe config to avoid duplicate metrics in clustered setups.User::count()) to avoid N+1 issues.service="auth-service").| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Prometheus scraping fails | Metrics loss | Alert on scrape failures; use retry logic. |
/prometheus endpoint blocked |
No metrics exposure | Monitor endpoint health; use fallback routes. |
| Redis connection issues (Horizon) | Queue metrics missing | Implement circuit breakers; alert on failures. |
| Custom metric queries time out | High latency | Cache results; optimize queries. |
| Laravel instance crashes | Temporary metrics gap | Use Prometheus’ scrape_timeout and retries. |
Prometheus::addGauge()/addCounter().How can I help you explore Laravel packages today?