Monitor Type: collectd/couchbase
(Source)
Accepts Endpoints: Yes
Multiple Instances Allowed: Yes
This is a Smart Agent monitor for Couchbase that uses the couchbase collectd Python plugin to collect metrics from Couchbase server instances.
For general reference on how to monitor Couchbase, see Couchbase Monitoring and Monitor using the REST API.
This plugin emits some metrics about the bucket's performance across the cluster, and some metrics about the bucket's performance per node.
Metrics beginning with gauge.bucket.basic.*
and
gauge.bucket.quota.*
are reported once per cluster. All other
bucket metrics (gauge.bucket.*
) are reported by every node that hosts
that bucket. In order to analyze bucket performance for the entire bucket,
apply functions like Sum or Mean to group node-level metrics together by
bucket.
Sample YAML configuration with custom query:
monitors:
- type: collectd/couchbase
host: 127.0.0.1
port: 8091
collectTarget: "NODE"
clusterName: "my-cluster"
username: "user"
password: "password"
To activate this monitor in the Smart Agent, add the following to your agent config:
monitors: # All monitor config goes under this key
- type: collectd/couchbase
... # Additional config
For a list of monitor options that are common to all monitors, see Common Configuration.
Config option | Required | Type | Description |
---|---|---|---|
pythonBinary |
no | string |
Path to a python binary that should be used to execute the Python code. If not set, a built-in runtime will be used. Can include arguments to the binary as well. |
host |
yes | string |
|
port |
yes | integer |
|
collectTarget |
yes | string |
Define what this Module block will monitor: "NODE", for a Couchbase node, or "BUCKET" for a Couchbase bucket. |
collectBucket |
no | string |
If CollectTarget is "BUCKET", CollectBucket specifies the name of the bucket that this will monitor. |
clusterName |
no | string |
Name of this Couchbase cluster. (default:"default") |
collectMode |
no | string |
Change to "detailed" to collect all available metrics from Couchbase stats API. Defaults to "default", collecting a curated set that works well with SignalFx. |
username |
no | string |
Username to authenticate with |
password |
no | string |
Password to authenticate with |
These are the metrics available for this monitor. Metrics that are categorized as container/host (default) are in bold and italics in the list below.
All of the following metrics are part of the bucket
metric group. All of
the non-default metrics below can be turned on by adding bucket
to the
monitor config option extraGroups
:
gauge.bucket.basic.dataUsed
(gauge)
Size of user data within buckets of the specified state that are resident in RAM (%)gauge.bucket.basic.diskFetches
(gauge)
Number of disk fetchesgauge.bucket.basic.diskUsed
(gauge)
Amount of disk used (bytes)gauge.bucket.basic.itemCount
(gauge)
Number of items associated with the bucketgauge.bucket.basic.memUsed
(gauge)
Amount of memory used by the bucket (bytes)gauge.bucket.basic.opsPerSec
(gauge)
Number of operations per secondgauge.bucket.basic.quotaPercentUsed
(gauge)
Percentage of RAM used (for active objects) against the configure bucket size (%)gauge.bucket.op.cmd_get
(gauge)
requested objectsgauge.bucket.op.couch_docs_fragmentation
(gauge)
Percent fragmentation of documents in this bucket.gauge.bucket.op.couch_views_ops
(gauge)
view operations per secondgauge.bucket.op.curr_connections
(gauge)
open connection per bucketgauge.bucket.op.curr_items
(gauge)
total number of stored items per bucketgauge.bucket.op.disk_write_queue
(gauge)
number of items waiting to be written to diskgauge.bucket.op.ep_bg_fetched
(gauge)
number of items fetched from diskgauge.bucket.op.ep_cache_miss_rate
(gauge)
ratio of requested objects found in cache vs retrieved from diskgauge.bucket.op.ep_diskqueue_drain
(gauge)
items removed from disk queuegauge.bucket.op.ep_diskqueue_fill
(gauge)
enqueued items on disk queuegauge.bucket.op.ep_mem_high_wat
(gauge)
memory high water mark - point at which active objects begin to be ejected from bucketgauge.bucket.op.ep_mem_low_wat
(gauge)
memory low water markgauge.bucket.op.ep_num_value_ejects
(gauge)
number of objects ejected out of the bucketgauge.bucket.op.ep_oom_errors
(gauge)
request rejected - bucket is at quota, panicgauge.bucket.op.ep_queue_size
(gauge)
number of items queued for storagegauge.bucket.op.ep_tmp_oom_errors
(gauge)
request rejected - couchbase is making room by ejecting objects, try again latergauge.bucket.op.mem_used
(gauge)
memory usedgauge.bucket.op.ops
(gauge)
total of gets, sets, increment and decrementgauge.bucket.op.vb_active_resident_items_ratio
(gauge)
ratio of items kept in memory vs stored on diskgauge.bucket.quota.ram
(gauge)
Amount of RAM used by the bucket (bytes).gauge.bucket.quota.rawRAM
(gauge)
Amount of raw RAM used by the bucket (bytes).
All of the following metrics are part of the nodes
metric group. All of
the non-default metrics below can be turned on by adding nodes
to the
monitor config option extraGroups
:
gauge.nodes.cmd_get
(gauge)
Number of get commandsgauge.nodes.couch_docs_actual_disk_size
(gauge)
Amount of disk space used by Couch docs.(bytes)gauge.nodes.couch_docs_data_size
(gauge)
Data size of couch documents associated with a node (bytes)gauge.nodes.couch_spatial_data_size
(gauge)
Size of object data for spatial views (bytes)gauge.nodes.couch_spatial_disk_size
(gauge)
Amount of disk space occupied by spatial views, in bytes.gauge.nodes.couch_views_actual_disk_size
(gauge)
Amount of disk space occupied by Couch views (bytes).gauge.nodes.couch_views_data_size
(gauge)
Size of object data for Couch views (bytes).gauge.nodes.curr_items
(gauge)
Number of current itemsgauge.nodes.curr_items_tot
(gauge)
Total number of items associated with nodegauge.nodes.ep_bg_fetched
(gauge)
Number of disk fetches performed since server was startedgauge.nodes.get_hits
(gauge)
Number of get hitsgauge.nodes.mcdMemoryAllocated
(gauge)
Amount of memcached memory allocated (bytes).gauge.nodes.mcdMemoryReserved
(gauge)
Amount of memcached memory reserved (bytes).gauge.nodes.mem_used
(gauge)
Memory used by the node (bytes)gauge.nodes.memoryFree
(gauge)
Amount of memory free for the node (bytes).gauge.nodes.memoryTotal
(gauge)
Total memory available to the node (bytes).gauge.nodes.ops
(gauge)
Number of operations performed on Couchbasegauge.nodes.system.cpu_utilization_rate
(gauge)
The CPU utilization rate (%)gauge.nodes.system.mem_free
(gauge)
Free memory available to the node (bytes)gauge.nodes.system.mem_total
(gauge)
Total memory available to the node (bytes)gauge.nodes.system.swap_total
(gauge)
Total swap size allocated (bytes)gauge.nodes.system.swap_used
(gauge)
Amount of swap space used (bytes)gauge.nodes.vb_replica_curr_items
(gauge)
Number of items/documents that are replicas
All of the following metrics are part of the storage
metric group. All of
the non-default metrics below can be turned on by adding storage
to the
monitor config option extraGroups
:
gauge.storage.hdd.free
(gauge)
Free harddrive space in the cluster (bytes)gauge.storage.hdd.quotaTotal
(gauge)
Harddrive quota total for the cluster (bytes)gauge.storage.hdd.total
(gauge)
Total harddrive space available to cluster (bytes)gauge.storage.hdd.used
(gauge)
Harddrive space used by the cluster (bytes)gauge.storage.hdd.usedByData
(gauge)
Harddrive use by the data in the cluster(bytes)gauge.storage.ram.quotaTotal
(gauge)
Ram quota total for the cluster (bytes)gauge.storage.ram.quotaTotalPerNode
(gauge)
Ram quota total per node (bytes)gauge.storage.ram.quotaUsed
(gauge)
Ram quota used by the cluster (bytes)gauge.storage.ram.quotaUsedPerNode
(gauge)
Ram quota used per node (bytes)gauge.storage.ram.total
(gauge)
Total ram available to cluster (bytes)gauge.storage.ram.used
(gauge)
Ram used by the cluster (bytes)gauge.storage.ram.usedByData
(gauge)
Ram used by the data in the cluster (bytes)
The following information applies to the agent version 4.7.0+ that has
enableBuiltInFiltering: true
set on the top level of the agent config.
To emit metrics that are not default, you can add those metrics in the
generic monitor-level extraMetrics
config option. Metrics that are derived
from specific configuration options that do not appear in the above list of
metrics do not need to be added to extraMetrics
.
To see a list of metrics that will be emitted you can run agent-status monitors
after configuring this monitor in a running agent instance.
The following information only applies to agent version older than 4.7.0. If
you have a newer agent and have set enableBuiltInFiltering: true
at the top
level of your agent config, see the section above. See upgrade instructions in
Old-style whitelist filtering.
If you have a reference to the whitelist.json
in your agent's top-level
metricsToExclude
config option, and you want to emit metrics that are not in
that whitelist, then you need to add an item to the top-level
metricsToInclude
config option to override that whitelist (see Inclusion
filtering. Or you can just
copy the whitelist.json, modify it, and reference that in metricsToExclude
.