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: referencefor 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": { ... } }