Monitoring RAID storage is critical for reliability and performance. RAID controllers track disk health and array status, but without observability tools, administrators may miss early warning signs. For example, Prometheus’s Node Exporter exposes Linux RAID metrics (from /proc/mdstat) such as the number of active vs. failed disks, sync progress, and blocks synced. These metrics alert the system administrator about a degraded RAID array or failed disk before data is lost. Likewise, xiRAID itself exposes health parameters (e.g. a “faulty_count” for access delays and an “active” flag per device) that should be monitored. By catching issues early, the system administrator can rebuild or replace drives in time eliminating downtime and the risk of data loss.
Prometheus has become a de facto standard for such monitoring tasks. It provides a dimensional time-series database and a pull-based model via HTTP “exporters”. System metrics, application stats, and custom service data can all be scraped and stored. In short, if your stack uses Prometheus/Grafana, a RAID exporter lets you slot RAID health into your existing dashboards and alerts.
The xiRAID Prometheus Exporter
To bridge xiRAID into Prometheus, our partner E4 Computer Engineering developed the xiRAID exporter (hosted at https://github.com/E4-Computer-Engineering/xiraid_exporter). The exporter is a native, go-based service that was built specifically around xiRAID’s interfaces. Rather than parsing mdstat, it uses xiRAID’s own gRPC API to fetch metrics in real time. The exporter acts as a gRPC client to xiRAID and registers those values as Prometheus metrics.
While our Zabbix integration covers a more traditional monitoring stack, many organizations now run Kubernetes, Docker Swarm or other microservices architectures that lean heavily on Prometheus for visibility. A dedicated exporter means:
- Native Prometheus support: metrics exposed in Prometheus exposition format.
- Lightweight, high performance: written in Go, minimal footprint.
- Pluggable collectors: pick only the xiRAID data you care about.
Prerequisites
Before installing the exporter, ensure:
- xiRAID is installed and configured (v4.3.0)
- OpenSSL is installed (v3.0.7)
- The xiRAID default TLS certificate is replaced with a modern one (Prometheus’ Go gRPC client requires up to date TLS).
Installing the Exporter
Download and run the latest release (v1.2.0):
# Replace <VERSION>, <OS>, <ARCH> accordingly wget https://github.com/E4-Computer-Engineering/xiraid_exporter/releases/download/v1.1.0/xiraid_exporter_<OS>_<ARCH>.tar.gz tar xvfz xiraid_exporter_*.tar.gz ./xiraid_exporter
By default, the exporter listens on HTTP port 9505. To verify:
You should see Prometheus style metrics such as:
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 3.8996e-05
...
Configuring Collectors
The exporter is built with pluggable collectors, each corresponding to a gRPC call on the xiRAID API. Enable or disable collectors at runtime:
Collector | Default | Enable Flag | Disable Flag |
---|---|---|---|
license_show | enabled | --collector.xiraid_license_show | --no-collector.xiraid_license_show |
raid_show | enabled | --collector.xiraid_raid_show | --no-collector.xiraid_raid_show |
-
license_show
Exposes license metadata: hwkey, disk_in_use, license_status, etc. -
raid_show
Exposes RAID‐level info: raid_name, raid_uuid, devices, device_status, raid_status, etc.
For example, to disable the license collector:
--no-collector.xiraid_license_show \
--collector.xiraid_raid_show
Getting Started
The xiRAID exporter makes monitoring xiRAID systems straightforward. Install it on your xiRAID hosts (it’s a small Go binary), configure the xiRAID gRPC address or credentials, and run it. It requires no changes to existing RAID deployments – xiRAID is already running, and the exporter just reads its status. Once running, any Prometheus server in your observability stack can scrape it like any other exporter.
E4 Computer Engineering is the original creator and IP owner of the xiRAID exporter—find their official release and documentation at https://github.com/E4-Computer-Engineering/xiraid_exporter. For the latest builds and ongoing enhancements from the original author, you can also visit https://github.com/ithilbor/xiraid_exporter.
For more information or help integrating xiRAID metrics into your monitoring stack, check out the xiraid_exporter repo and contact Xinnor/E4.