Metrics Translators
Orwell Translators
This repository holds all the different translator scripts built for reading different Kafka topics and outputing valid Prometheus format.
Translators were written using Orwell's Python package and, therefore, they can all be executed with the arguments and evironment variables, which are documented in the package's repository.
Developing New Translators
The process of creating a new translator, the script itself, is described in both PyPI's project description and the package's repository. After that, a new folder should be created for that translator with a main.py
script and a requirements.txt
file.
Adding a reference to that folder inside of docker-compose.yml
and pushing the changes to the repository is all that is required for triggering the CD pipeline and deploying the updated translators in the configured machine(s).
Current Translators
eSight Translators
Two translators are provided for eSight metrics, one for the interfaces and another for the routers. These metrics are generated from a custom connector.
PerfSonar Translator
Translation of network metrics pushed from a custom connector.
Prometheus' Node Exporter Translator
Despite these metrics already coming in the desired format, this translator is responsible for reading from Kafka and writing to Redis.
Gnocchi Translator
This translator is the responsible for the metrics that come directly from the OpenStack hypervisor. Metrics are pushed to Kafka from Orwell's core and its output follow the same nomenclature of Prometheus' Node Exporter's metrics.
Telegraf Translator
Translator for the Telegraf tool, which more than exporting Prometheus' format, rearranges its metrics so as that its metrics follow the same nomenclature of Prometheus' Node Exporter's.