Skip to content

A uWSGI stats exporter for Prometheus that integrates directly into an existing uWSGI app

License

Notifications You must be signed in to change notification settings

GlobalRadio/uwsgi-prometheus

Repository files navigation

uWSGI Prometheus

A uWSGI stats exporter for Prometheus that integrates directly into an existing uWSGI app

Installation

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

Configuration

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=''
))

About

A uWSGI stats exporter for Prometheus that integrates directly into an existing uWSGI app

Resources

License

Stars

Watchers

Forks

Packages

No packages published