promesque is a configurable Prometheus exporter for results of Elasticsearch queries.
pip3 install promesque
promesque path/to/some/config.yml --log-level info
Refer to exporter_es.yml
as an example for such a config.
The supported fields are explained below.
Configuration file is in a yaml format with single configuration scope (metrics
).
Each item in metrics
scope define a metric and must have following attributes:
description
: description of a metric (what it does)data_path
: jsonpath to data buckets in Elasticsearch response to build metrics from (default:$
)value_path
: jsonpath to metric value within data bucketlabels
: inner scope withname: reference
for each metric:name
: name of label exposed by exporterreference
: jsonpath to label value within data bucket
url
: url to Elasticsearch cluster (include index)query
: query in json format; musteither be inclosed in single quotes (e.g.
'{ "query": {...} }'
)or written in YAML block notation with proper indentation, e.g.,
es_query: | { "query": { ... } }