Monitoring and collecting data from CouchDB

Apache CouchDB is open source database software that focuses on ease of use and having an architecture that “completely embraces the Web”. It has a document-oriented NoSQL database architecture and is implemented in the concurrency-oriented language Erlang; it uses JSON to store data, JavaScript as its query language using MapReduce, and HTTP for an API.

More information on: http://couchdb.apache.org/

How it works

CouchDB CoScale plugin lets you inspect how CouchDB performs. The plugin collects metrics like requests per second, request sizes, http requests methods, CouchDB database reads/writes and a multitude of other useful metrics. This plugins uses the CouchDB API, which is exposed by default and no additional configuration is required.

The minimal supported version of CouchDB is 1.5

Installation

The plugin needs to be installed together with a CoScale agent, instructions on how to install the CoScale agent can be found here. If you want to monitor CouchDB inside Docker containers using CoScale, check out the instructions here.

Configuration

Active checks

This plugin can be configured to query a view on your CouchDb. This active monitoring allows us to calculate the uptime of the service and the response time of the query.

A database, username, password, design id and view id should be provided.

Metrics

CouchDb

Name Unit Dimensions
CouchDb active check latency s  
CouchDb active check uptime %  

CouchDb / Database

Name Unit Dimensions
CouchDb couchdb database reads reads/s  
CouchDb couchdb database writes writes/s  
CouchDb couchdb open databases conn/s  

CouchDb / Hits and Misses

Name Unit Dimensions
CouchDb couchdb auth cache hits hits/s  
CouchDb couchdb auth cache misses misses/s  

CouchDb / Http Requests

Name Unit Dimensions
CouchDb couchdb request time s  
CouchDb httpd bulk requests req/s  
CouchDb httpd clients requesting changes req/s  
CouchDb httpd request methods COPY req/s  
CouchDb httpd request methods DELETE req/s  
CouchDb httpd request methods GET req/s  
CouchDb httpd request methods HEAD req/s  
CouchDb httpd request methods POST req/s  
CouchDb httpd request methods PUT req/s  
CouchDb httpd requests req/s  
CouchDb httpd status codes 200 req/s  
CouchDb httpd status codes 201 req/s  
CouchDb httpd status codes 202 req/s  
CouchDb httpd status codes 301 req/s  
CouchDb httpd status codes 304 req/s  
CouchDb httpd status codes 400 req/s  
CouchDb httpd status codes 401 req/s  
CouchDb httpd status codes 403 req/s  
CouchDb httpd status codes 404 req/s  
CouchDb httpd status codes 405 req/s  
CouchDb httpd status codes 409 req/s  
CouchDb httpd status codes 412 req/s  
CouchDb httpd status codes 500 req/s  
CouchDb httpd temporary view reads req/s  
CouchDb httpd view reads req/s  

CouchDb / OS files

Name Unit Dimensions
CouchDb couchdb open os files files/s  

Events

Name Description Attributes
COUCHDB service state watcher State watcher status