Skip to main content

Faktory metrics exporter for Prometheus, written in Python

Project description

faktory-prometheus-exporter

PyPI - Version PyPI - Python Version pre-commit.ci status

A Faktory Exporter written in Python for Prometheus.


In a nutshell

The faktory_exporter is a simple server that scrapes a configured Faktory instance for stats by issuing the "INFO" command and exports them via string message for Prometheus consumption.

Usage

Arguments

The URL used to scrape info from faktory is by default tcp://:@localhost:7419, but can be overwritten by using the --faktory_url arg or by specifying a FAKTORY_URL environment variable.

The app will by default run in interactive mode, printing the metrics and exiting. You can activate the daemon mode by adding --daemonize or by specifying a DAEMONIZE_EXPORTER environment variable. The activated daemon will by default run on port 7423 but this can be changed by specifying --port= or by defining the PORT environment variable.

Install with pip

Fastest way is simply running (preferably in a python env):

pip install faktory-prometheus-exporter
faktory-prometheus-exporter [--faktory_url='tcp://:[password]@localhost:7419'] [--help]

Develop using uv or pip-compile

The requirements format are the ones defined by pip-compile, from pip-tools. You may also equally use uv pip compile from uv.

uv pip compile requirements.in -o requirements.txt
uv pip compile requirements-dev.in -o requirements-dev.txt

Then you can either install locally to use the CLI or to run the python function:

uv pip install -e .
faktory-prometheus-exporter [--faktory_url='tcp://:[password]@localhost:7419']
python faktory_prometheus_exporter.py

Build and use as docker container

You may use the Dockerfile and run something like the following. Make sure that the exporter is in the same network than faktory, i.e. with docker-compose.

docker build -t faktory-prometheus-exporter:latest .
docker run -d [--rm] faktory-prometheus-exporter:latest [--faktory_url='tcp://:[password]@localhost:7419']

Inspiration / prior work

Inspired by this Faktory Exporter written in go, but only partially maintained and not working out of the box when we needed it, so we built our own one.

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

faktory_prometheus_exporter-0.2.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file faktory_prometheus_exporter-0.2.0.tar.gz.

File metadata

File hashes

Hashes for faktory_prometheus_exporter-0.2.0.tar.gz
Algorithm Hash digest
SHA256 eae5aac0a42dc63f8d8a8b73ae7199d574bdd2c1172697f29a05e2121a550e2b
MD5 21e7db7d54115674ea8e5582715f6500
BLAKE2b-256 3433d8616544c858bbb40cbf1f557da5a1de49a9327d7a187de74fe9669566de

See more details on using hashes here.

File details

Details for the file faktory_prometheus_exporter-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for faktory_prometheus_exporter-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3e71111d9d5ac0abc39c4bc3d8585389632b28e6bb2da9c41654616f1bb83990
MD5 8dab5a5466aa24f7268e4ab0c39bb5c8
BLAKE2b-256 2fb999fc75e2ed8e0bd220629827262c4665d81eaaaab2f0f0bb71860e361b4f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page