collectd couchdb Plugin
An couchdb collectd plugin which users can use to send metrics from couchdb instances to SignalFx
- Checkout this repository somewhere on your system accessible by collectd. The suggested location is
- Install the Python requirements with sudo
pip install -r requirements.txt
- Configure the plugin (see below)
- Restart collectd
- collectd 4.9 or later (for the Python plugin)
- Python 2.6 or later
- couchdb 2.0.0 or later
The following are required configuration keys:
- Host - Required. Hostname or IP address of the CouchDB member
- Port - Required. The port of the CouchDB member
- Node - Required. The name of the node in the cluster
Optional configurations keys include:
- Interval - Interval between metric calls. Default is 10s
- Username - Username required for authentication of CouchDB.
- Pasword - Password required for authentication of CouchDB.
- Node - Name of the CouchDB node in the cluster.
- LogLevel - Specifies the level of logging.
- Cluster - Name of the Cluster.
- EnhancedMetrics - Flag to enable enhanced metrics. Default is False.
- IncludeMetric - Metrics emitted by
_statsendpoint can be included individually.
- ExcludeMetric - Metrics emitted by
_statsendpoint can be excluded individually.
- Dimension - Add extra dimensions to your metrics
Specify path to keyfile and certificate if certificate based authentication of clients is enabled on your couchdb server
- ssl_keyfile - path to file
- ssl_certificate - path to file
Provide a custom file that lists trusted CA certificates, required when keyfile and certificate are provided
- ssl_ca_certs - path to file
Note that multiple couchdb members can be configured in the same file.
LoadPlugin python <Plugin python> ModulePath "/usr/share/collectd/collectd-couchdb" Import couchdb_plugin <Module couchdb_plugin> Host "127.0.0.1" Port "15984" Interval 10 LogLevel "debug" Cluster "Dev" Username "admin" Password "admin" EnhancedMetrics "True" IncludeMetric "counter.couchdb.rexi.buffered" ExcludeMetric "counter.couchdb.couchdb.httpd.temporary_view_reads" Node "couchdb@couchdb1" </Module> <Module couchdb_plugin> Host "127.0.0.1" Port "25984" Interval 20 LogLevel "debug" Cluster "Dev" Username "admin" Password "admin" Node "couchdb@couchdb2" </Module> </Plugin>