Export Passenger metrics to Prometheus.
To run it:
make
./passenger_exporter [flags]
Metric | Meaning | Type |
---|---|---|
passenger_up | Passenger state. | Gauge |
passenger_version | Phusion Passenger version. | Gauge |
passenger_top_level_queue | Number of requests in the top-level queue. | Gauge |
passenger_max_processes | Configured maximum number of processes. | Gauge |
passenger_current_processes | Current number of processes. | Gauge |
passenger_app_count | Number of apps. | Gauge |
passenger_app_queue | Number of requests in app process queues. | Gauge |
passenger_app_group_queue | Number of requests in app group process queues. | Gauge |
passenger_app_procs_spawning | Number of processes spawning. | Gauge |
passenger_requests_processed_total | Number of processes served by a process. | Counter |
passenger_current_sessions | Number of sessions currently being handled by a process. | Gauge |
passenger_proc_start_time_seconds | Number of seconds since processor started. | Gauge |
passenger_proc_memory | Memory consumed by a process. | Gauge |
./passenger_exporter --help
passenger.instance-registry
: Path to the instance registry directory. (default: /tmp)passenger.pid-file
: Optional path to a file containing the passenger/nginx PID for additional metrics.log.format
: Output format of log messages. One of: [logfmt, json] (default:logfmt
).log.level
: Only log messages with the given severity or above. One of: [debug, info, warn, error] (default:info
).web.listen-address
: Addresses on which to expose metrics and web interface. Repeatable for multiple addresses (default::9144
).web.telemetry-path
: Path under which to expose metrics (default:/metrics
).version
: Show application version.
You can run this exporter using the ghcr.io/nex-health/passenger-exporter container image.
docker run -d \
-p 9149:9149 \
-v /path/to/passenger-inst-reg-dir:/var/run/passenger-instreg:ro \
-v /path/to/passenger.pid:/tmp/passenger.pid:ro \
ghcr.io/nex-health/passenger-exporter \
--passenger.pid-file /tmp/passenger.pid \
--passenger.instance-registry /var/run/passenger-instreg