Skip to content

Prometheus Couchbase 5 Exporter, Grafana dashboard and Alerting rules included

License

Notifications You must be signed in to change notification settings

totvslabs/couchbase-exporter

Folders and files

NameName
Last commit message
Last commit date
Jan 31, 2019
Jan 31, 2019
Jun 9, 2020
Apr 28, 2020
Oct 22, 2018
Oct 25, 2018
Oct 26, 2018
Nov 7, 2018
Apr 28, 2020
Dec 21, 2018
Oct 25, 2018
Dec 7, 2018
Dec 10, 2018
Jun 18, 2020
May 20, 2019
Nov 7, 2018
Nov 7, 2018
Jul 25, 2019

Repository files navigation

couchbase-exporter

A prometheus couchbase exporter!

All others I found seem to be abandoned and/or very incomplete. This is an attempt to have all metrics exported, including task-related metrics!

Goal

Innitially, have the same metrics as our old exporter, to facilitate the migration.

Once that's done, we can better document all metrics, eventually improve their naming (like adding _total, _seconds, _byte prefixes), and finally, provide example alerting rules and grafana dashboards, so it's easier to proper monitor a couchbase cluster.

It's worth saying that we will only support Couchbase 5+ for now.

Installation

Building from source

This requires the user to have go installed on their system, preferably version1.13 and onwards.

  1. Run git clone https://github.com/totvslabs/couchbase-exporter.git.
  2. Change directory by running cd couchbase-exporter.
  3. Create a go executable by running go build -o couchbase-exporter main.go. You might have to prefix sudo if you encounter permission issues.
  4. Start the exporter using ./couchbase-exporter followed by specific flags and their values.

Using the Releases

  1. Pick from the couchbase-exporter releases available here depending on whether you're a macOS or Linux user.
  2. Download the release binary and extract it.
  3. The exporter is now ready to be used!

Usage

$ export COUCHBASE_PASSWORD=secret
$ couchbase-exporter --couchbase.username adm

check couchbase-exporter --help for more options!

What's included

  • the exporter itself
  • a grafana dashboard
  • an example of alerting rules

Roadmap

  • export task metrics
  • export bucket metrics
  • export node metrics
  • export cluster metrics
  • provide alerting rules examples
  • provide grafana dashboards (maybe use jsonnet (https://github.com/grafana/grafonnet-lib)?)
  • check other TODOs
  • improve metric names (add _bytes, _seconds, _total, etc)
  • add some sort of tests