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.
- Run
git clone https://github.com/totvslabs/couchbase-exporter.git
. - Change directory by running
cd couchbase-exporter
. - Create a go executable by running
go build -o couchbase-exporter main.go
. You might have to prefixsudo
if you encounter permission issues. - Start the exporter using
./couchbase-exporter
followed by specific flags and their values.
Using the Releases
- Pick from the couchbase-exporter releases available here depending on whether you're a macOS or Linux user.
- Download the release binary and extract it.
- 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