[Gluster-devel] Gluster Monitoring using Prometheus - Status Update

Aravinda avishwan at redhat.com
Fri Oct 12 15:08:35 UTC 2018

## Quick start:

cd $GOPATH/src/github.com/gluster
git clone https://github.com/gluster/gluster-prometheus.git
cd gluster-prometheus
PREFIX=/usr make
PREFIX=/usr make install

# Enable and start using,
systemctl enable gluster-exporter
systemctl start gluster-exporter

Note: By default exporter collects metrics using `glusterd` and
`gluster` CLI. Configure `/etc/gluster-exporter/global.conf` to use
with glusterd2.

## Completed

- All the supported metrics are now works with both `glusterd` and
  `glusterd2`. Volume info from glusterd will be upgraded to include
  sub volume details and to match with glusterd2 Volume info. This
  also enables capturing sub-volume related metrics like
  sub volume utilization easily.

- Configuration support added to support glusterd/glusterd2 related
  configurations. By default it collects metrics from `glusterd`.
  the configuration file(`/etc/gluster-exporter/global.conf`)

- All metrics collectors are enabled by default, metrics can be
  disabled by updating the `/etc/gluster-exporter/collectors.conf`
  file and restarting the `gluster-exporter`

- `gluster-exporter` can be managed as a `systemd` service. Once
  installed, it can be enabled and started using `systemctl enable
  gluster-exporter` and `systemctl start gluster-exporter`
- Installation and setup instructions are updated in README file.
  (https://github.com/gluster/gluster-prometheus/pull/40 and

- `pkg/glusterutils` package is introduced, which collects the
  required information from both `glusterd` and `glusterd2`. Metrics
  collectors need not worry about handling it for `glusterd` and
  `glusterd2`. For example, `glusterutils.VolumeInfo` internally
  handles glusterd/glusterd2 based on configuration and provides
  uniform interface to metrics
  collectors. (https://github.com/gluster/gluster-prometheus/pull/35)

## In-progress

- RPM generation scripts - Currently prometheus exporter can be
  installed using source install(`PREFIX=/usr make` and `PREFIX=/usr
  make install`). RPM spec file helps to generate the RPM and to
  integrate with GCS and to integrate with centos-ci.
- Understanding Prometheus Operator - POC project started to try out
  Prometheus Operator. Theoritically Prometheus operator can detect
  the pods/containers which are annotated as `prometheus.io/scrape:
  "true"`. Custom `Dockerfile` is created to experiment with
  Prometheus Operator till the RPM spec file related changes merges
  and rpm is included in gluster official container.

- Gluster interface - Code is refactored to support glusterd and
  glusterd2 compatibility feature easily.

- Ongoing metrics collectors - Volume count and brick disk io related
  metrics PRs are under review.
  (https://github.com/gluster/gluster-prometheus/pull/22 and

- PR related to selecting Leader node/peer is under review. This
  feature will become foundation for sending Cluster related metrics
  only from the leader node.

Install and Usage guide:

Project repo: https://github.com/gluster/gluster-prometheus

(on behalf of gluster-prometheus Team)

More information about the Gluster-devel mailing list