phusion / passenger

A fast and robust web server and application server for Ruby, Python and Node.js
https://www.phusionpassenger.com/
MIT License
5k stars 547 forks source link

Passenger Status Metrics Endpoint #2557

Open physik932 opened 2 months ago

physik932 commented 2 months ago

Feature Request

Question 1: What is the problem?

We would love a method for passenger related metrics and data to be accessible via endpoint instead of running passenger-status. I believe https://github.com/phusion/passenger/issues/1427 is the original issue created to address this but it hasn't seen much traction.

The goal here would be something like a default passenger-status endpoint that can be queried regularly, similar to a Prometheus endpoint that can regularly export metrics like queue depth, process count, uptime, CPU and memory usage, etc. This would allow us to automate our metrics export to Datadog (or other teams out there to other monitoring tools).

Question 2: Passenger version and integration mode:

Passenger Open Source, 6.022-1~buster1, nginx 1.14.2-2+deb10u5

Question 3: OS or Linux distro, platform (including version):

Debian 10 containers running on AWS EKS 1.27, on 1.27.12-20240703 AMI node version.

Question 4: Passenger installation method:

Your answer: [x] Phusion APT repo

Question 5: Your app's programming language (including any version managers) and framework (including versions):

Ruby 3.0.7 Rails 6.1.6.1

Question 6: Are you using a PaaS and/or containerization? If so which one?

In house docker image built on top of Docker Hub's ruby base image (https://hub.docker.com/_/ruby) based on the ruby version, and on Debian 10.

Question 7: Anything else about your setup that we should know?

We used https://github.com/Sjeanpierre/passenger-datadog-monitor for many years successfully in a Chef cookbook to emit metrics. We are currently running it on our Kubernetes pods to emit similar data, but this, along with the older https://github.com/manheim/passenger-datadog are inadequate for configuration. They work fine for now, or using passenger-status on occasion.


We strive for quality and appreciate you taking the time to submit a report! Please note that if you want guaranteed response times and priority issue support we encourage you to join our enterprise customer base. They also provide us with the means to continue our high level of open source support!