Monitor xiRAID Health with Prometheus: the xiRAID Exporter by E4 Computer Engineering

June 23, 2025

Back to all posts

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:

  1. xiRAID is installed and configured (v4.3.0)
  2. OpenSSL is installed (v3.0.7)
  3. 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:

curl http://localhost:9505/metrics

You should see Prometheus style metrics such as:

# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# 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:

./xiraid_exporter \
  --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.