Skip to main content
The Memcached integration requires CXDOT Collector 1.4.0 or greater. Memcached is a distributed memory object caching system. Use the Memcached CXDOT Collector integration with the CXDOT collector to collect cache, operation, and connection metrics from Memcached servers running in your environment. The integration supports Memcached 1.6 or greater.

Supported telemetry types

The integration supports these telemetry types:

Prerequisites

The integration has the following prerequisites:
  • A Memcached server that listens on a TCP port the CXDOT collector can reach. Unix domain sockets aren’t supported.
  • A Memcached server that accepts unauthenticated connections. The integration uses the plain-text stats command and doesn’t support servers that require Simple Authentication and Security Layer (SASL) authentication.

Configure

The Memcached CXDOT Collector integration is enabled by default. When you deploy the CXDOT collector with the default integration settings, it discovers Memcached pods that use the convention label on port 11211 and collects metrics from them. To change discovery or targets, follow these steps:
  1. For Memcached pods that listen on port 11211, add the app.kubernetes.io/name: memcached label to the pod template. For Memcached pods and Services that use another port, or for pods that carry autodiscovery annotations for Memcached, provide the server address and port through autodiscovery annotations. For more information, see autodiscovery.
  2. Optional: Configure static targets for Memcached servers that autodiscovery doesn’t reach, such as servers outside your Kubernetes cluster. For example, add the following to the values.yaml for your CXDOT collector Helm chart:
    When you configure static targets, this integration instance collects from exactly those targets instead of discovered targets.
  3. Optional: Disable the integration when you don’t want the CXDOT collector to collect Memcached metrics. For example, add the following to the values.yaml for your CXDOT collector Helm chart:

Validate

To validate the integration, follow these steps:
  1. In Live Telemetry Analyzer, filter for __name__=cxdot.integration.target.health and cxdot.integration.name=memcached. Confirm that each expected target reports 1. A value of 1 means that the stats command succeeded. A value of 0 means that it failed. Use the server.address and server.port attributes to identify each target.
  2. In Metrics Explorer, run the following query:
    Confirm that the query returns one time series per target.
For more information about diagnosing a failing integration, see Troubleshooting.

Configuration reference

Configure one Memcached integration instance with the following settings. In Helm values, place these settings under config.integrations.memcached. In a Collector configuration file, place them under cxdot.integrations.memcached.

Optional settings

  • enabled Type: boolean. Optional. Default: true. Whether to run the Memcached integration. If true, the Collector collects Memcached metrics. If false, the Collector doesn’t run this integration.
  • endpoints Type: array of object. Optional. Default: []. Static Memcached targets. Each entry’s endpoint is host:port, for example, memcached.default.svc:11211. When this list isn’t empty, the integration collects from exactly these targets instead of discovered targets. The integration uses the plain-text stats command and doesn’t support servers that require authentication.
  • endpoints[].endpoint Type: string. Required. Memcached target in host:port format.
  • collection_interval Type: duration. Optional. Default: 10s. Time between metric collections from each Memcached target.
  • timeout Type: duration. Optional. Default: 10s. Maximum time to wait for each Memcached metric collection.