Prometheus exporter for Kibana
1.6K
This has been moved to https://github.com/vladvasiliu/kibana-prometheus-exporter-py/pkgs/container/kibana-prometheus-exporter-py
This is a Prometheus exporter for Kibana written in Python.
See the changelog.
Configuration is done via environment variables. Available parameters:
| Parameter | Default | Required |
|---|---|---|
| KIBANA_URL | - | Yes |
| LISTEN_PORT | 9563 | No |
| LOG_LEVEL | INFO | No |
| KIBANA_LOGIN | - | No |
| KIBANA_PASSWORD | - | No |
| IGNORE_SSL | FALSE | No |
| REQUESTS_CA_BUNDLE | - | No |
Authentication can also be done via a netrc file. requests natively supports this.
You can provide CA bundle for requests library using the REQUESTS_CA_BUNDLE environment variable
Documentation:
This project is developed using Python 3.7. It will likely work with all supported versions of Python 3, but it's not tested.
This project uses the following libraries:
Install the dependencies:
pip install -r requirements.txt
Run the program specifying options:
KIBANA_URL="https://your_kibana_node.com" python kibana_prometheus_exporter
A docker container is built and hosted on the Docker Hub. To run it:
docker run -d -p 9563:9563 --name kibana_exporter -e KIBANA_URL="https://your_kibana_node.com" vladvasiliu/kibana_exporter:latest
The exporter reads data from the Kibana Stats API. This API only provides "real time" metrics, refreshed every 5 seconds.
As such, some metrics which usually are counters can only be gauges (eg kibana_requests_total).
See below for how Kibana handles this internally :
A possible workaround is setting Kibana ops.interval to the same value as the scrape interval
and using the statistics timestamp from the response as the Prometheus timestamp.
I have noticed since the update to Kibana 6.7 that sometimes the avg request time is missing from the stats dictionary. Source
The reason is probably a division by 0 when there are no requests during the sampling interval. I think it's better to set the value to 0 then to have a gap in the time series.
Please feel free to send a PR for any changes or improvements you may have.
This project uses a branching model inspired by git-flow.
master should be ready to be deployed.develop is where development happens. May be unstable.feature/* is a work-in-progress on a major new feature.It's strongly inspired by Kibana Prometheus Exporter. There are two main reasons I've done this:
kibana-prometheus-exporter is created by Vlad Vasiliu.
This project is released under the terms of the GPLv3 license. See COPYING for the full text.
Content type
Image
Digest
Size
20.7 MB
Last updated
over 5 years ago
docker pull vladvasiliu/kibana_exporter