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