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
Name | Default Value | Description |
---|---|---|
Couchbase IPAddress | 127.0.0.1 | IP Address on which the couchbase server listens. |
Couchbase Port | 11211 | Couchbase server listener port. |
Collected Metrics
Metric Name | Display Name | Description |
---|---|---|
couchbase.avg_item_size | Couchbase-AvgItemSize | Average size of an item. |
couchbase.ratio_cache_miss | Couchbase-CacheMissRatio | Percentage number of items fetched from disk against total requests. |
couchbase.rate_of_cas_badval | Couchbase-CASBadvalPersec | Number of CAS operations per second that failed to modify a value due to a bad CAS id. |
couchbase.rate_of_cas_hits | Couchbase-CASHitsPersec | Number of successful CAS operations per second. |
couchbase.rate_of_cas_misses | Couchbase-CASMissesPersec | Number of CAS operations per second against missing keys. |
couchbase.rate_of_connections | Couchbase-ConnectionsPersec | Average number of connections per second. |
couchbase.current_connections | Couchbase-CurrentConnections | Number of open connections. |
couchbase.current_items | Couchbase-CurrentItems | Current number of items stored by the server. |
couchbase.rate_of_deletes | Couchbase-DeletesPersec | Number of successful deletions per second. |
couchbase.rate_of_disk_creates | Couchbase-DiskCreatesPersec | Total number of create requests made on node per second. |
couchbase.disk.queue_items | Couchbase-DiskQueueItems | The number of items waiting to be written to disk for this bucket for this state. |
couchbase.rate_of_disk_reads | Couchbase-DiskReadsPersec | Number of items fetched from disk. |
couchbase.rate_of_disk_updates | Couchbase-DiskUpdatesPersec | Total number of update requests made on node per second. |
couchbase.rate_of_deletes | Couchbase-DiskWriteQueue | Number of items queued for saving to disk. |
couchbase.rate_of_evictions | Couchbase-EvictionsPersec | Number of valid items removed per second, from cache to free memory for new items. |
couchbase.percent_fill | Couchbase-FillPercent | Percentage of bytes used by this server. |
couchbase.percent_gethit | Couchbase-GetHitPercent | Percentage number of keys that have been requested and found. This value must be more for an optimal performance.. |
couchbase.rate_of_gets | Couchbase-GetsPersec | Cumulative number of get requests for node per second. |
couchbase.mem_high_watermark | Couchbase-HighWatermark | High water mark for auto-evictions. |
couchbase.rate_of_hits | Couchbase-HitsPersec | Number of keys that have been requested and found per second. |
couchbase.mem_low_watermark | Couchbase-LowWatermark | Low water mark for auto-evictions. |
couchbase.memory_used | Couchbase-MemoryUsed | Total memory used by the server engine. |
couchbase.rate_of_misses | Couchbase-MissesPersec | Number of items that have been requested but not found per second. |
couchbase.rate_of_ops | Couchbase-OpsPersec | Number of total operations for node per second. |
couchbase.pending_queue_rate_of_drain | Couchbase-PendingQueueDrainRate | The number of items actually written to disk from the disk queue in the pending state. |
couchbase.pending_queue_rate_of_fill | Couchbase-PendingQueueFillRate | The number of items per second being added to the disk queue in the pending state. |
couchbase.rate_of_bytes_read | Couchbase-ReadBytesPersec | Average data read by this server in a second from the network in MB. |
couchbase.ratio_of_resident_item | Couchbase-ResidentItemRatio | Percentage of items that are resident (in RAM). |
couchbase.rate_of_sets | Couchbase-SetsPersec | Cumulative number of set requests for node per second. |
couchbase.rate_of_temp_oom_errors | Couchbase-TempOOMPersec | Number of temporary out-of-memory errors sent to clients per second. |
couchbase.uptime | Couchbase-Uptime | Number of minutes this server has been running. |
couchbase.vbucket_rate_of_ejections | Couchbase-vBucketEjectionsPersec | Number of items ejected per second within the vBuckets of the specified state. |
couchbase.vbucket_items | Couchbase-vBucketItems | Number of items within the vBucket of the specified state. |
couchbase.vbucket_ram_metadata | Couchbase-vBucketMetaDataInRAM | Size of item metadata within the vBuckets of the specified state that are resident in RAM. |
couchbase.vbucket_rate_of_newitems | Couchbase-vBucketNewItemsPersec | Number of new items created in vBuckets within the specified state. Note: New items per second is not valid for the Pending state. |
couchbase.vbuckets | Couchbase-vBuckets | The number of vBuckets within the specified state. |
couchbase.vbucket_ram_userdata | Couchbase-vBucketUserDataInRAM | Size of user data within vBuckets of the specified state that are resident in RAM. |
couchbase.rate_of_bytes_written | Couchbase-WrittenBytesPersec | Average 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:
- Select Infrastructure.
- Click the Settings icon.
- Select Resource > Add.
- In the Add Device window, enter the required Device Type and specify additional fields you want to include.
- 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 Parameter | Description |
---|---|
Connection Time-out | Maximum 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 Type | The 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 Port | The 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 Type | The application type value to identify the adapter. For example, COUCHBASE. Do not change the default application type value. |
Supported metrics
Metric | Metric Display Name | Unit | Description |
---|---|---|---|
couchbase.hdd.free | Couchbase Hdd Free | byte | Free hard disk space |
couchbase.hdd.used | Couchbase Hdd Used | byte | Used hard disk space |
couchbase.hdd.total | Couchbase Hdd Total | byte | Total hard disk space |
couchbase.hdd.quota_total | Couchbase Hdd Quota Total | byte | Hard disk quota |
couchbase.hdd.used_by_data | Couchbase Hdd Used By Data | byte | Hard disk used for data |
couchbase.ram.used | Couchbase Ram Used | byte | RAM in use |
couchbase.hdd.free | Couchbase Hdd Free | byte | Free hard disk space |
couchbase.ram.total | Couchbase Ram Total | byte | Total RAM |
couchbase.ram.quota_total | Couchbase Ram Quota Total | byte | RAM quota |
couchbase.ram.used_by_data | Couchbase Ram Used By Data | byte | RAM used for data |
couchbase.by_bucket.avg_bg_wait_time | Couchbase By Bucket Avg Bg Wait Time | seconds | Average background wait time |
couchbase.by_bucket.avg_disk_commit_time | Couchbase By Bucket Avg Disk Commit Time | seconds | Average disk commit time |
couchbase.by_bucket.avg_disk_update_time | Couchbase By Bucket Avg Disk Update Time | microsecond | Average disk update time |
couchbase.by_bucket.bg_wait_total | Couchbase By Bucket Bg Wait Total | byte | Background wait total |
couchbase.by_bucket.bytes_read | Couchbase By Bucket .bytes_read | byte | Bytes read |
couchbase.by_bucket.bytes_written | Couchbase By Bucket .bytes_written | byte | Bytes written |
couchbase.by_bucket.cas_badval | Couchbase By Bucket Cas Badval | count | Compare and Swap bad values |
couchbase.by_bucket.cas_hits | Couchbase By Bucket Cas Hits | hit | Compare and Swap hits |
couchbase.by_bucket.cas_misses | Couchbase By Bucket Cas Misses | miss | Compare and Swap misses |
couchbase.by_bucket.cmd_get | Couchbase By Bucket Cmd Get | get | Compare and Swap gets |
couchbase.by_bucket.cmd_set | Couchbase By Bucket Cmd Set | set | Compare and swap sets |
couchbase.by_bucket.couch_docs_actual_disk_size | Couchbase By Bucket Couch Docs Actual Disk Size | byte | Couch docs total size on disk in bytes |