github.com/netdata/go.d.plugin@v0.58.1/modules/couchdb/integrations/couchdb.md (about)

     1  <!--startmeta
     2  custom_edit_url: "https://github.com/netdata/go.d.plugin/edit/master/modules/couchdb/README.md"
     3  meta_yaml: "https://github.com/netdata/go.d.plugin/edit/master/modules/couchdb/metadata.yaml"
     4  sidebar_label: "CouchDB"
     5  learn_status: "Published"
     6  learn_rel_path: "Data Collection/Databases"
     7  most_popular: False
     8  message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
     9  endmeta-->
    10  
    11  # CouchDB
    12  
    13  
    14  <img src="https://netdata.cloud/img/couchdb.svg" width="150"/>
    15  
    16  
    17  Plugin: go.d.plugin
    18  Module: couchdb
    19  
    20  <img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />
    21  
    22  ## Overview
    23  
    24  This collector monitors CouchDB servers.
    25  
    26  
    27  
    28  
    29  This collector is supported on all platforms.
    30  
    31  This collector supports collecting metrics from multiple instances of this integration, including remote instances.
    32  
    33  
    34  ### Default Behavior
    35  
    36  #### Auto-Detection
    37  
    38  This integration doesn't support auto-detection.
    39  
    40  #### Limits
    41  
    42  The default configuration for this integration does not impose any limits on data collection.
    43  
    44  #### Performance Impact
    45  
    46  The default configuration for this integration is not expected to impose a significant performance impact on the system.
    47  
    48  
    49  ## Metrics
    50  
    51  Metrics grouped by *scope*.
    52  
    53  The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
    54  
    55  
    56  
    57  ### Per CouchDB instance
    58  
    59  These metrics refer to the entire monitored application.
    60  
    61  This scope has no labels.
    62  
    63  Metrics:
    64  
    65  | Metric | Dimensions | Unit |
    66  |:------|:----------|:----|
    67  | couchdb.activity | db_reads, db_writes, view_reads | requests/s |
    68  | couchdb.request_methods | copy, delete, get, head, options, post, put | requests/s |
    69  | couchdb.response_codes | 200, 201, 202, 204, 206, 301, 302, 304, 400, 401, 403, 404, 406, 409, 412, 413, 414, 415, 416, 417, 500, 501, 503 | responses/s |
    70  | couchdb.response_code_classes | 2xx, 3xx, 4xx, 5xx | responses/s |
    71  | couchdb.active_tasks | indexer, db_compaction, replication, view_compaction | tasks |
    72  | couchdb.replicator_jobs | running, pending, crashed, internal_replication_jobs | jobs |
    73  | couchdb.open_files | files | files |
    74  | couchdb.erlang_vm_memory | atom, binaries, code, ets, procs, other | B |
    75  | couchdb.proccounts | os_procs, erl_procs | processes |
    76  | couchdb.peakmsgqueue | peak_size | messages |
    77  | couchdb.reductions | reductions | reductions |
    78  | couchdb.db_sizes_file | a dimension per database | KiB |
    79  | couchdb.db_sizes_external | a dimension per database | KiB |
    80  | couchdb.db_sizes_active | a dimension per database | KiB |
    81  | couchdb.db_doc_count | a dimension per database | docs |
    82  | couchdb.db_doc_del_count | a dimension per database | docs |
    83  
    84  
    85  
    86  ## Alerts
    87  
    88  There are no alerts configured by default for this integration.
    89  
    90  
    91  ## Setup
    92  
    93  ### Prerequisites
    94  
    95  No action required.
    96  
    97  ### Configuration
    98  
    99  #### File
   100  
   101  The configuration file name for this integration is `go.d/couchdb.conf`.
   102  
   103  
   104  You can edit the configuration file using the `edit-config` script from the
   105  Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#the-netdata-config-directory).
   106  
   107  ```bash
   108  cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
   109  sudo ./edit-config go.d/couchdb.conf
   110  ```
   111  #### Options
   112  
   113  The following options can be defined globally: update_every, autodetection_retry.
   114  
   115  
   116  <details><summary>Config</summary>
   117  
   118  | Name | Description | Default | Required |
   119  |:----|:-----------|:-------|:--------:|
   120  | update_every | Data collection frequency. | 1 | no |
   121  | autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no |
   122  | url | Server URL. | http://127.0.0.1:5984 | yes |
   123  | node | CouchDB node name. Same as -name vm.args argument. | _local | no |
   124  | databases | List of database names for which db-specific stats should be displayed, space separated. |  | no |
   125  | username | Username for basic HTTP authentication. |  | no |
   126  | password | Password for basic HTTP authentication. |  | no |
   127  | proxy_url | Proxy URL. |  | no |
   128  | proxy_username | Username for proxy basic HTTP authentication. |  | no |
   129  | proxy_password | Password for proxy basic HTTP authentication. |  | no |
   130  | timeout | HTTP request timeout. | 2 | no |
   131  | method | HTTP request method. | GET | no |
   132  | body | HTTP request body. |  | no |
   133  | headers | HTTP request headers. |  | no |
   134  | not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no |
   135  | tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no |
   136  | tls_ca | Certification authority that the client uses when verifying the server's certificates. |  | no |
   137  | tls_cert | Client tls certificate. |  | no |
   138  | tls_key | Client tls key. |  | no |
   139  
   140  </details>
   141  
   142  #### Examples
   143  
   144  ##### Basic
   145  
   146  An example configuration.
   147  
   148  <details><summary>Config</summary>
   149  
   150  ```yaml
   151  jobs:
   152    - name: local
   153      url: http://127.0.0.1:5984
   154  
   155  ```
   156  </details>
   157  
   158  ##### Basic HTTP auth
   159  
   160  Local server with basic HTTP authentication, node name and multiple databases defined. Make sure to match the node name with the `NODENAME` value in your CouchDB's `etc/vm.args` file.  Typically, this is of the form `couchdb@fully.qualified.domain.name` in a cluster, or `couchdb@127.0.0.1` for a single-node server.
   161  
   162  
   163  <details><summary>Config</summary>
   164  
   165  ```yaml
   166  jobs:
   167    - name: local
   168      url: http://127.0.0.1:5984
   169      node: couchdb@127.0.0.1
   170      databases: my-db other-db
   171      username: foo
   172      password: bar
   173  
   174  ```
   175  </details>
   176  
   177  ##### Multi-instance
   178  
   179  > **Note**: When you define multiple jobs, their names must be unique.
   180  
   181  Collecting metrics from local and remote instances.
   182  
   183  
   184  <details><summary>Config</summary>
   185  
   186  ```yaml
   187  jobs:
   188    - name: local
   189      url: http://127.0.0.1:5984
   190  
   191    - name: remote
   192      url: http://203.0.113.0:5984
   193  
   194  ```
   195  </details>
   196  
   197  
   198  
   199  ## Troubleshooting
   200  
   201  ### Debug Mode
   202  
   203  To troubleshoot issues with the `couchdb` collector, run the `go.d.plugin` with the debug option enabled. The output
   204  should give you clues as to why the collector isn't working.
   205  
   206  - Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on
   207    your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.
   208  
   209    ```bash
   210    cd /usr/libexec/netdata/plugins.d/
   211    ```
   212  
   213  - Switch to the `netdata` user.
   214  
   215    ```bash
   216    sudo -u netdata -s
   217    ```
   218  
   219  - Run the `go.d.plugin` to debug the collector:
   220  
   221    ```bash
   222    ./go.d.plugin -d -m couchdb
   223    ```
   224  
   225