Supported OS Linux Windows Mac OS

Versión de la integración8.0.0

Información general

Tanto si utilizas Redis como base de datos, caché o cola de mensajes, esta integración realiza un seguimiento de los problemas con tus servidores Redis, servicios en la nube y partes de su infraestructura a las que sirven. Utiliza el check de Redis del Datadog Agent para recopilar métricas relacionados con:

  • Rendimiento
  • Uso de la memoria
  • Clientes bloqueados
  • Conexiones secundarias
  • Persistencia en disco
  • Claves caducadas y desalojadas
  • y mucho más

Configuración

Instalación

El check de Redis está incluido en el paquete del Datadog Agent, por lo que no necesitas instalar nada más en tus servidores Redis.

Configuración

Host

Para configurar este check para un Agent que se ejecuta en un host:

Recopilación de métricas
  1. Edita el archivo redisdb.d/conf.yaml, que se encuentra en la carpeta conf.d/ en la raíz del directorio de configuración del Agent. Puede que sea necesario actualizar los siguientes parámetros. Para conocer todas las opciones de configuración disponibles, consulta el redisdb.d/conf.yaml de ejemplo.

    init_config:
    instances:
      ## @param host - string - required
      ## Enter the host to connect to.
      - host: localhost
        ## @param port - integer - required
        ## Enter the port of the host to connect to.
        port: 6379
    
        ## @param username - string - optional
        ## The username to use for the connection. Redis 6+ only.
        #
        # username: <USERNAME>
    
        ## @param password - string - optional
        ## The password to use for the connection.
        #
        # password: <PASSWORD>
    
  2. Si utilizas Redis v6 o posterior y listas de control del acceso (ACL), asegúrate de que el usuario tiene al menos permisos DB Viewer a nivel de base de datos, permisos Cluster Viewer, si operas en un entorno de clúster, y reglas de ACL+config|get +info +slowlog|get. Para ver más detalles, consulta Control del acceso a bases de datos.

  3. Reinicia el Agent.

Recopilación de logs

Disponible para la versión 6.0 o posteriores del Agent

  1. La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent. Habilítala en tu archivo datadog.yaml:

    logs_enabled: true
    
  2. Deselecciona y edita este bloque de configuración en la parte inferior de tu redisdb.d/conf.yaml:

    logs:
      - type: file
        path: /var/log/redis_6379.log
        source: redis
        service: myapplication
    

    Cambia los valores de los parámetros path y service y configúralos para tu entorno. Consulta el redisdb.yaml de ejemplo para ver todas las opciones de configuración disponibles.

  3. Reinicia el Agent.

Recopilación de trazas (trazas)

Datadog APM se integra con Redis para ver trazas en tu sistema distribuido. La recopilación de trazas está activada por defecto en el Datadog Agent v6 o posteriores. Para empezar a recopilar trazas:

  1. Habilita la recopilación de trazas en Datadog.
  2. Instrumenta la aplicación que realiza solicitudes a Redis.

Docker

Para configurar este check para un Agent que se ejecuta en un contenedor:

Recopilación de métricas

Configura plantillas de integraciones de Autodiscovery como etiquetas (labels) Docker en el contenedor de tu aplicación:

LABEL "com.datadoghq.ad.check_names"='["redisdb"]'
LABEL "com.datadoghq.ad.init_configs"='[{}]'
LABEL "com.datadoghq.ad.instances"='[{"host":"%%host%%","port":"6379","password":"%%env_REDIS_PASSWORD%%"}]'

Nota: La lógica de variable de plantilla "%%env_<ENV_VAR>%%" se utiliza para evitar almacenar la contraseña en texto simple, por lo que la variable de entornoREDIS_PASSWORD se debe definir en el contenedor del Agent. Para ver más detalles, consulta la documentación de la variable de plantilla Autodiscovery. Alternativamente, el Agent puede aprovechar el paquete secrets para trabajar con cualquier backend de gestión de secretos (como HashiCorp Vault o AWS Secrets Manager).

Recopilación de logs

Disponible para la versión 6.0 o posteriores del Agent

La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent. Para habilitarla, consulta la recopilación de logs de Docker.

Luego, configura integraciones de logs como etiquetas Docker:

LABEL "com.datadoghq.ad.logs"='[{"source":"redis","service":"<YOUR_APP_NAME>"}]'
Recopilación de trazas

APM para aplicaciones en contenedores es compatible con el Agent v6 o posteriores, pero requiere configuración adicional para empezar a recopilar trazas.

Variables de entorno requeridas en el contenedor del Agent:

ParámetroValor
<DD_API_KEY>api_key
<DD_APM_ENABLED>true
<DD_APM_NON_LOCAL_TRAFFIC>true

Para ver una lista completa de las variables de entorno disponibles y la configuración, consulta Rastreo de aplicaciones Docker.

Luego, instrumenta el contenedor de tu aplicación que realiza solicitudes a Redis y configura DD_AGENT_HOST con el nombre del contenedor de tu Agent.

Kubernetes

Para configurar este check para un Agent que se ejecuta en Kubernetes:

Recopilación de métricas

Para recopilar métricas, define los siguientes parámetros y valores en una plantilla de Autodiscovery. Puedes hacerlo con Kubernetes Annotations (que se muestra a continuación) en tu(s) pod(s) de Redis o con un archivo local, ConfigMap, almacén de clave-valor, manifiesto de Datadog Operator, o Helm chart.

ParámetroValor
<INTEGRATION_NAME>["redisdb"]
<INIT_CONFIG>[{}]
<INSTANCE_CONFIG>[{"host": "%%host%%","port":"6379","password":"%%env_REDIS_PASSWORD%%"}]

Anotaciones v1 (para el Datadog Agent v7.36 o anterior)

apiVersion: v1
kind: Pod
metadata:
  name: redis
  annotations:
    ad.datadoghq.com/redis.check_names: '["redisdb"]'
    ad.datadoghq.com/redis.init_configs: '[{}]'
    ad.datadoghq.com/redis.instances: |
      [
        {
          "host": "%%host%%",
          "port":"6379",
          "password":"%%env_REDIS_PASSWORD%%"
        }
      ]      
  labels:
    name: redis
spec:
  containers:
    - name: redis
      image: redis:latest
      ports:
        - containerPort: 6379

Anotaciones v2 (para el Datadog Agent v7.36 o posterior)

apiVersion: v1
kind: Pod
metadata:
  name: redis
  annotations:
    ad.datadoghq.com/redis.checks: |
      {
        "redisdb": {
          "init_config": {},
          "instances": [
            {
              "host": "%%host%%",
              "port":"6379",
              "password":"%%env_REDIS_PASSWORD%%"
            }
          ]
        }
      }      
  labels:
    name: redis
spec:
  containers:
    - name: redis
      image: redis:latest
      ports:
        - containerPort: 6379

Nota: La lógica de variable de plantilla "%%env_<ENV_VAR>%%" se utiliza para evitar almacenar la contraseña en texto simple, por lo que la variable de entornoREDIS_PASSWORD se debe definir en el contenedor del Agent. Para ver más detalles, consulta la documentación de la variable de plantilla Autodiscovery. Alternativamente, el Agent puede aprovechar el paquete secrets para trabajar con cualquier backend de gestión de secretos (como HashiCorp Vault o AWS Secrets Manager).

Recopilación de logs

Disponible para la versión 6.0 o posteriores del Agent

La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent. Para habilitarla, consulta Recopilación de logs de Kubernetes.

A continuación, configura el siguiente parámetro en una plantilla de Autodiscovery. Puedes hacerlo con Kubernetes Annotations (que se muestra a continuación) en tu(s) pod(s) de Redis, o con un archivo local, ConfigMap, almacén de clave-valor, manifiesto de Datadog Operator, o Helm chart.

ParámetroValor
<LOG_CONFIG>[{"source":"redis","service":"<YOUR_APP_NAME>"}]

Anotaciones v1/v2

apiVersion: v1
kind: Pod
metadata:
  name: redis
  annotations:
    ad.datadoghq.com/redis.logs: '[{"source":"redis","service":"<YOUR_APP_NAME>"}]'
  labels:
    name: redis
spec:
  containers:
    - name: redis
      image: redis:latest
      ports:
        - containerPort: 6379
Recopilación de trazas

APM para aplicaciones en contenedores es compatible con hosts que se ejecutan en la versión 6 o posteriores del Agent, pero requiere configuración adicional para empezar a recopilar trazas.

Variables de entorno requeridas en el contenedor del Agent:

ParámetroValor
<DD_API_KEY>api_key
<DD_APM_ENABLED>true
<DD_APM_NON_LOCAL_TRAFFIC>true

Para ver una lista completa de las variables de entorno y la configuración disponibles, consulta Rastreo de aplicaciones Kubernetes y la configuración del DaemonSet de Kubernetes.

A continuación, instrumenta el contenedor de tu aplicación que realiza solicitudes a Redis.

ECS

Para configurar este check para un Agent que se ejecuta en ECS:

Recopilación de métricas

Configura plantillas de integraciones de Autodiscovery como etiquetas Docker en el contenedor de tu aplicación:

{
  "containerDefinitions": [{
    "name": "redis",
    "image": "redis:latest",
    "dockerLabels": {
      "com.datadoghq.ad.check_names": "[\"redisdb\"]",
      "com.datadoghq.ad.init_configs": "[{}]",
      "com.datadoghq.ad.instances": "[{\"host\":\"%%host%%\",\"port\":\"6379\",\"password\":\"%%env_REDIS_PASSWORD%%\"}]"
    }
  }]
}

Nota: La lógica de variable de plantilla "%%env_<ENV_VAR>%%" se utiliza para evitar almacenar la contraseña en texto simple, por lo que la variable de entornoREDIS_PASSWORD se debe definir en el contenedor del Agent. Para ver más detalles, consulta la documentación de la variable de plantilla Autodiscovery. Alternativamente, el Agent puede aprovechar el paquete secrets para trabajar con cualquier backend de gestión de secretos (como HashiCorp Vault o AWS Secrets Manager).

Recopilación de logs

Disponible para la versión 6.0 o posteriores del Agent

La recopilación de logs se encuentra deshabilitada de manera predeterminada en el Datadog Agent. Para habilitarla, consulta la recopilación de logs de ECS.

Luego, configura integraciones de logs como etiquetas Docker:

{
  "containerDefinitions": [{
    "name": "redis",
    "image": "redis:latest",
    "dockerLabels": {
      "com.datadoghq.ad.logs": "[{\"source\":\"redis\",\"service\":\"<YOUR_APP_NAME>\"}]"
    }
  }]
}
Recopilación de trazas

APM para aplicaciones en contenedores es compatible con el Agent v6 o posterior, pero requiere configuración adicional para empezar a recopilar trazas.

Variables de entorno requeridas en el contenedor del Agent:

ParámetroValor
<DD_API_KEY>api_key
<DD_APM_ENABLED>true
<DD_APM_NON_LOCAL_TRAFFIC>true

Para ver una lista completa de las variables de entorno disponibles y la configuración, consulta Rastreo de aplicaciones Docker.

Luego, instrumenta el contenedor de tu aplicación que realiza solicitudes a Redis y configura DD_AGENT_HOST en la dirección IP privada de EC2.

Validación

Ejecuta el subcomando de estado del Agent y busca redisdb en la sección Checks.

Datos recopilados

Métricas

Eventos

El check de Redis no incluye eventos.

Checks de servicio

Solucionar problemas

El Agent no se puede conectar

    redisdb
    -------
      - instance #0 [ERROR]: 'Error 111 connecting to localhost:6379. Connection refused.'
      - Collected 0 metrics, 0 events & 1 service check

Verifica que la información de conexión en redisdb.yaml es la correcta.

El Agent no se puede autenticar

    redisdb
    -------
      - instance #0 [ERROR]: 'NOAUTH Authentication required.'
      - Collected 0 metrics, 0 events & 1 service check

Configura un password en redisdb.yaml.

Referencias adicionales

Más enlaces, artículos y documentación útiles: