Skip to content

Memcached

·


Memcached collector can collect the running status metrics from Memcached instances, and collect the metrics to the Guance to help monitor and analyze various abnormal situations of Memcached.

Config

Preconditions

  • Memcached version >= 1.5.0. Already tested version:
    • 1.5.x
    • 1.6.x

Collector Configuration

Go to the conf.d/samples directory under the DataKit installation directory, copy memcached.conf.sample and name it memcached.conf. Examples are as follows:

[[inputs.memcached]]
  ## Servers' addresses.
  servers = ["localhost:11211"]
  # unix_sockets = ["/var/run/memcached.sock"]

  ## Set true to enable election
  election = true

  ## Collect extra stats
  # extra_stats = ["slabs", "items"]

  ## Collect interval.
  # units: "ns", "us", "ms", "s", "m", "h"
  interval = "10s"

[inputs.memcached.tags]
  # some_tag = "some_value"
  # more_tag = "some_other_value"
  # ...

Once configured, restart DataKit.

The collector can now be turned on by ConfigMap Injection Collector Configuration.

Metric

For all of the following data collections, the global election tags will added automatically, we can add extra tags in [inputs.memcached.tags] if needed:

 [inputs.memcached.tags]
  # some_tag = "some_value"
  # more_tag = "some_other_value"
  # ...

memcached

Tags & Fields Description
server
(tag)
The host name from which metrics are gathered
accepting_conns Whether or not server is accepting conns
Type: int | (gauge)
Unit: count
auth_cmds Number of authentication commands handled, success or failure
Type: int | (gauge)
Unit: count
auth_errors Number of failed authentications
Type: int | (gauge)
Unit: count
bytes Current number of bytes used to store items
Type: int | (gauge)
Unit: digital,B
bytes_read Total number of bytes read by this server from network
Type: int | (gauge)
Unit: digital,B
bytes_written Total number of bytes sent by this server to network
Type: int | (gauge)
Unit: digital,B
cas_badval Number of CAS for which a key was found, but the CAS value did not match
Type: int | (gauge)
Unit: count
cas_hits Number of successful CAS requests
Type: int | (gauge)
Unit: count
cas_misses Number of CAS requests against missing keys
Type: int | (gauge)
Unit: count
cmd_flush Cumulative number of flush requests
Type: int | (gauge)
Unit: count
cmd_get Cumulative number of retrieval requests
Type: int | (gauge)
Unit: count
cmd_set Cumulative number of storage requests
Type: int | (gauge)
Unit: count
cmd_touch Cumulative number of touch requests
Type: int | (gauge)
Unit: count
conn_yields Number of times any connection yielded to another due to hitting the -R limit
Type: int | (gauge)
Unit: count
connection_structures Number of connection structures allocated by the server
Type: int | (gauge)
Unit: count
curr_connections Number of open connections
Type: int | (gauge)
Unit: count
curr_items Current number of items stored
Type: int | (gauge)
Unit: count
decr_hits Number of successful decr requests
Type: int | (gauge)
Unit: count
decr_misses Number of decr requests against missing keys
Type: int | (gauge)
Unit: count
delete_hits Number of deletion requests resulting in an item being removed
Type: int | (gauge)
Unit: count
delete_misses umber of deletions requests for missing keys
Type: int | (gauge)
Unit: count
evicted_unfetched Items evicted from LRU that were never touched by get/incr/append/etc
Type: int | (gauge)
Unit: count
evictions Number of valid items removed from cache to free memory for new items
Type: int | (gauge)
Unit: count
expired_unfetched Items pulled from LRU that were never touched by get/incr/append/etc before expiring
Type: int | (gauge)
Unit: count
get_hits Number of keys that have been requested and found present
Type: int | (gauge)
Unit: count
get_misses Number of items that have been requested and not found
Type: int | (gauge)
Unit: count
hash_bytes Bytes currently used by hash tables
Type: int | (gauge)
Unit: digital,B
hash_is_expanding Indicates if the hash table is being grown to a new size
Type: int | (gauge)
Unit: count
hash_power_level Current size multiplier for hash table
Type: int | (gauge)
Unit: count
incr_hits Number of successful incr requests
Type: int | (gauge)
Unit: count
incr_misses Number of incr requests against missing keys
Type: int | (gauge)
Unit: count
limit_maxbytes Number of bytes this server is allowed to use for storage
Type: int | (gauge)
Unit: digital,B
listen_disabled_num Number of times server has stopped accepting new connections (maxconns)
Type: int | (gauge)
Unit: count
reclaimed Number of times an entry was stored using memory from an expired entry
Type: int | (gauge)
Unit: count
threads Number of worker threads requested
Type: int | (gauge)
Unit: count
total_connections Total number of connections opened since the server started running
Type: int | (gauge)
Unit: count
total_items Total number of items stored since the server started
Type: int | (gauge)
Unit: count
touch_hits Number of keys that have been touched with a new expiration time
Type: int | (gauge)
Unit: count
touch_misses Number of items that have been touched and not found
Type: int | (gauge)
Unit: count
uptime Number of secs since the server started
Type: int | (gauge)
Unit: count

memcached_items

Tags & Fields Description
server
(tag)
The host name from which metrics are gathered
slab_id
(tag)
The id of the current slab
age Age of the oldest item in the LRU
Type: int | (gauge)
Unit: count
crawler_reclaimed Number of items which freed by the LRU Crawler
Type: int | (gauge)
Unit: count
direct_reclaims Number of worker threads which had to directly pull LRU tails to find memory for a new item
Type: int | (gauge)
Unit: count
evicted Number of the items which had to be evicted from the LRU before expiring
Type: int | (gauge)
Unit: count
evicted_nonzero Number of the onzero items which had an explicit expire time set had to be evicted from the LRU before expiring
Type: int | (gauge)
Unit: count
evicted_time Seconds since the last access for the most recent item evicted from this class
Type: int | (gauge)
Unit: time,s
evicted_unfetched Number of the valid items evicted from the LRU which were never touched after being set
Type: int | (gauge)
Unit: count
expired_unfetched Number of the expired items reclaimed from the LRU which were never touched after being set
Type: int | (gauge)
Unit: count
lrutail_reflocked Number of items which found to be refcount locked in the LRU tail
Type: int | (gauge)
Unit: count
moves_to_cold Number of items which were moved from HOT or WARM into COLD
Type: int | (gauge)
Unit: count
moves_to_warm Number of items which were moved from COLD to WARM
Type: int | (gauge)
Unit: count
moves_within_lru Number of active items which were bumped within HOT or WARM
Type: int | (gauge)
Unit: count
number Number of items presently stored in this slab class
Type: int | (gauge)
Unit: count
number_cold Number of items presently stored in the COLD LRU
Type: int | (gauge)
Unit: count
number_hot Number of items presently stored in the HOT LRU
Type: int | (gauge)
Unit: count
number_noexp Number of items presently stored in the NOEXP class
Type: int | (gauge)
Unit: count
number_warm Number of items presently stored in the WARM LRU
Type: int | (gauge)
Unit: count
outofmemory Number of the underlying slab class which was unable to store a new item
Type: int | (gauge)
Unit: count
reclaimed Number of entries which were stored using memory from an expired entry
Type: int | (gauge)
Unit: count
tailrepairs How many times memcache self-healed a slab with a refcount leak
Type: int | (gauge)
Unit: count

memcached_slabs

Tags & Fields Description
server
(tag)
The host name from which metrics are gathered
slab_id
(tag)
The id of the current slab
active_slabs Total number of slab classes allocated
Type: int | (gauge)
Unit: count
cas_badval Number of CAS commands failed to modify a value due to a bad CAS id
Type: int | (gauge)
Unit: count
cas_hits Number of CAS commands modified this slab class
Type: int | (gauge)
Unit: count
chunk_size The amount of space each chunk uses
Type: int | (gauge)
Unit: digital,B
chunks_per_page How many chunks exist within one page
Type: int | (gauge)
Unit: count
cmd_set Number of set requests stored data in this slab class
Type: int | (gauge)
Unit: count
decr_hits Number of decrs commands modified this slab class
Type: int | (gauge)
Unit: count
delete_hits Number of delete commands succeeded in this slab class
Type: int | (gauge)
Unit: count
free_chunks Chunks not yet allocated to items or freed via delete
Type: int | (gauge)
Unit: count
free_chunks_end Number of free chunks at the end of the last allocated page
Type: int | (gauge)
Unit: count
get_hits Number of get requests were serviced by this slab class
Type: int | (gauge)
Unit: count
incr_hits Number of incrs commands modified this slab class
Type: int | (gauge)
Unit: count
total_chunks Total number of chunks allocated to the slab class
Type: int | (gauge)
Unit: count
total_malloced Total amount of memory allocated to slab pages
Type: int | (gauge)
Unit: digital,B
total_pages Total number of pages allocated to the slab class
Type: int | (gauge)
Unit: count
touch_hits Number of touches serviced by this slab class
Type: int | (gauge)
Unit: count
used_chunks How many chunks have been allocated to items
Type: int | (gauge)
Unit: count

Feedback

Is this page helpful? ×