Introduction

CockroachDB is a distributed SQL database built on a transactional and strongly-consistent key-value store. It scales horizontally, survives disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention. CockroachDB provides a familiar SQL API for structuring, manipulating, and querying data.

Supported Versions
2.1.6 or higher

CockroachDB is a distributed SQL database built on a transactional and strongly consistent key-value store. Monitoring CockroachDB helps database administrators to:

  • Minimize latency.
  • Check database performance and availability.
  • Tracking the health status of the database.

Prerequisites

  • Install gateway version 5.0.0 or later.
  • Map a suitable gateway management profile to a resource.
  • Create credentials with type HTTP before assigning a template to a resource. The Port, Connection Time-out, and Is Secure values are not used to create credentials.

Discovery using the gateway

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

To monitor CockroachDB:

  • 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 CockroachDB 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 Settings > Resource > Add.
    3. From the Add Device window, enter the required details such as Device Type and Management Profile.
    4. Click Save.

View resource metrics

The gateway monitors the application using the assigned templates and displays the results in graphical format. To view resource metrics, click the desired Database Resource Name > Resource Details > Metrics.

Troubleshooting

If the graph is incorrect, verify that the resource is accessible and a telnet connection can be established:

ping <IPAddress>
telnet <IPAddress:Port>

Also verify that you are using the correct access credentials for the resource.

Supported templates

  • CockroachDB Gossip I/O Statistics
  • CockroachDB Queue Statistics
  • CockroachDB Replica Statistics
  • CockroachDB RocksDB Statistics
  • CockroachDB SQL Statistics
  • CockroachDB System Performance and Statistics
  • CockroachDB Transaction Statistics

After selecting the templates, you can:

  • Assign CockroachDB 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.
CockroachDB API URLThe network connection to the CockroachDB cluster using the URL. Use the following format while connecting to the database: http/https>://${ipaddress}:/_status/vars
Application TypeThe application type value to identify the adapter. For example, COCKROACHDB.

Do not change the default application type value.

Supported metrics

MetricMetric Display NameUnitDescription
cockroachdb.addsstable.applicationsCockrocachDB AddSSTable ApplicationscountNumber of SSTable ingestions applied
cockroachdb.addsstable.copiesCockroachdb Addsstable CopiescountNumber of SSTable ingestions that requires copying files during application
cockroachdb.addsstable.proposalsCockroachdb Addsstable ProposalscountNumber of SSTable ingestions proposed
cockroachdb.capacity.availableCockroachdb Capacity AvailablebytesAvailable storage capacity
cockroachdb.capacity.reservedCockroachdb Capacity ReservedbytesCapacity reserved for snapshots
cockroachdb.capacity.totalCockroachDB Total CapacitybytesTotal storage capacity
cockroachdb.capacity.usedCockroachdb Capacity UsedbytesUsed storage capacity
cockroachdb.exec.errorCockroachDB Exec ErrorcountNumber of batch KV requests that failed to execute on a node
cockroachdb.exec.latencyCockroachDB Exec LatencycountLatency in nanoseconds of batch KV requests executed on a node
cockroachdb.exec.successCockroachdb Exec SuccesscountNumber of batch KV requests executed successfully on this node
cockroachdb.gcbytesageCockroachdb GcbytesagesecondsCumulative age of non-live data in seconds
cockroachdb.gossip.bytes.receivedCockroachdb Gossip Bytes ReceivedbyresNumber of gossip bytes received
cockroachdb.gossip.bytes.sentCockroachdb Gossip Bytes SentbytesNumber of gossip bytes sent
cockroachdb.gossip.connections.incomingCockroachdb Gossip Connections IncomingcountNumber of active incoming gossip connections
cockroachdb.gossip.connections.outgoingCockroachdb Gossip Connections OutgoingcountNumber of active outgoing gossip connections
cockroachdb.gossip.connections.refusedCockroachdb Gossip Connections RefusedcountNumber of refused incoming gossip connections
cockroachdb.gossip.infos.receivedCockroachdb Gossip Infos ReceivedcountNumber of received gossip Info objects
cockroachdb.gossip.infos.sentCockroachdb Gossip Infos SentcountNumber of sent gossip Info objects
cockroachdb.intentageCockroachdb IntentagesecondsCumulative age of intents in seconds
cockroachdb.intentbytesCockroachdb IntentbytesbytesNumber of bytes in intent KV pairs
cockroachdb.intentcountCockroachdb IntentcountcountCount of intent keys
cockroachdb.keybytesCockroachdb KeybytesbytesNumber of bytes taken up by keys
cockroachdb.keycountCockroachdb KeycountcountCount of all keys
cockroachdb.lastupdatenanosCockroachdb LastupdatenanossecondsTime in nanoseconds since Unix epoch at which bytes/keys/intents metrics were last updated
cockroachdb.livebytesCockroachdb LivebytesbytesNumber of bytes of live data (keys plus values)
cockroachdb.livecountCockroachdb LivecountcountCount of live keys
cockroachdb.liveness.epochincrementsCockroachdb Liveness EpochincrementscountNumber of times this node has incremented its liveness epoch
cockroachdb.liveness.heartbeatfailuresCockroachdb Liveness HeartbeatfailurescountNumber of failed node liveness heartbeats from this node
cockroachdb.liveness.heartbeatlatencyCockroachdb Liveness HeartbeatlatencysecondsNode liveness heartbeat latency in nanoseconds
cockroachdb.liveness.heartbeatsuccessesCockroachdb Liveness HeartbeatsuccessescountNumber of successful node liveness heartbeats from this node
cockroachdb.liveness.livenodesCockroachdb Liveness LivenodescountNumber of live nodes in the cluster (Zero if the node is not live)
cockroachdb.queue.consistency.pendingCockroachdb Queue Consistency PendingcountNumber of pending replicas in the consistency checker queue
cockroachdb.queue.consistency.process.failureCockroachdb Queue Consistency Process FailurecountNumber of replicas which failed processing in the consistency checker queue
cockroachdb.queue.consistency.process.successCockroachdb Queue Consistency Process SuccesscountNumber of replicas successfully processed by the consistency checker queue
cockroachdb.queue.consistency.processingnanosCockroachdb Queue Consistency ProcessingnanossecondsNanoseconds spent processing replicas in the consistency checker queue
cockroachdb.queue.gc.info.abortspanconsideredCockroachdb Queue Gc Info AbortspanconsideredcountNumber of AbortSpan entries old enough to be considered for removal
cockroachdb.queue.gc.info.abortspangcnumCockroachdb Queue Gc Info AbortspangcnumcountNumber of AbortSpan entries fit for removal
cockroachdb.queue.gc.info.abortspanscannedCockroachdb Queue Gc Info AbortspanscannedcountNumber of transactions present in the AbortSpan scanned from the engine
cockroachdb.queue.gc.info.intentsconsideredCockroachdb Queue Gc Info IntentsconsideredcountNumber of 'old' intents
cockroachdb.queue.gc.info.intenttxnsCockroachdb Queue Gc Info IntenttxnscountNumber of associated distinct transactions
cockroachdb.queue.gc.info.numkeysaffectedCockroachdb Queue Gc Info NumkeysaffectedcountNumber of keys with GC'able data
cockroachdb.queue.gc.info.pushtxnCockroachdb Queue Gc Info PushtxncountNumber of attempted pushes
cockroachdb.queue.gc.info.resolvesuccessdCockroachdb Queue Gc Info ResolvesuccesscountNumber of successful intent resolutions
cockroachdb.queue.gc.info.resolvetotalCockroachdb Queue Gc Info ResolvetotalcountNumber of attempted intent resolutions
cockroachdb.queue.gc.info.transactionspangcabortedCockroachdb Queue Gc Info TransactionspangcabortedcountNumber of GC'able entries corresponding to aborted transactions
cockroachdb.queue.gc.info.transactionspangccommittedCockroachdb Queue Gc Info TransactionspangccommittedcountNumber of GC'able entries corresponding to committed transactions
cockroachdb.queue.gc.info.transactionspangcpendingCockroachdb Queue Gc Info TransactionspangcpendingcountNumber of GC'able entries corresponding to pending transactions
cockroachdb.queue.gc.info.transactionspanscannedCockroachdb Queue Gc Info TransactionspanscannedcountNumber of entries in transaction spans scanned from the engine
cockroachdb.queue.gc.pendingCockroachdb Queue Gc PendingcountNumber of pending replicas in the GC queue
cockroachdb.queue.gc.process.failureCockroachdb Queue Gc Process FailurecountNumber of replicas which failed processing in the GC queue
cockroachdb.queue.gc.process.successCockroachdb Queue Gc Process SuccesscountNumber of replicas successfully processed by the GC queue
cockroachdb.queue.gc.processingnanosCockroachdb Queue Gc ProcessingnanoscountNanoseconds spent processing replicas in the GC queue
cockroachdb.queue.replicate.addreplicaCockroachdb Queue Replicate AddreplicacountNumber of replica additions attempted by the replicate queue
cockroachdb.queue.replicate.pendingCockroachdb Queue Replicate PendingcountNumber of pending replicas in the replicate queue
cockroachdb.queue.replicate.process.failureCockroachdb Queue Replicate Process FailurecountNumber of replicas which failed processing in the replicate queue
cockroachdb.queue.replicate.process.successCockroachdb Queue Replicate Process SuccesscountNumber of replicas successfully processed by the replicate queue
cockroachdb.queue.replicate.processingnanosCockroachdb Queue Replicate ProcessingnanossecondsNanoseconds spent processing replicas in the replicate queue
cockroachdb.queue.replicate.purgatoryCockroachdb Queue Replicate PurgatorycountNumber of replicas in the replicate queue purgatory, awaiting allocation options
cockroachdb.queue.replicate.rebalancereplicaCockroachdb Queue Replicate RebalancereplicacountNumber of replica rebalancer-initiated additions attempted by the replicate queue
cockroachdb.queue.replicate.removedeadreplicaCockroachdb Queue Replicate RemovedeadreplicacountNumber of dead replica removals attempted by the replicate queue (typically in response to a node outage)
cockroachdb.queue.replicate.removereplicaCockroachdb Queue Replicate RemovereplicacountNumber of replica removals attempted by the replicate queue (typically in response to a rebalancer-initiated addition)
cockroachdb.queue.replicate.transferleaseCockroachdb Queue Replicate TransferleasecountNumber of range lease transfers attempted by the replicate queue
cockroachdb.queue.split.pendingCockroachdb Queue Split PendingcountNumber of pending replicas in the split queue
cockroachdb.queue.split.process.failureCockroachdb Queue Split Process FailurecountNumber of replicas which failed processing in the split queue
cockroachdb.queue.split.process.successCockroachdb Queue Split Process SuccesscountNumber of replicas successfully processed by the split queue
cockroachdb.queue.split.processingnanosCockroachdb Queue Split ProcessingnanossecondsNanoseconds spent processing replicas in the split queue
cockroachdb.queue.tsmaintenance.pendingCockroachdb Queue Tsmaintenance PendingcountNumber of pending replicas in the time series maintenance queue
cockroachdb.queue.tsmaintenance.process.failureCockroachdb Queue Tsmaintenance Process FailurecountNumber of replicas which failed processing in the time series maintenance queue
cockroachdb.queue.tsmaintenance.process.successCockroachdb Queue Tsmaintenance Process SuccesscountNumber of replicas successfully processed by the time series maintenance queue
cockroachdb.queue.tsmaintenance.processingnanosCockroachdb Queue Tsmaintenance ProcessingnanossecondsNanoseconds spent processing replicas in the time series maintenance queue
cockroachdb.rebalancing.writespersecondCockroachdb Rebalancing WritespersecondcountNumber of keys written, applied by raft, per second to the store, averaged over a large time period as used in rebalancing decisions
cockroachdb.replicas.leadersCockroachdb Replicas LeaderscountNumber of raft leaders
cockroachdb.replicas.leaders.not_leaseholdersCockroachdb Replicas Leaders Not LeaseholderscountNumber of replicas that are Raft leaders whose range lease is held by another store
cockroachdb.replicas.leaseholdersCockroachdb Replicas LeaseholderscountNumber of lease holders
cockroachdb.replicas.quiescentCockroachdb Replicas QuiescentcountNumber of quiesced replicas
cockroachdb.replicas.reservedCockroachdb Replicas ReservedcountNumber of replicas reserved for snapshots
cockroachdb.replicas.totalCockroachdb Replicas TotalcountNumber of replicas
cockroachdb.rocksdb.block.cache.hitsCockroachdb Rocksdb Block Cache HitscountCount of block cache hits
cockroachdb.rocksdb.block.cache.missesCockroachdb Rocksdb Block Cache MissescountCount of block cache misses
cockroachdb.rocksdb.block.cache.pinned.usageCockroachdb Rocksdb Block Cache Pinned UsagebytesBytes pinned by the block cache
cockroachdb.rocksdb.block.cache.usageCockroachdb Rocksdb Block Cache UsagebytesBytes used by the block cache
cockroachdb.rocksdb.bloom_filter.prefix.checkedCockroachdb Rocksdb Bloom Filter Prefix CheckedcountNumber of times the bloom filter was checked
cockroachdb.rocksdb.bloom_filter.prefix.usefulCockroachdb Rocksdb Bloom Filter Prefix UsefulcountNumber of times the bloom filter helped avoid iterator creation