Quick Start
Then:
You should see powerstore_up{array="pstore-1"} 1 once the first collection cycle
completes, and /health returns 200 OK.
One-shot mode
Run a single collection cycle and exit — handy for verifying connectivity and that the expected metrics are produced, without starting the server loop:
Useful flags:
--once— run a single collection cycle, log the result, and exit (connectivity check).--debug— verbose logging. Combined with--once, it also prints every collected sample (sorted, exposition style) so you can diff a live array against the metrics reference.--trace— log raw bulk-API response bodies (method, URL, status, payload). Headers are never logged, so the Basic-auth credentials and theDELL-EMC-TOKENCSRF token cannot leak;login_sessionresponses are skipped entirely. Scope: only the raw bulk-CSV HTTP path (latest_five_min_metrics) is traced — gopowerstore builds its HTTP client internally with no transport hook, so typed SDK calls cannot be traced.
Validating against a real array:
./bin/pstore_exporter --config config.yaml --once --debug --trace > run.log
grep '^powerstore_' run.log | sort > samples.txt # every collected sample (compare with docs/metrics.md)
grep 'API trace' run.log # raw bulk-API payloads for anything missing or suspicious
Sample lines start with powerstore_, while log records are JSON objects, so the two are
easy to separate even though both go to stdout. The exporter never guesses values: an
unexpected payload shape shows up as a missing sample, and the trace shows what the
array actually returned.
Local stack (Docker Compose)
Bring up the exporter alongside Prometheus, Grafana (dashboards auto-provisioned), and an OpenTelemetry Collector:
- Exporter metrics: http://localhost:9446/metrics
- Prometheus: http://localhost:9090
- Grafana: http://localhost:3000 (login
admin/admin; PowerStore dashboards under the block and file folders) - OTLP collector receives the push when
opentelemetry.metrics.enabled: true.
To run the published image instead of building locally, use the pull-based stack:
See Docker deployment for both stacks, image tags, and Grafana details.
What to look at
- Per-array health:
powerstore_up,powerstore_last_scrape_timestamp_seconds,powerstore_array_bulk_api. - Capacity:
powerstore_appliance_physical_used_bytesvspowerstore_appliance_physical_total_bytes. - Performance:
powerstore_appliance_total_iops,powerstore_appliance_read_bandwidth_bytes_per_second. - File:
powerstore_file_system_size_used_bytes/powerstore_file_system_size_total_bytes.
See the Metrics Reference for the full list and the Dashboards page for ready-made Grafana panels.