ccowart83 / sio2prom

ScaleIO Performance Metrics Prometheus Exporter (Rust)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ScaleIO Prometheus Exporter

Functionality

Exposes all the selected ScaleIO statistics to a Prometheus endpoint

Features

  • 100% Rust
  • User selectable ScaleIO statistics metric_query_selection.json
  • Prometheus customizable metric naming metric_definition.json
  • Runtime logging configuration log4rs.toml

Examples

Usage (Docker)

# Locally copy the configuration files and set them up
docker run -d --name sio2prom -h sio2prom -v cfg:/sio2prom/cfg syepes/sio2prom-docker

Usage (Built from src)

git clone https://github.com/syepes/sio2prom.git && cd sio2prom
cargo build --release (nightly)
mkdir -p /opt/sio2prom/
cp target/release/sio2prom /opt/sio2prom/
cp -r cfg /opt/sio2prom/
cd /opt/sio2prom/
vi cfg/sio2prom.json (ScaleIO settings)
./sio2prom

Exposed labels

System:           {clu_id="", clu_name=""}
Sdc:              {clu_id="", clu_name="", sdc_id="", sdc_name=""}
ProtectionDomain: {clu_id="", clu_name="", pdo_id="", pdo_name=""}
Sds:              {clu_id="", clu_name="", pdo_id="", pdo_name="", sds_id="", sds_name=""}
StoragePool:      {clu_id="", clu_name="", pdo_id="", pdo_name="", sto_id="", sto_name=""}
Volume:           {clu_id="", clu_name="", pdo_id="", pdo_name="", sto_id="", sto_name="", vol_id="", vol_name=""}
Device:           {clu_id="", clu_name="", pdo_id="", pdo_name="", sto_id="", sto_name="", sds_id="", sds_name="", dev_id="", dev_name="", dev_path=""}

Notes

Beta version still needs some work on error handling

About

ScaleIO Performance Metrics Prometheus Exporter (Rust)


Languages

Language:Rust 100.0%