Skip to content

Memcached Exporter

Memcached Exporter is used to expose metrics from a running Memcached deployment. The memcached exporter is an integrated part of the memcached deployment in Genestack but will need to be enabled.

Note

To deploy metric exporters you will first need to deploy the Prometheus Operator, see: (Deploy Prometheus).

Deploy the Memcached Cluster With Monitoring Enabled

Edit the Helm overrides file for memcached at /etc/genestack/helm-configs/memcached/memcached-helm-overrides.yaml and add the following values to enable the memcached exporter:

metrics:
  enabled: true
  serviceMonitor:
    enabled: true

Once the changes have been made, apply the changes to the memcached deployment with the bin/install-memcached.sh script:

bin/install-memcached.sh

#!/bin/bash
# shellcheck disable=SC2124,SC2145,SC2294

GLOBAL_OVERRIDES_DIR="/etc/genestack/helm-configs/global_overrides"
SERVICE_CONFIG_DIR="/etc/genestack/helm-configs/memcached"
BASE_OVERRIDES="/opt/genestack/base-helm-configs/memcached/memcached-helm-overrides.yaml"

HELM_CMD="helm upgrade --install memcached oci://registry-1.docker.io/bitnamicharts/memcached \
    --namespace=openstack \
    --timeout 120m \
    --post-renderer /etc/genestack/kustomize/kustomize.sh \
    --post-renderer-args memcached/overlay"

HELM_CMD+=" -f ${BASE_OVERRIDES}"

for dir in "$GLOBAL_OVERRIDES_DIR" "$SERVICE_CONFIG_DIR"; do
    if compgen -G "${dir}/*.yaml" > /dev/null; then
        for yaml_file in "${dir}"/*.yaml; do
            # Avoid re-adding the base override file if present in the service directory
            if [ "${yaml_file}" != "${BASE_OVERRIDES}" ]; then
                HELM_CMD+=" -f ${yaml_file}"
            fi
        done
    fi
done

HELM_CMD+=" $@"

echo "Executing Helm command:"
echo "${HELM_CMD}"
eval "${HELM_CMD}"