Metrics and Dashboards
Explore this Page
Overview
This page lists the Prometheus metrics the exporter publishes, and describes the prebuilt Grafana dashboards used to visualize them.
Metrics Reference
All metrics use the ssv_ prefix and are generated live on each scrape. The full, current list is always available at http://<host>:9876/metrics.
Conventions
- Counters end in _total and are best read using rate(). Gauges represent a point in time value.
- Latency and time values are expressed in seconds.
- State and status values are the raw SANsymphony values. The Grafana dashboards map them to readable labels.
- Which performance metrics appear can vary depending on your SANsymphony PSP version.
Scrape Health
| Metric | Type | Meaning |
|---|---|---|
| ssv_up{collector} | gauge | 1 if that collector's scrape succeeded, otherwise 0. |
| ssv_scrape_duration_seconds{collector} | gauge | How long that collector's scrape took. |
Inventory Metrics
| Object | Example metrics |
|---|---|
| Server group | ssv_server_group_state, ssv_server_group_storage_used_bytes, ssv_server_group_license_expires_seconds |
| Server | ssv_server_state, ssv_server_cache_state, ssv_server_storage_used_bytes, ssv_server_memory_bytes, ssv_server_info |
| Pool | ssv_pool_status, ssv_pool_type, ssv_pool_chunk_size_bytes |
| Virtual disk | ssv_virtual_disk_status, ssv_virtual_disk_size_bytes, ssv_virtual_disk_offline |
| Host | ssv_host_state, ssv_host_connection_state, ssv_host_info |
| Port | ssv_port_connected, ssv_port_role_capability, ssv_port_info |
| Physical disk | ssv_physical_disk_status, ssv_physical_disk_size_bytes, ssv_physical_disk_free_bytes, ssv_physical_disk_pool, ssv_physical_disk_info |
Health Metrics
ssv_monitor_state, ssv_alerts_total, ssv_alert_info{alert_id,level,machine,message}, and ssv_alert_age_seconds{alert_id}.
Performance Metrics
| Object | Example metrics |
|---|---|
| Server | ssv_server_read_bytes_total, ssv_server_write_ops_total, ssv_server_cache_size_bytes, per class ssv_server_class_io_operations_total and _time_seconds_total |
| Pool | ssv_pool_read_bytes_total, ssv_pool_write_time_seconds_total, ssv_pool_capacity_bytes, ssv_pool_used_bytes, ssv_pool_oversubscribed_bytes |
| Virtual disk | ssv_virtual_disk_read_ops_total, ssv_virtual_disk_cache_total, ssv_virtual_disk_io_time_seconds_total |
| Host | ssv_host_read_bytes_total, ssv_host_provisioned_bytes, ssv_host_max_read_op_size_bytes |
| Port | ssv_port_read_ops_total, ssv_port_pending_commands, target and initiator metrics, link error counters |
| Physical disk | ssv_physical_disk_read_ops_total, ssv_physical_disk_io_time_seconds_total, ssv_physical_disk_avg_queue_length |
These metrics are visualized in the prebuilt dashboards described in Grafana Dashboards.
Scraping the Exporter with Prometheus
Once the exporter is installed and running, Prometheus does not pick it up automatically. Add it as a scrape target in your Prometheus server's own configuration file, prometheus.yml, so Prometheus starts polling /metrics on a regular interval. Add an entry under scrape_configs similar to the example below, replacing <exporter-host> with the exporter's hostname or IP address and <exporter-port> with the port it listens on, as set during installation or configuration.
scrape_configs:
- job_name: sansymphony
static_configs:
- targets: ['<exporter-host>:<exporter-port>']
labels:
group: production
Save the file and reload or restart Prometheus for the new target to take effect. Add one entry per SANsymphony server group you monitor, each with its own targets value.
The group label shown above is not optional. The sample dashboards use it to filter which server group's metrics they display, so set a different value for each target if you monitor more than one SANsymphony server group. Otherwise the dashboards cannot tell the groups apart.
Grafana Dashboards
Five sample Grafana dashboards are provided to visualize the metrics described in Metrics Reference. They are publicly available on Grafana Labs: import each one into Grafana using a Prometheus data source that scrapes the exporter, or browse all five at DataCore Dashboards | Grafana Labs.
Overview Dashboard
This dashboard displays a single view of overall health across the server group, including scrape status, active alerts, servers online, license expiry, total IOPS and throughput, average pool latency, and capacity used.
Refer to the DataCore SANsymphony Overview dashboard.
Servers Dashboard
This dashboard displays per-server detail, including state, version, cache usage and hit ratios, IOPS and throughput, and latency by I/O type.
Refer to the DataCore SANsymphony Servers dashboard.
Storage Dashboard
This dashboard displays per-pool capacity, used space, free space, and oversubscription, along with IOPS and latency. It also shows physical disks by pool and per-virtual-disk status, size, cache hit rate, latency, and IOPS.
Refer to the DataCore SANsymphony Storage dashboard.
Hosts Dashboard
This dashboard displays an inventory of connected hosts, including IOPS and bandwidth, maximum I/O size, provisioned capacity, and the ports associated with each host.
Refer to the DataCore SANsymphony Hosts dashboard.
Ports Dashboard
This dashboard displays SCSI, iSCSI, and Fibre Channel port inventory, including IOPS and bandwidth, target latency, pending commands, and link, CRC, and sync errors.
Refer to the DataCore SANsymphony Ports dashboard.
Learn More