AppDynamics Extension for CouchDB - Monitoring

CouchDB Monitoring Extension

 

This extension works only with the standalone machine agent.

 

Use Case

 

Apache CouchDB, commonly referred to as CouchDB, is an open source database that focuses on ease of use and on being "a database that completely embraces the web." It is a NoSQL database that uses JSON to store data, uses JavaScript as its query language using MapReduce, and uses HTTP for an API. The CouchDB monitoring extension gathers metrics for the specified hosts that have couchDB installed.

 

Use Case

 

  • Before the extension is installed, the prerequisites mentioned here need to be met. Please do not proceed with the extension installation if the specified prerequisites are not met.
  •  

    Installation

    1. Download and unzip the CouchDBMonitor zip file into the <machineagent install dir>/monitors directory.
    2. Edit the file config.yml located at <MachineAgent_Dir>/monitors/CouchDBMonitor The metricPrefix of the extension has to be configured as specified here. Please make sure that the right metricPrefix is chosen based on your machine agent deployment, otherwise this could lead to metrics not being visible in the controller.
    3. Open <machineagent install dir>/monitors/CouchDBMonitor/conf/HostsConfig.xml and configure the CouchDB hosts. 

      The host id, port, username, and password need to be configured for each host. Here is a sample configuration for one host:

          <Host id="localhost" port="5984" username="username" password="password"/>          
      
    4. Restart the machine agent.
    5. In the AppDynamics Metric Browser, look for: Application Infrastructure Performance | <Tier> | Custom Metrics | CouchDB

     

    Metrics

     

    Metric Category: couchdb

     

    Metric NameDescription
    database_writesNumber of times a database was changed
    database_readsNumber of times a document was read from a database
    open_databasesNumber of open databases
    open_os_filesNumber of file descriptors CouchDB has open
    request_timeLength of a request (ms) inside CouchDB

     

    Metric Category: httpd

     

    Metric NameDescription
    bulk_requestsNumber of bulk requests
    requestsNumber of HTTP requests
    temporary_view_readsNumber of temporary view reads
    view_readsNumber of view reads

     

    Metric Category: httpd_request_methods

     

    Metric NameDescription
    COPYNumber of HTTP COPY requests
    DELETENumber of HTTP DELETE requests
    GETNumber of HTTP GET requests
    HEADNumber of HTTP HEAD requests
    MOVENumber of HTTP MOVE requests
    POSTNumber of HTTP POST requests
    PUTNumber of HTTP PUT requests

     

    Metric Category: httpd_status_codes

     

    Metric NameDescription
    201Number of HTTP 200 OK responses
    201Number of HTTP 201 Created responses
    202Number of HTTP 202 Accepted responses
    301Number of HTTP 301 Moved Permanently responses
    304Number of HTTP 304 Not Modified responses
    400Number of HTTP 400 Bad Request responses
    401Number of HTTP 401 Unauthorized responses
    403Number of HTTP 403 Forbidden responses
    404Number of HTTP 404 Not Found responses
    405Number of HTTP 405 Method Not Allowed responses
    409Number of HTTP 409 Conflict responses
    412Number of HTTP 412 Precondition Failed responses
    500Number of HTTP 500 Internal Server Error responses

     

    Troubleshooting

     

  • Please look at the troubleshooting document and make sure that everything is followed correctly.
  •  

    Custom Dashboard

     

     

    Contributing

     

    Always feel free to fork and contribute any changes directly via GitHub.

     

    Support

     

    For any support questions, please contact help@appdynamics.com.

     

    Version:

    1.1.1

    Compatibility:

    3.7

    Last Update:

    02/20/2018

    CouchDB Versions Tested on:

    1.6.0

     

     Release Notes:

    1.0.1 Fixed code for Basic Authentication and Mavenized the extension

    1.1.1 Updated Licenses