Celery with your own prometheus metrics
Project description
Celery Prometheus
This module expose the Prometheus HTTP server to expose metrics of your Celery backends.
To install celery-prometheus
with pip, use the command:
pip install celery-prometheus
With Poetry:
poetry add celery-prometheus
Usage
To setup celery-prometheus
to your backend, simply call the method add_prometheus_option
after the init of the Celery
object.
Example:
from celery import Celery
from celery_prometheus import add_prometheus_option
app = Celery()
add_prometheus_option(app)
# Rest of your code ...
Before starting your backend, you will need to expose the PROMETHEUS_MULTIPROC_DIR
environment
variable to indicate which folder the Prometheus Client will use to store the metrics
(see Multiprocess Mode (E.g. Gunicorn) of the Promehteus Client documentation).
To start and expose the Prometheus HTTP Server, you need to use the --prometheus-collector-addr
argument when starting your Celery backend:
export PROMETHEUS_MULTIPROC_DIR=/var/cache/my_celery_app
celery worker -A my_celery_backend.backend --prometheus-collector-addr 0.0.0.0:6543
Now that your backend is started, you can configure your Prometheus scrappers to scrappe your Celery backend.
Contributions
This project is open to external contributions. Feel free to submit us a Pull request if you want to contribute and improve with us this project.
In order to maintain an overall good code quality, this project use the following tools:
Linting and formatting tools are configured to match the current default rules of Black.
We also use Mypy as a static type checker.
Please ensure to run these tools before commiting and submiting a Pull request. In case one of these mentionned tools report an error, the CI will automatically fail.
If you're making your first contribution to this project, please add your name to the contributors list.
License
This project is released by Gandi.net tech team under the BSD-3 license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file celery_prometheus-1.1.0.tar.gz
.
File metadata
- Download URL: celery_prometheus-1.1.0.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/6.6.4-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e98120009884415070fcfb789bd9befa58947f85475989677fd81d9a58d6796 |
|
MD5 | f6768e8e16a41d003c4e8c42beaaae2d |
|
BLAKE2b-256 | b7e427927cf6c1bc3e86321a97ef0584ef520c6f7f8cf544b1f6dcb90c8318be |
File details
Details for the file celery_prometheus-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: celery_prometheus-1.1.0-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.6 Linux/6.6.4-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e3d140b184cdbf136f20ad82880be6d118a3813b0a03ee10adfe6820735b5e9 |
|
MD5 | 78e1beae3ba587eec70ce375f0742daa |
|
BLAKE2b-256 | 493bd8d070810b2cecd63e6fa624be6261f92f3c4a96aedd79367421df37e224 |