Gluster monitoring using Prometheus
Clone or download


Prometheus exporter for Gluster Metrics

Build Status

These exporters will be run on all Gluster peers, So it makes sense to collect only local metrics and aggregate in Prometheus server when required.


mkdir -p $GOPATH/src/
cd $GOPATH/src/
git clone
cd gluster-prometheus
PREFIX=/usr make
PREFIX=/usr make install


Run gluster-exporter with default settings, glusterd is consumable at http://localhost:8080/metrics

systemctl enable gluster-exporter
systemctl start gluster-exporter

Systemd service uses following configuration file for global and collectors related configurations.

gluster-mgmt = "glusterd"
glusterd-dir = "/var/lib/glusterd"
gluster-binary-path = "gluster"
gd2-rest-endpoint = ""
port = 8080
metrics-path = "/metrics"
log-dir = "/var/log"
log-file = "gluster-exporter.log"
log-level = "info"

name = "gluster_ps"
sync-interval = 5
disabled = false

name = "gluster_brick"
sync-interval = 5
disabled = false

To use gluster-exporter without systemd,

gluster-exporter --config=/etc/gluster-exporter/gluster-exporter.toml


List of supported metrics are documented here.

Adding New metrics

glusterCPUPercentage = prometheus.NewGaugeVec(
        Namespace: "gluster",
        Name:      "cpu_percentage",
        Help:      "CPU Percentage used by Gluster processes",
    []string{"volume", "peerid", "brick_path"},
  • Implement the function to gather data, and register to gather data in required interval


registerMetric("gluster_brick", brickUtilization)
  • Add an entry in /etc/gluster-exporter/gluster-exporter.toml

name = "gluster_ps"
sync-interval = 5
disabled = false
  • Thats it! Exporter will run these registered metrics.