Introduction

Couchbase Server, originally known as Membase, is an open source, distributed NoSQL document-oriented database that is optimized for interactive applications. These applications must service many concurrent users; creating, storing, retrieving, aggregating, manipulating and presenting data. In support of these kinds of application needs, Couchbase is designed to provide easy-to-scale key-value or document access with low latency and high sustained throughput. It is designed to be clustered from a single machine to very large scale deployments.

Couchbase Server provides on-the-wire client protocol compatibility, but is designed to add disk persistence, data replication, live cluster reconfiguration, re balancing and multi tenancy with data partitioning.

Discovery with the agent

Collector Type: Agent

Category: Application Monitors

Application Name: Couchbase

Global Template Name: Linux - Couchbase Monitors

Parameters

NameDefault ValueDescription
Couchbase IPAddress127.0.0.1IP Address on which the couchbase server listens.
Couchbase Port11211Couchbase server listener port.

Collected Metrics

Metric NameDisplay NameDescription
couchbase.avg_item_sizeCouchbase-AvgItemSizeAverage size of an item.
couchbase.ratio_cache_missCouchbase-CacheMissRatioPercentage number of items fetched from disk against total requests.
couchbase.rate_of_cas_badvalCouchbase-CASBadvalPersecNumber of CAS operations per second that failed to modify a value due to a bad CAS id.
couchbase.rate_of_cas_hitsCouchbase-CASHitsPersecNumber of successful CAS operations per second.
couchbase.rate_of_cas_missesCouchbase-CASMissesPersecNumber of CAS operations per second against missing keys.
couchbase.rate_of_connectionsCouchbase-ConnectionsPersecAverage number of connections per second.
couchbase.current_connectionsCouchbase-CurrentConnectionsNumber of open connections.
couchbase.current_itemsCouchbase-CurrentItemsCurrent number of items stored by the server.
couchbase.rate_of_deletesCouchbase-DeletesPersecNumber of successful deletions per second.
couchbase.rate_of_disk_createsCouchbase-DiskCreatesPersecTotal number of create requests made on node per second.
couchbase.disk.queue_itemsCouchbase-DiskQueueItemsThe number of items waiting to be written to disk for this bucket for this state.
couchbase.rate_of_disk_readsCouchbase-DiskReadsPersecNumber of items fetched from disk.
couchbase.rate_of_disk_updatesCouchbase-DiskUpdatesPersecTotal number of update requests made on node per second.
couchbase.rate_of_deletesCouchbase-DiskWriteQueueNumber of items queued for saving to disk.
couchbase.rate_of_evictionsCouchbase-EvictionsPersecNumber of valid items removed per second, from cache to free memory for new items.
couchbase.percent_fillCouchbase-FillPercentPercentage of bytes used by this server.
couchbase.percent_gethitCouchbase-GetHitPercentPercentage number of keys that have been requested and found. This value must be more for an optimal performance..
couchbase.rate_of_getsCouchbase-GetsPersecCumulative number of get requests for node per second.
couchbase.mem_high_watermarkCouchbase-HighWatermarkHigh water mark for auto-evictions.
couchbase.rate_of_hitsCouchbase-HitsPersecNumber of keys that have been requested and found per second.
couchbase.mem_low_watermarkCouchbase-LowWatermarkLow water mark for auto-evictions.
couchbase.memory_usedCouchbase-MemoryUsedTotal memory used by the server engine.
couchbase.rate_of_missesCouchbase-MissesPersecNumber of items that have been requested but not found per second.
couchbase.rate_of_opsCouchbase-OpsPersecNumber of total operations for node per second.
couchbase.pending_queue_rate_of_drainCouchbase-PendingQueueDrainRateThe number of items actually written to disk from the disk queue in the pending state.
couchbase.pending_queue_rate_of_fillCouchbase-PendingQueueFillRateThe number of items per second being added to the disk queue in the pending state.
couchbase.rate_of_bytes_readCouchbase-ReadBytesPersecAverage data read by this server in a second from the network in MB.
couchbase.ratio_of_resident_itemCouchbase-ResidentItemRatioPercentage of items that are resident (in RAM).
couchbase.rate_of_setsCouchbase-SetsPersecCumulative number of set requests for node per second.
couchbase.rate_of_temp_oom_errorsCouchbase-TempOOMPersecNumber of temporary out-of-memory errors sent to clients per second.
couchbase.uptimeCouchbase-UptimeNumber of minutes this server has been running.
couchbase.vbucket_rate_of_ejectionsCouchbase-vBucketEjectionsPersecNumber of items ejected per second within the vBuckets of the specified state.
couchbase.vbucket_itemsCouchbase-vBucketItemsNumber of items within the vBucket of the specified state.
couchbase.vbucket_ram_metadataCouchbase-vBucketMetaDataInRAMSize of item metadata within the vBuckets of the specified state that are resident in RAM.
couchbase.vbucket_rate_of_newitemsCouchbase-vBucketNewItemsPersecNumber of new items created in vBuckets within the specified state.
Note: New items per second is not valid for the Pending state.
couchbase.vbucketsCouchbase-vBucketsThe number of vBuckets within the specified state.
couchbase.vbucket_ram_userdataCouchbase-vBucketUserDataInRAMSize of user data within vBuckets of the specified state that are resident in RAM.
couchbase.rate_of_bytes_writtenCouchbase-WrittenBytesPersecAverage data written by this server in a second from the network in MB.

Discovery using the gateway

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

To monitor Couchbase:

  • 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 Couchbase 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 specify additional fields you want to include.
    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 later.
  • Database and port(8091) are reachable from the gateway.
  • Map a suitable gateway management profile to a resource.
  • Create credentials with type Database 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

  • Couchbase - Bucket
  • Couchbase - Cluster
  • Couchbase - Node
  • Couchbase - Query

After selecting the templates, you can:

  • Assign Couchbase 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-outMaximum database connect time. 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.
Service 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 ports are8091 and 8093.
Application TypeThe application type value to identify the adapter. For example, COUCHBASE.

Do not change the default application type value.

Supported metrics

MetricMetric Display NameUnitDescription
couchbase.hdd.freeCouchbase Hdd FreebyteFree hard disk space
couchbase.hdd.usedCouchbase Hdd UsedbyteUsed hard disk space
couchbase.hdd.totalCouchbase Hdd TotalbyteTotal hard disk space
couchbase.hdd.quota_totalCouchbase Hdd Quota TotalbyteHard disk quota
couchbase.hdd.used_by_dataCouchbase Hdd Used By DatabyteHard disk used for data
couchbase.ram.usedCouchbase Ram UsedbyteRAM in use
couchbase.hdd.freeCouchbase Hdd FreebyteFree hard disk space
couchbase.ram.totalCouchbase Ram TotalbyteTotal RAM
couchbase.ram.quota_totalCouchbase Ram Quota TotalbyteRAM quota
couchbase.ram.used_by_dataCouchbase Ram Used By DatabyteRAM used for data
couchbase.by_bucket.avg_bg_wait_timeCouchbase By Bucket Avg Bg Wait TimesecondsAverage background wait time
couchbase.by_bucket.avg_disk_commit_timeCouchbase By Bucket Avg Disk Commit TimesecondsAverage disk commit time
couchbase.by_bucket.avg_disk_update_timeCouchbase By Bucket Avg Disk Update TimemicrosecondAverage disk update time
couchbase.by_bucket.bg_wait_totalCouchbase By Bucket Bg Wait TotalbyteBackground wait total
couchbase.by_bucket.bytes_readCouchbase By Bucket .bytes_readbyteBytes read
couchbase.by_bucket.bytes_writtenCouchbase By Bucket .bytes_writtenbyteBytes written
couchbase.by_bucket.cas_badvalCouchbase By Bucket Cas BadvalcountCompare and Swap bad values
couchbase.by_bucket.cas_hitsCouchbase By Bucket Cas HitshitCompare and Swap hits
couchbase.by_bucket.cas_missesCouchbase By Bucket Cas MissesmissCompare and Swap misses
couchbase.by_bucket.cmd_getCouchbase By Bucket Cmd GetgetCompare and Swap gets
couchbase.by_bucket.cmd_setCouchbase By Bucket Cmd SetsetCompare and swap sets
couchbase.by_bucket.couch_docs_actual_disk_sizeCouchbase By Bucket Couch Docs Actual Disk SizebyteCouch docs total size on disk in bytes