Ouroboros Metrics: Difference between revisions
Line 69: | Line 69: | ||
python oexport.py | python oexport.py | ||
Options for the exporter can be shown using | |||
python oexport.py --help |
Revision as of 10:54, 25 November 2023
This page is under construction
A collection of observability tools for exporting and visualising metrics collected from Ouroboros.
Currently has one very simple exporter for InfluxDB, and provides additional visualization via grafana.
More features will be added over time.
Requirements
Ouroboros version >= 0.18.3
python influxdb-client, install via
pip install 'influxdb-client[ciso]'
And you might also need pytz
pip install pytz
It is highly recommended to install grafana for visualization.
Setup InfluxDB and Grafana and get the dashboard
Install and run InfluxDB and create a bucket in InfluxDB for exporting Ouroboros metrics, and a token for writing to that bucket. Consult the InfluxDB documentation on how to do this. The default bucket name for the exporter is ouroboros-metrics.
To use grafana, install and run grafana open source.
Go to the grafana UI (usually http://localhost:3000) and set up InfluxDB as your datasource: Go to Configuration -> Datasources -> Add datasource and select InfluxDB Set “flux” as the Query Language, and under “InfluxDB Details” set your Organization as in InfluxDB and set the copy/paste the token for the bucket to the Token field.
To add the Ouroboros dashboard, select Dashboards -> Manage -> Import
and then either upload the json file from the metrics repository in
dashboards-grafana/general.json
or copy the contents of that file to the “Import via panel json” textbox and click “Load”.
Step by step instructions
On each of the machines running O7s, install the exporter
git clone https://ouroboros.rocks/git/ouroboros-metrics cd ouroboros-metrics cd exporters-influxdb/pyExporter/
It is common to create a virtual environment for Python and install the dependencies
python -m venv ./venv source venv/bin/activate pip install --upgrade pip pip install influxdb_client[ciso] pytz
Edit the config.ini.example file and fill out the InfluxDB information (token, org). This file will be identical on all machines.
[influx2] url=http://<IP address of machine running InfluxDB>:8086 org=<your-org> token=<your-token> timeout=6000 verify_ssl=False
Save it as config.ini.
Now you can run the exporter:
python oexport.py
Options for the exporter can be shown using
python oexport.py --help