Aravinda
2018-Oct-12 15:08 UTC
[Gluster-users] Gluster Monitoring using Prometheus - Status Update
## 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)