[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.
  (https://github.com/gluster/gluster-prometheus/pull/35)

- Configuration support added to support glusterd/glusterd2 related
  configurations. By default it collects metrics from `glusterd`.
Update
  the configuration file(`/etc/gluster-exporter/global.conf`)
  (https://github.com/gluster/gluster-prometheus/pull/24)

- 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`
  (https://github.com/gluster/gluster-prometheus/pull/24)

- `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`
  (https://github.com/gluster/gluster-prometheus/pull/37)
  
- Installation and setup instructions are updated in README file.
  (https://github.com/gluster/gluster-prometheus/pull/40 and
  https://github.com/gluster/gluster-prometheus/pull/35)

- `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.
  (https://github.com/gluster/gluster-prometheus/pull/26)
  
- 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.
  (https://github.com/gluster/gluster-prometheus/pull/48)

- Gluster interface - Code is refactored to support glusterd and
  glusterd2 compatibility feature easily.
  (https://github.com/gluster/gluster-prometheus/pull/47)

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

- 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.
  (https://github.com/gluster/gluster-prometheus/pull/38)



Install and Usage guide:
https://github.com/gluster/gluster-prometheus/blob/master/README.adoc

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

-- 
regards
Aravinda
(on behalf of gluster-prometheus Team)



More information about the Gluster-devel mailing list