mirror of
https://github.com/recklessop/Zerto_Exporter.git
synced 2026-07-02 23:53:13 -04:00
a4ff29e1b58aa6dbd216f0cbc5d4160cb5eae962
When a ZVM reboots its cumulative counters (IOPs, write/sync/network MBs, encrypted/unencrypted LBs) reset to zero. The previous abs() approach converted the large negative delta into an equally wrong positive spike. Introduces _counter_delta(new, old, vm_id, metric) which: - Returns new - old when new >= old (normal incrementing counter) - Returns new as-is when new < old (counter reset / reboot detected) and logs a WARNING identifying the VM and metric that reset Publishing the raw new value on reset correctly reflects the restarted counter state, suppresses the false spike, and produces a visible dip in Grafana that naturally indicates the ZVM reboot event. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
About the app
This Python App will export Zerto API data from the new ZVM appliance in prometheus format. It has several different threads that each scrape different parts of the ZVM API. To visualize the data in Grafana you will need to scrape this app with Prometheus and then create dashboards using Grafana.
Run Program
Login to the server where you want to run this exporter and clone the project:
git clone https://github.com/recklessop/Zerto_Exporter.git
Go to the project directory:
cd Zerto_Exporter
Build image and start the container:
docker-compose up -d --build --force-recreate
Add the exporter to Prometheus
Add this part at the end of the configuration of your Prometheus (prometheus.yaml):
- job_name: python-exporter
metrics_path: /metrics.txt
static_configs:
- targets: ['<IP-of-Node-Exporter-Server>:9999']
Forked from
Huge shout out to hmdhszd for the framework that started this project. You can find his non-zerto version of a Python Prometheus Exporter here.
Description
Languages
Python
99.2%
Dockerfile
0.8%