A uWSGI stats exporter for Prometheus that integrates directly into an existing uWSGI app
Install using pip
:
pip install uwsgi-prometheus
Enable the http stats endpoint in your uWSGI config:
https://uwsgi-docs.readthedocs.io/en/latest/StatsServer.html
Add the following in your uwsgi.py
:
from prometheus_client.core import REGISTRY
from uwsgi_prometheus.collectors import UWSGIStatsCollector
REGISTRY.register(UWSGIStatsCollector())
The following stats will then be added to your existing metrics endpoint:
- uwsgi_listen_queue_requests - Number of requests in the uWSGI listen queue
- uwsgi_requests_total - Total number of uWSGI requests across all workers
- uwsgi_harakiris_total - Total number of harakiris across all workers
A few configuration options are available on the collector:
- stats_url - The URL that uWSGI is exposing stats on
Default: http://127.0.0.1:1717
- timeout - The timeout for fetching stats
Default: 2
- prefix - A prefix for the exported metrics
Default: ''
REGISTRY.register(UWSGIStatsCollector(
stats_url='http://127.0.0.1:1717',
timeout=2,
prefix=''
))