All Projects → ofesseler → gluster_exporter

ofesseler / gluster_exporter

Licence: Apache-2.0 License
Gluster Exporter for Prometheus

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to gluster exporter

Awesome Prometheus Alerts
🚨 Collection of Prometheus alerting rules
Stars: ✭ 3,323 (+4647.14%)
Mutual labels:  exporter, prometheus
cockpit-gluster
Easy to use management console for Gluster Storage with glusterd2 support.
Stars: ✭ 29 (-58.57%)
Mutual labels:  glusterfs, gluster
Github Exporter
Prometheus exporter for github metrics
Stars: ✭ 231 (+230%)
Mutual labels:  exporter, prometheus
Jenkins exporter
Prometheus Metrics exporter for Jenkins
Stars: ✭ 152 (+117.14%)
Mutual labels:  exporter, prometheus
opentsdb exporter
Prometheus exporter for OpenTSDB
Stars: ✭ 20 (-71.43%)
Mutual labels:  exporter, prometheus
Event exporter
Exporter for kubernetes events
Stars: ✭ 179 (+155.71%)
Mutual labels:  exporter, prometheus
libgfapi-python
Python bindings for libgfapi - (This is only a public mirror)
Stars: ✭ 42 (-40%)
Mutual labels:  glusterfs, gluster
Ipmi exporter
IPMI Exporter for prometheus.io, written in Go.
Stars: ✭ 74 (+5.71%)
Mutual labels:  exporter, prometheus
airflow-prometheus-exporter
Export Airflow metrics (from mysql) in prometheus format
Stars: ✭ 25 (-64.29%)
Mutual labels:  exporter, prometheus
docker-pulls
A simple compose script to use in conjunction with the prometheus stack to monitor Docker pulls.
Stars: ✭ 19 (-72.86%)
Mutual labels:  exporter, prometheus
Junos exporter
Exporter for devices running JunOS to use with https://prometheus.io/
Stars: ✭ 103 (+47.14%)
Mutual labels:  exporter, prometheus
selectel-exporter
No description or website provided.
Stars: ✭ 25 (-64.29%)
Mutual labels:  exporter, prometheus
Nsq exporter
Prometheus Metrics exporter for NSQ
Stars: ✭ 85 (+21.43%)
Mutual labels:  exporter, prometheus
Clickhouse exporter
This is a simple server that periodically scrapes ClickHouse stats and exports them via HTTP for Prometheus(https://prometheus.io/) consumption.
Stars: ✭ 193 (+175.71%)
Mutual labels:  exporter, prometheus
Bird exporter
Bird protocol state exporter for bird routing daemon to use with https://prometheus.io/
Stars: ✭ 85 (+21.43%)
Mutual labels:  exporter, prometheus
zabbix-glusterfs
Monitoring GlusterFS Discovery storage with Zabbix 3.4
Stars: ✭ 17 (-75.71%)
Mutual labels:  glusterfs, gluster
Druid Exporter
A Golang based exporter captures druid API related metrics and receives druid-emitting HTTP JSON data.
Stars: ✭ 54 (-22.86%)
Mutual labels:  exporter, prometheus
Mqtt blackbox exporter
Prometheus Exporter for MQTT monitoring
Stars: ✭ 57 (-18.57%)
Mutual labels:  exporter, prometheus
ansible-role-glusterfs
Ansible Role - GlusterFS
Stars: ✭ 95 (+35.71%)
Mutual labels:  glusterfs, gluster
jail exporter
A Prometheus exporter for FreeBSD jail metrics
Stars: ✭ 21 (-70%)
Mutual labels:  exporter, prometheus

Build Status CircleCI

gluster_exporter

Gluster exporter for Prometheus

Installation

go get github.com/ofesseler/gluster_exporter
./gluster_exporter

Usage of gluster_exporter

Option Default Description
-h, --help - Displays usage.
--web.listen-address :9189 The address to listen on for HTTP requests.
--web.metrics-path /metrics URL Endpoint for metrics
--gluster.volumes _all Comma separated volume names: vol1,vol2,vol3. Default is '_all' to scrape all metrics
--gluster.executable-path /usr/sbin/gluster Path to gluster executable.
--profile false Enable gluster profiling reports.
--quota false Enable gluster quota reports.
--log.format logger:stderr Set the log target and format. Example: "logger:syslog?appname=bob&local=7" or "logger:stdout?json=true"
--log.level info Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]
--version - Prints version information

Make

build: Go build
docker: build and run in docker container
gometalinter: run some linting checks
gotest: run go tests and reformats

build: runs go build for gluster_exporter

docker: runs docker build and copy new built gluster_exporter

gometalinter: runs gometalinter lint tools

gotest: runs vet and fmt go tools

Relevant Gluster Metrics

Commands within the exporter are executed with --xml.

Command: gluster volume info

Name type impl. state
OpErrno Gauge implemented
opRet Gauge implemented
Status Gauge implemented
BrickCount Gauge implemented
Volumes.Count Gauge implemented
Volume.Status Gauge implemented

Command: gluster peer status

Name type impl. state
peerStatus.peer.state Gauge pending
peerStatus.peer.connected Gauge implemented

Command: gluster volume profile gv_test info cumulative

Name type impl. state
VolProfile.ProfileOp Gauge pending
VolProfile.BrickCount Gauge implemented
VolProfile.CumulativeStatus.Duration Count implemented
VolProfile.CumulativeStatus.TotalRead Count implemented
VolProfile.CumulativeStatus.TotalWrite Count implemented
VolProfile.CumulativeStats.FopStats.Fop.Name CREATE, ENTRYLK, FINODELK, FLUSH, FXATTROP, LOOKUP, OPENDIR, READDIR, STATFS, WRITE implemented as label
VolProfile.CumulativeStats.FopStats.Fop.Hits Count implemented
VolProfile.CumulativeStats.FopStats.Fop.AvgLatency Gauge implemented
VolProfile.CumulativeStats.FopStats.Fop.MinLatency Gauge implemented
VolProfile.CumulativeStats.FopStats.Fop.MaxLatency Gauge implemented

Command gluster volume status all detail

Name type Labels impl. state
VolStatus.Volumes.Volume[].Node[].SizeFree Gauge hostname, path, volume implemented
VolStatus.Volumes.Volume[].Node[].SizeTotal Count hostname, path, volume implemented
VolStatus.Volumes.Volume[].Node[].InodesFree Gauge hostname, path, volume implemented
VolStatus.Volumes.Volume[].Node[].InodesTotal Count hostname, path, volume implemented

Metrics in prometheus

Name Description
up Was the last query of Gluster successful.
volumes_available How many volumes were up at the last query.
volume_status Status code of requested volume.
node_size_free_bytes Free bytes reported for each node on each instance. Labels are to distinguish origins.
node_size_bytes_total Total bytes reported for each node on each instance. Labels are to distinguish origins.
node_inodes_free Free inodes reported for each node on each instance. Labels are to distinguish origins.
node_inodes_total Total inodes reported for each node on each instance. Labels are to distinguish origins.
brick_available Number of bricks available at last query.
brick_duration_seconds_total Time running volume brick in seconds.
brick_data_read_bytes_total Total amount of bytes of data read by brick.
brick_data_written_bytes_total Total amount of bytes of data written by brick.
brick_fop_hits_total Total amount of file operation hits.
brick_fop_latency_avg Average fileoperations latency over total uptime
brick_fop_latency_min Minimum fileoperations latency over total uptime
brick_fop_latency_max Maximum fileoperations latency over total uptime
peers_connected Is peer connected to gluster cluster.
heal_info_files_count File count of files out of sync, when calling 'gluster v heal VOLNAME info
volume_writeable Writes and deletes file in Volume and checks if it is writeable
mount_successful Checks if mountpoint exists, returns a bool value 0 or 1

Troubleshooting

If the following message appears while trying to get some information out of your gluster. Increase scrape interval in prometheus.yml to at least 30s.

Another transaction is in progress for gv_cluster. Please try again after sometime

Contributors

  • coder-hugo
  • mjtrangoni

Similar Projects

glusterfs exporter for prometheus written in rust.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].