WoodMac's Faust Prometheus Library
This library uses sensors of Faust. Those sensors are events based. Our monitor implements that interface and hooks some actions when those events happen. That allows us to create our own prometheus
I created some predefined metrics, but we can expand on them in the future.
To use this library in your faust project just add
faustprometheus or install it through pip:
pip install faustprometheus
PrometheusMonitor to the app as seen below:
import faust from faustprometheus.monitor import PrometheusMonitor app = faust.App('example', broker='kafka://') app.monitor = PrometheusMonitor(app)
You can also configure some global options to monitor through
such as 2 levels of prefixes, through
subsystem. The path exposing prometheus metrics can be set through
metrics config, with
/metrics as default value.
I added labels to config, but are not applied to monitor due to lack of my understanding of faust sensors and prometheus.
from faustprometheus.config import PrometheusMonitorConfig monitor_config = PrometheusMonitorConfig( path='/metrics', namespace='faust', subsystem='foo-app', labels=['v2.3', 'prod'] )
Library is fully unit tested and can be run by
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.