All Projects → renoki-co → horizon-exporter

renoki-co / horizon-exporter

Licence: Apache-2.0 License
Export Laravel Horizon metrics using this Prometheus exporter.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to horizon-exporter

Awesome Prometheus Alerts
🚨 Collection of Prometheus alerting rules
Stars: ✭ 3,323 (+19447.06%)
Mutual labels:  exporter, grafana, prometheus
Druid Exporter
A Golang based exporter captures druid API related metrics and receives druid-emitting HTTP JSON data.
Stars: ✭ 54 (+217.65%)
Mutual labels:  exporter, grafana, prometheus
Hana sql exporter
SAP Hana SQL Exporter for Prometheus
Stars: ✭ 18 (+5.88%)
Mutual labels:  exporter, grafana, prometheus
Rabbitevents
Nuwber's events provide a simple observer implementation, allowing you to listen for various events that occur in your current and another application. For example, if you need to react to some event published from another API.
Stars: ✭ 84 (+394.12%)
Mutual labels:  events, queue, broadcast
selectel-exporter
No description or website provided.
Stars: ✭ 25 (+47.06%)
Mutual labels:  exporter, prometheus
jail exporter
A Prometheus exporter for FreeBSD jail metrics
Stars: ✭ 21 (+23.53%)
Mutual labels:  exporter, prometheus
jarvis
🍿 Simple Home Media Stack
Stars: ✭ 28 (+64.71%)
Mutual labels:  grafana, prometheus
loki exporter
Prometheus exporter to collect metrics and run queries against the Grafana Loki API.
Stars: ✭ 28 (+64.71%)
Mutual labels:  grafana, prometheus
opentsdb exporter
Prometheus exporter for OpenTSDB
Stars: ✭ 20 (+17.65%)
Mutual labels:  exporter, prometheus
grafana-infinity-panel
Grafana Infinity Panel plugin. Visualize data in infinite ways using data viz APIs such as Vega
Stars: ✭ 17 (+0%)
Mutual labels:  grafana, prometheus
flask prometheus metrics
Prometheus Metrics for Flask Web App
Stars: ✭ 17 (+0%)
Mutual labels:  grafana, prometheus
microservices-observability
🎉 Microservices Observability - Log Aggregation, Distributed Tracking, Metrics
Stars: ✭ 40 (+135.29%)
Mutual labels:  grafana, prometheus
epiphany
Cloud and on-premises automation for Kubernetes centered industrial grade solutions.
Stars: ✭ 114 (+570.59%)
Mutual labels:  grafana, prometheus
cdn-up-and-running
CDN Up and Running - an introduction about how modern CDNs works
Stars: ✭ 131 (+670.59%)
Mutual labels:  grafana, prometheus
octane-exporter
Export Laravel Octane metrics using this Prometheus exporter.
Stars: ✭ 14 (-17.65%)
Mutual labels:  grafana, prometheus
laracom
laracom driven by go micro services
Stars: ✭ 37 (+117.65%)
Mutual labels:  grafana, prometheus
metrics-server-exporter
Metrics Server Exporter
Stars: ✭ 58 (+241.18%)
Mutual labels:  grafana, prometheus
gluster exporter
Gluster Exporter for Prometheus
Stars: ✭ 70 (+311.76%)
Mutual labels:  exporter, prometheus
chia-monitor
🍃 A comprehensive monitoring and alerting solution for the status of your Chia farmer and harvesters.
Stars: ✭ 131 (+670.59%)
Mutual labels:  grafana, prometheus
centos-script
🎉centos下工具安装脚本,包含基础环境配置,Gitlab、Docker、LDAP、MongoDB、MySQL、RabbitMQ、Supervisor、Node、Python、zsh、rar、zabbix、k8s、prometheus、grafana等🎉
Stars: ✭ 121 (+611.76%)
Mutual labels:  grafana, prometheus

Laravel Horizon Prometheus Exporter

CI codecov StyleCI Latest Stable Version Total Downloads Monthly Downloads License

Export Laravel Horizon metrics using this Prometheus exporter. This package leverages Exporter Contracts.

🤝 Supporting

If you are using one or more Renoki Co. open-source packages in your production apps, in presentation demos, hobby projects, school projects or so, sponsor our work with Github Sponsors. 📦

🚀 Installation

You can install the package via composer:

composer require renoki-co/horizon-exporter

Publish the config:

$ php artisan vendor:publish --provider="RenokiCo\HorizonExporter\HorizonExporterServiceProvider" --tag="config"
$ php artisan vendor:publish --provider="RenokiCo\LaravelExporter\LaravelExporterServiceProvider" --tag="config"

🙌 Usage

This package is pretty straightforward. Upon installing it, it will register the route at /exporter/group/horizon-metrics and you can point Prometheus towards it for scraping.

Please keep in mind that the metrics are not calculated by-process, but as a whole across all supervisors. Point your Prometheus scraper to one of the instances for horizontally-scaled environments.

# HELP laravel_horizon_master_status That status of the Master Horizon process. 0 = inactive, 1 = paused, 2 = running.
# TYPE laravel_horizon_master_status gauge
laravel_horizon_master_status{name="master-1",pid="10082"} 2

# HELP laravel_horizon_queue_runtime Get total jobs runtime by queue.
# TYPE laravel_horizon_queue_runtime gauge
laravel_horizon_queue_runtime{queue="default"} 41.085

# HELP laravel_horizon_queue_throughput Get total jobs throughput by queue.
# TYPE laravel_horizon_queue_throughput gauge
laravel_horizon_queue_throughput{queue="default"} 4

# HELP laravel_horizon_job_runtime Get total workload runtime by job name.
# TYPE laravel_horizon_job_runtime gauge
laravel_horizon_job_runtime{job="RenokiCo\\HorizonExporter\\Test\\Jobs\\BasicJob"} 53.666666666667
laravel_horizon_job_runtime{job="RenokiCo\\HorizonExporter\\Test\\Jobs\\BasicJob2"} 3.34

# HELP laravel_horizon_job_throughput Get total workload throughput by job name.
# TYPE laravel_horizon_job_throughput gauge
laravel_horizon_job_throughput{job="RenokiCo\\HorizonExporter\\Test\\Jobs\\BasicJob"} 3
laravel_horizon_job_throughput{job="RenokiCo\\HorizonExporter\\Test\\Jobs\\BasicJob2"} 1

# HELP laravel_horizon_jobs_by_type Get total processed jobs into all queues by specific type (i.e. completed, pending, etc.).
# TYPE laravel_horizon_jobs_by_type gauge
laravel_horizon_jobs_by_type{type="completed"} 4
laravel_horizon_jobs_by_type{type="failed"} 1
laravel_horizon_jobs_by_type{type="pending"} 1
laravel_horizon_jobs_by_type{type="recent"} 6
laravel_horizon_jobs_by_type{type="recent_failed"} 1

# HELP php_info Information about the PHP environment.
# TYPE php_info gauge
php_info{version="8.0.10"} 1

🐛 Testing

vendor/bin/phpunit

🤝 Contributing

Please see CONTRIBUTING for details.

🔒 Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

🎉 Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].