A Python library for exporting data as metrics for Prometheus
Project description
Prometheus Exporter
A simple prometheus exporter library using:
Features
- async via aiohttp
- detailed logging
- toml config
- optional caching
Components
Labels
The Labels
dict represents a collection of labels and ensures added labels are strings.
The __str__
method is overridden so that when printed, the object returns a formatted label string for exporting.
copy()
ensures the copy is also a Labels type, and has a logger from the same parent.
Metric
The Metric
class represents a prometheus metric.
It must be defined with a name, and defaults to the value 0
.
Optionally the following parameters can be passed:
metric_type
(untyped
) Prometheus metric typehelp
(None
) The metric help stringlabels
(Labels()
) Label dictionary for the metric.
check_filter(label_filter)
can be used to pass a label filter to the metric, returning True
if the labels match.
__str__
is overridden to print out a proper metric string based on the contents of the object.
Exporter
The Exporter
is responsible for collecting and exporting metrics.
The following arguments can be used:
config_file
(config.toml
) The config file for the exporter.labels
(Labels()
) Label dictionary for the exporter, passed to created metrics.listen_ip
(127.0.0.1
) The IP address to run the exporter on.listen_port
(9999
) The port to listen on.
Once created the exporter can be started with: start()
Requests to /metrics
are handled by handle_metrics(request)
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for prometheus_exporter-0.12.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 588bc30352ac075f855b669903df555cede4c0a01ab9ccc12b19ef787cd14b1d |
|
MD5 | 7d2890ac37770fc41ffa6a85cd653aef |
|
BLAKE2b-256 | 48c069f281d18a966db4771989d784936cff102386a616bc74e9d527979467e9 |