Supported Versions
1.5 or higher

Introduction

CouchDB is an open-source document-oriented NoSQL database, implemented in Erlang. It uses multiple formats and protocols to store, transfer, and process data. CouchDB uses JSON to store data, JavaScript as its query language using MapReduce, and HTTP for an API.

Discovery with the agent

Collector Type : Agent

Category : Application Monitors

Application Name : CouchDB

Global Template Name : LINUX CouchDB Template

Parameters

NamesDefault ValueDescription
ProtocolhttpThe protocol to be used.
Host IP Address127.0.0.1The host on which CouchDB is running.
Port5984The port on which CouchDB is running.
User NameNAThe username of CouchDb.
PasswordNAThe password of CouchDB.

Note: All field attributes are mandatory, use default values wherever applicable.

Collected Metrics

Metric NameDisplay NameDescription
couchdb.databases_openCouchDB Open DatabasesNumber of open databases.
couchdb.cache_hitsCouchDB Cache HitsNumber of authentication cache hits.
couchdb.cache_missesCouchDB Cache MissesNumber of authentication cache misses.
couchdb.database_readsCouchDB Database ReadsNumber of times a document was read from a database.
couchdb.database_writesCouchDB Database WritesNumber of times a database was changed.
couchdb.open_fdsCouchDB Open FDsNumber of file descriptors CouchDB has open.
couchdb.request_timeCouchDB Request TimeLength of a request inside CouchDB without MochiWeb.
couchdb.httpd.requestsCouchDB HTTP RequestsNumber of HTTP requests.
couchdb.httpd.bulk_requestsCouchDB HTTP Bulk RequestsNumber of bulk requests.
couchdb.httpd.view_readsCouchDB HTTP View ReadsNumber of view reads.
couchdb.httpd.clients_requesting_changesCouchDB HTTP Clients Requesting ChangesNumber of clients for continuous _changes.
couchdb.httpd.temporary_view_readsCouchDB HTTP Temporary View ReadsNumber of temporary view reads.
couchdb.httpd_request_methods_deleteCouchDB DELETE RequestsNumber of HTTP DELETE requests.
couchdb.httpd_request_methods_headCouchDB HEAD RequestsNumber of HTTP HEAD requests.
couchdb.httpd_request_methods_postCouchDB POST RequestsNumber of HTTP POST requests.
couchdb.httpd_request_methods_putCouchDB PUT RequestsNumber of HTTP PUT requests.
couchdb.httpd_request_methods_getCouchDB GET RequestsNumber of HTTP GET requests.
couchdb.httpd_request_methods_copyCouchDB COPY RequestsNumber of HTTP COPY requests.
couchdb.httpd_status_codes.200CouchDB HTTP d200 StatusNumber of HTTP 200 OK responses.
couchdb.httpd_status_codes.201CouchDB HTTP d201 StatusNumber of HTTP 201 Created responses.
couchdb.httpd_status_codes.202CouchDB HTTP d202 StatusNumber of HTTP 202 Accepted responses.
couchdb.httpd_status_codes.301CouchDB HTTP d301 StatusNumber of HTTP 301 Moved Permanently responses.
couchdb.httpd_status_codes.304CouchDB HTTP d304 StatusNumber of HTTP 304 Not Modified responses.
couchdb.httpd_status_codes.400CouchDB HTTP d400 StatusNumber of HTTP 400 Bad Request responses.
couchdb.httpd_status_codes.401

CouchDB HTTP d401 StatusNumber of HTTP 401 Unauthorized responses.
couchdb.httpd_status_codes.403CouchDB HTTP d403 StatusNumber of HTTP 403 Forbidden responses.
couchdb.httpd_status_codes.404CouchDB HTTP d404 StatusNumber of HTTP 404 Not Found responses.
couchdb.httpd_status_codes.405CouchDB HTTP d405 StatusNumber of HTTP 405 Method Not Allowed responses.
couchdb.httpd_status_codes.409CouchDB HTTP d409 StatusNumber of HTTP 409 Conflict responses.
couchdb.httpd_status_codes.412CouchDB HTTP d412 StatusNumber of HTTP 412 Precondition Failed responses.
couchdb.httpd_status_codes.500CouchDB HTTP d500 StatusNumber of HTTP 500 Internal Server Error responses.
couchdb.doc_countCouchDB Doc CountNumber doc's in all dbs.
couchdb.disk_sizeCouchDB Disk SizeCouchDB-DiskSize.

Discovery using the gateway

The administrator can deploy a gateway to support CouchDB agentless monitoring. The gateway establishes a connection to the database using the management profile, collects metrics from the templates, and starts monitoring.

To monitor CouchDB:

  • Associate appropriate database credentials to the discovered database.
  • Assign one or more database-specific global templates on the device.

Choose one of the following management mechanisms to discover CouchDB servers and add them to your inventory:

  • WMI
  • SSH
  • SNMP
  • (Optional) Manually add a database server to the infrastructure inventory.
    1. Select Infrastructure.
    2. Click the Settings icon.
    3. Select Resource > Add.
    4. In the Add Device window, enter the required Device Type and any additional fields you want.
    5. Click Save.

View resource metrics

The gateway monitors the application using the assigned templates and displays the results in a graphical format. To view resource metrics, click the desired Database Resource Name > Resource Details > Metrics.

Prerequisites

  • Install gateway version 5.0.0 or higher.
  • Map a suitable gateway management profile to a resource.
  • Create credentials with type HTTP before assigning a template to a resource. The Port, Connection Time-out, and Is Secure values are not used to create credentials.

Troubleshooting

If the graphs are plotted incorrectly, verify that the resource is accessible and telnet connectivity:

ping <IPAddress>
telnet <IPAddress:Port>

Also, verify that you are using valid credentials for the resource.

Supported templates

Collector TypeTemplate Name
GatewayCouchDB1 - Statistics
CouchDB2 - Statistics
AgentLinux - Apache CouchDB Monitors

After selecting the templates, you can:

  • Assign CouchDB templates from Setup or at the device level.
  • Customize default configuration parameter values while assigning the template.

Resource template configuration parameters

Configuration ParameterDescription
Connection Time-outThe maximum time to connect to the database. The driver waits for the specified time before timing out due to connection failure. The default time is 15000 milliseconds(ms).
Service Transport TypeThe secure database end-point. The default type is In-secure. The connection is Secure when the data sent between the client and server is encrypted.
Management PortThe port number where the database is running. The connection is made to the specified port if you specify the port and the database name. The default port is 5984.
Application TypeThe application type value to identify the adapter. For example, COUCHDB. Do not change the default application type value.

Supported metrics

MetricMetric Display NameUnitDescription
couchdb1.active_tasks.replication.docs_readcouchdb1 active tasks replication docs readnumberDocs read while replicating
couchdb1.active_tasks.replication.docs_writtencouchdb1 active tasks replication docs writtennumberDocs written while replicating
couchdb1.active_tasks.replication.doc_write_failurescouchdb1 active tasks replication doc write failuresnumberFailed docs written while replicating
couchdb1.active_tasks.replication.missing_revisions_foundcouchdb1 active tasks replication missing revisions foundnumberNumber of missing revisions
couchdb1.active_tasks.replication.revisions_checkedcouchdb1 active tasks replication revisions checkednumberTotal revisions checked
couchdb1.auth_cache_hitscouchdb1 auth cache hitsnumberNumber of authentication cache hits
couchdb1.auth_cache_missescouchdb1 auth cache missesnumberNumber of authentication cache misses
couchdb1.database_readscouchdb1 database readsnumberNumber of times a document was read from a database
couchdb1.database_writescouchdb1 database writesnumberNumber of times a database was changed
couchdb1.httpd.bulk_requestscouchdb1 httpd bulk requestsnumberNumber of bulk requests
couchdb1.httpd.clients_requesting_changescouchdb1 httpd clients requesting changesnumberNumber of clients for continuous changes
couchdb1.httpd.requestscouchdb1 httpd requestsnumberNumber of HTTP requests
couchdb1.httpd.temporary_view_readscouchdb1 httpd temporary view readsnumberNumber of temporary view reads
couchdb1.httpd.view_readscouchdb1 httpd view readsnumberNumber of view reads
couchdb1.httpd_request_methods.COPYcouchdb1 httpd request methods COPYnumberNumber of HTTP COPY requests
couchdb1.httpd_request_methods.DELETEcouchdb1 httpd request methods DELETEnumberNumber of HTTP DELETE requests
couchdb1.httpd_request_methods.GETcouchdb1 httpd request methods GETnumberNumber of HTTP GET requests
couchdb1.httpd_request_methods.HEADcouchdb1 httpd request methods HEADnumberNumber of HTTP HEAD requests
couchdb1.httpd_request_methods.POSTcouchdb1 httpd request methods POSTnumberNumber of HTTP POST requests
couchdb1.httpd_request_methods.PUTcouchdb1 httpd request methods PUTnumberNumber of HTTP PUT requests
couchdb1.httpd_status_codes.200couchdb1 httpd status codes 200numberNumber of HTTP 200 OK responses
couchdb1.httpd_status_codes.201couchdb1 httpd status codes 201numberNumber of HTTP 201 Created responses
couchdb1.httpd_status_codes.202couchdb1 httpd status codes 202numberNumber of HTTP 202 Accepted responses
couchdb1.httpd_status_codes.301couchdb1 httpd status codes 301numberNumber of HTTP 301 Moved Permanently responses
couchdb1.httpd_status_codes.304couchdb1 httpd status codes 304numberNumber of HTTP 304 Not Modified responses
couchdb1.httpd_status_codes.400couchdb1 httpd status codes 400numberNumber of HTTP 400 Bad Request responses
couchdb1.httpd_status_codes.401couchdb1 httpd status codes 401numberNumber of HTTP 401 Unauthorized responses
couchdb1.httpd_status_codes.403couchdb1 httpd status codes 403numberNumber of HTTP 403 Forbidden responses
couchdb1.httpd_status_codes.404couchdb1 httpd status codes 404numberNumber of HTTP 404 Not Found responses
couchdb1.httpd_status_codes.405couchdb1 httpd status codes 405numberNumber of HTTP 405 Method Not Allowed responses
couchdb1.httpd_status_codes.409couchdb1 httpd status codes 409numberNumber of HTTP 409 Conflict responses
couchdb1.httpd_status_codes.412couchdb1 httpd status codes 412numberNumber of HTTP 412 Precondition Failed responses
couchdb1.httpd_status_codes.500couchdb1 httpd status codes 500numberNumber of HTTP 500 Internal Server Error responses
couchdb1.httpd_status_codes.501couchdb1 httpd status codes 501numberNumber of HTTP 501 Not Implemented responses
couchdb1.open_os_filescouchdb1 open os filesnumberNumber of file descriptors CouchDB has open
couchdb1.open_databasescouchdb1 open databasesnumberNumber of open databases
couchdb1.request_timecouchdb1 request timemillisecondLength of a request inside CouchDB without MochiWeb