Configurar el agente para cargas de trabajo de Redis

En este documento se muestra cómo instalar el agente para cargas de trabajo de Compute en instancias de Compute Engine y cómo configurarlo para que se conecte con una carga de trabajo de Redis que se ejecute en esas instancias de Compute.

Una vez que hayas instalado y configurado el agente, este recogerá métricas de tu carga de trabajo de Redis y de las instancias de computación subyacentes, y las enviará a Workload Manager. Después, puedes usar la evaluación de Workload Manager para analizar tus cargas de trabajo de Redis en busca de desviaciones de las prácticas recomendadas para las configuraciones de infraestructura, sistema operativo y carga de trabajo.

Antes de empezar

Antes de instalar y configurar el agente para cargas de trabajo de Compute, debes asegurarte de que se cumplen los siguientes requisitos previos:

Roles de gestión de identidades y accesos necesarios para el agente

El agente de cargas de trabajo de Compute usa la cuenta de servicio asociada a la instancia de computación para la autenticación y para acceder a los recursos. Google Cloud

Para mejorar la seguridad, te recomendamos que uses una cuenta de servicio específica en lugar de la cuenta de servicio predeterminada de Compute Engine.

Para asegurarte de que la cuenta de servicio tenga los permisos necesarios para que el agente de cargas de trabajo de Compute se autentique con los recursos deGoogle Cloud y acceda a ellos Google Cloud , pide a tu administrador que conceda a la cuenta de servicio los siguientes roles de gestión de identidades y accesos en tu proyecto:

Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

Es posible que tu administrador también pueda conceder a la cuenta de servicio los permisos necesarios a través de roles personalizados u otros roles predefinidos.

Habilitar el acceso a las APIs de Cloud

Compute Engine recomienda configurar las instancias para que permitan todos los permisos de acceso a todas las APIs de Cloud y usar solo los permisos de gestión de identidades y accesos de la cuenta de servicio de la instancia para controlar el acceso a losGoogle Cloud recursos. Para obtener más información, consulta Crear una VM que use una cuenta de servicio gestionada por el usuario.

Si limitas el acceso a las APIs de Cloud, el agente de cargas de trabajo de Compute requiere al menos los siguientes permisos de acceso a las APIs de Cloud en la instancia de Compute del host:

https://www.googleapis.com/auth/cloud-platform

Para obtener más información, consulta Prácticas recomendadas sobre los ámbitos.

Si ejecutas aplicaciones Redis en una instancia de proceso que no tiene una dirección IP externa, debes habilitar Acceso privado de Google en la subred de la instancia para que el agente de cargas de trabajo de Compute pueda acceder a las APIs y los servicios de Google. Para obtener información sobre cómo habilitar el Acceso privado de Google, consulta el artículo Configurar Acceso privado de Google.

Instalar y configurar el agente mediante el gestor de paquetes

En esta sección se explica cómo instalar el agente para cargas de trabajo de Compute en tu instancia de Compute y cómo configurarlo para que se conecte con una instancia de Redis mediante un gestor de paquetes.

Para instalar el agente de cargas de trabajo de Compute, sigue estos pasos:

RHEL - 6, 7

En Red Hat Enterprise Linux (RHEL), puedes instalar el agente para cargas de trabajo de Compute mediante el comando de gestión de paquetes yum. Este comando completa las siguientes tareas:

  • Descarga la versión más reciente del agente.
  • Crea un servicio systemd para el agente, llamado google-cloud-workload-agent.
  • Habilita e inicia el servicio google-cloud-workload-agent.

Para instalar y configurar el agente para cargas de trabajo de Compute en una instancia de Compute basada en RHEL, sigue estos pasos:

  1. Establece una conexión SSH con tu instancia de proceso.

  2. En tu terminal, instala el agente:

    sudo tee /etc/yum.repos.d/google-cloud-workload-agent.repo << EOM
    [google-cloud-workload-agent]
    name=Google Cloud Agent for Compute Workloads
    baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch
    enabled=1
    gpgcheck=0
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOM
    sudo yum install google-cloud-workload-agent
    
  3. Abre el archivo de configuración del agente:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Especifique los valores de todos los parámetros obligatorios, tal como se describe en Parámetros de configuración.

  5. Guardar el archivo de configuración

  6. Reinicia el agente para que los cambios surtan efecto.

SLES

En SUSE Linux Enterprise Server (SLES), instala el agente para cargas de trabajo de Compute mediante el comando de gestión de paquetes zypper. Este comando completa las siguientes tareas:

  • Descarga la versión más reciente del agente.
  • Crea un servicio systemd para el agente, llamado google-cloud-workload-agent.
  • Habilita e inicia el servicio google-cloud-workload-agent.

Para instalar y configurar el agente para cargas de trabajo de Compute en una instancia de Compute basada en SLES, sigue estos pasos:

  1. Establece una conexión SSH con tu instancia de proceso.

  2. En tu terminal, instala el agente:

    sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-workload-agent-$basearch
    google-cloud-workload-agent
    sudo zypper install google-cloud-workload-agent
    
  3. Abre el archivo de configuración del agente:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Especifique los valores de todos los parámetros obligatorios, tal como se describe en Parámetros de configuración.

  5. Guardar el archivo de configuración

  6. Reinicia el agente para que los cambios surtan efecto.

Debian

En Debian, puedes instalar el agente para cargas de trabajo de Compute mediante el comando de gestión de paquetes apt. Este comando completa las siguientes tareas:

  • Descarga la versión más reciente del agente.
  • Crea un servicio systemd para el agente, llamado google-cloud-workload-agent.
  • Habilita e inicia el servicio google-cloud-workload-agent.

Para instalar y configurar el agente para cargas de trabajo de Compute en una instancia de Compute basada en Debian, sigue estos pasos:

  1. Establece una conexión SSH con tu instancia de proceso.

  2. En tu terminal, instala el agente:

    echo 'deb https://packages.cloud.google.com/apt google-cloud-workload-agent-x86-64-apt main' | sudo tee -a /etc/apt/sources.list.d/google-cloud-workload-agent.list
    sudo apt-get update
    sudo apt-get install google-cloud-workload-agent
    
  3. Abre el archivo de configuración del agente:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Especifique los valores de todos los parámetros obligatorios, tal como se describe en Parámetros de configuración.

  5. Guardar el archivo de configuración

  6. Reinicia el agente para que los cambios surtan efecto.

Windows

En Windows, puedes instalar el agente para cargas de trabajo de Compute mediante el comando de gestión de paquetes googet. Este comando completa las siguientes tareas:

  • Descarga la versión más reciente del agente.
  • Crea un servicio de Windows llamado google-cloud-workload-agent.
  • Crea una tarea programada que se ejecuta cada minuto para comprobar si el servicio está en funcionamiento y, si es necesario, reiniciarlo.

Para instalar y configurar el agente para cargas de trabajo de Compute en una instancia de Compute basada en Windows, sigue estos pasos:

  1. Establece una conexión con tu instancia de proceso mediante RDP.

    Para obtener información sobre cómo hacerlo, consulta Conectarse a máquinas virtuales Windows mediante RDP.

  2. Como administrador, ejecuta los siguientes comandos desde PowerShell:

    googet addrepo google-cloud-workload-agent  https://packages.cloud.google.com/yuck/repos/google-cloud-workload-agent-windows-x86_64
    googet install google-cloud-workload-agent
    
  3. Abre el archivo de configuración del agente:

    %ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
    
  4. Especifique los valores de todos los parámetros obligatorios, tal como se describe en Parámetros de configuración.

  5. Guardar el archivo de configuración

  6. Reinicia el agente para que los cambios surtan efecto.

Instalar y gestionar el agente en un conjunto de máquinas virtuales con VM Extension Manager

Configurar VM Extension Manager

Para configurar VM Extension Manager, sigue estos pasos:

Instalar el agente en un conjunto de máquinas virtuales

Para instalar la versión más reciente del agente para cargas de trabajo de Compute en tu flota de VMs de una zona específica mediante una política de VM Extension Manager, sigue estos pasos:

Consola

  1. En la Google Cloud consola, ve a la página Políticas de extensiones de VM.

    Ir a las políticas de extensiones de MV

  2. Haz clic en Crear política de extensión.

  3. En el campo Name (Nombre), introduce un nombre para la política.

  4. Opcional: En el campo Descripción, escribe una descripción de la política.

  5. En el campo Priority (Prioridad), especifica un número de prioridad para resolver los conflictos entre políticas. Cuanto más bajo sea el número, mayor será la prioridad. El valor predeterminado es 1000.

  6. En las listas Región y Zona, selecciona la zona en la que quieras aplicar esta política.

  7. En la sección Extensiones, haga clic en Añadir extensión y, a continuación, siga estos pasos:

    1. En la lista Extensiones, selecciona Extensión de Google Cloud para cargas de trabajo de computación.
    2. Deja el campo Versión en blanco.

      De esta forma, la política indica que se instale la versión más reciente del agente para cargas de trabajo de Compute.

    3. En el campo Contenido del archivo de configuración, introduce la configuración que quieras aplicar al agente.

      Para obtener información sobre los parámetros de configuración admitidos por el agente de tu carga de trabajo de Redis, consulta Parámetros de configuración.

    4. Haz clic en Listo.

  8. Opcional: Para limitar la implementación de la política a las máquinas virtuales necesarias, haz lo siguiente:

    1. Haz clic en Añadir etiquetas e incluye las etiquetas que identifiquen las VMs necesarias.
    2. Haz clic en Listo.
  9. Haz clic en Crear.

gcloud

gcloud beta compute zone-vm-extension-policies create POLICY_NAME \
    --zone=ZONE \
    --extensions=google-cloud-workload-extension \
    --config-from-file=google-cloud-workload-extension=CONFIG_FILE_PATH \
    [--description="DESCRIPTION" \]
    [--inclusion-labels=KEY_1=VALUE_1 \]
    [--inclusion-labels=KEY_2=VALUE_2,KEY_3=VALUE_3 \]
    [--priority=PRIORITY]

Haz los cambios siguientes:

  • POLICY_NAME: un nombre para la política de extensión de VM.

    El comando falla si ya existe una política con el nombre especificado en la zona.

  • ZONE: la zona en la que quiere aplicar esta política.

  • CONFIG_FILE_PATH: la ruta local al archivo JSON que contiene la configuración del agente para cargas de trabajo de Compute para conectarse con tu carga de trabajo de Redis.

    • También puedes proporcionar la configuración como una cadena insertada con la marca --config en lugar de --config-from-file. Por ejemplo, --config=google-cloud-workload-extension="CONFIG". Google Cloud te recomienda que uses --config-from-file.
    • Puedes usar --config-from-file o --config, pero no ambos en el mismo comando.
    • Para obtener información sobre los parámetros de configuración admitidos por el agente de tu carga de trabajo de Redis, consulta Parámetros de configuración.
  • DESCRIPTION: una descripción opcional de la política.

  • KEY_1=VALUE_1: una lista separada por comas de pares clave-valor que definen las etiquetas con las que la política segmenta las máquinas virtuales.

    • Para que una VM sea el objetivo de tu política, debe tener todas las etiquetas especificadas.
    • Si especifica --inclusion-labels varias veces, la política se aplicará a las VMs que coincidan con cualquiera de los selectores proporcionados (operador lógico OR). Si omite esta marca, la política se aplicará a todas las VMs de la zona especificada.
  • PRIORITY: un número entero entre 0 y 65535 que define la prioridad de la política. Cuanto más bajo sea el número, mayor será la prioridad. El valor predeterminado es 1000.

Ejemplo:

El siguiente comando crea una política llamada test-agent-policy en el proyectoGoogle Cloud llamado test-project, que instala la versión más reciente del agente para cargas de trabajo de Compute en todas las VMs desplegadas en la zona us-centrail-f. La configuración especificada en agent-config.json se aplica al agente.

gcloud beta compute zone-vm-extension-policies create test-agent-policy  \
    --project=test-project \
    --zone=us-central1-f \
    --extensions=google-cloud-workload-extension \
    --config-file-path=google-cloud-workload-extension="/usr/agent-config.json"

Verificar la instalación del agente

Para verificar que el agente se está ejecutando correctamente, sigue estos pasos:

RHEL - 6, 7

  1. Establece una conexión SSH con tu instancia de proceso.

  2. Comprueba el estado del paquete del agente:

    systemctl status google-cloud-workload-agent
    

    Si el paquete del agente se ejecuta correctamente, el resultado contiene active (running). Por ejemplo:

    google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled)
    Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago
    Main PID: 14412 (google_cloud_sq)
      Tasks: 7
    Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M)
    CGroup: /system.slice/google-cloud-workload-agent.service
            └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run

SLES

  1. Establece una conexión SSH con tu instancia de proceso.

  2. Comprueba el estado del paquete del agente:

    systemctl status google-cloud-workload-agent
    

    Si el paquete del agente se ejecuta correctamente, el resultado contiene active (running). Por ejemplo:

    google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled)
    Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago
    Main PID: 14412 (google_cloud_sq)
      Tasks: 7
    Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M)
    CGroup: /system.slice/google-cloud-workload-agent.service
            └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run

Debian

  1. Establece una conexión SSH con tu instancia de proceso.

  2. Comprueba el estado del paquete del agente:

    systemctl status google-cloud-workload-agent
    

    Si el paquete del agente se ejecuta correctamente, el resultado contiene active (running). Por ejemplo:

    google-cloud-workload-agent.service - Google Cloud Agent for Compute Workloads
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-workload-agent.service; enabled; vendor preset: disabled)
    Active: active (running) since Sun 2025-07-30 18:59:12 UTC; 10s ago
    Main PID: 14412 (google_cloud_sq)
      Tasks: 7
    Memory: 12.9M (max: 1.0G limit: 1.0G available: 1011.0M)
    CGroup: /system.slice/google-cloud-workload-agent.service
            └─ 14412 /usr/bin/google_cloud_sql_server_agent --action=run

Windows

  1. Establece una conexión con tu instancia de proceso mediante RDP.

    Para obtener información sobre cómo hacerlo, consulta Conectarse a máquinas virtuales Windows mediante RDP.

  2. Como administrador, ejecuta el siguiente comando desde PowerShell:

    $(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).Status
    

    Si el agente funciona correctamente, verás el estado Running.

Ejemplo de archivo de configuración

A continuación, se muestra un ejemplo de configuración que permite que el agente de cargas de trabajo de Compute se conecte con una instancia de Redis. Para la autenticación, se usa un secreto de Secret Manager, que se almacena en el mismo proyecto de Google Cloud en el que se ejecuta la instancia de Redis.

{
  "log_level": "INFO",
  "common_discovery": {
    "collection_frequency": "10800s"
  },
  "redis_configuration": {
    "enabled": true,
    "connection_parameters": {
      "username": "db_user_name",
      "secret": {
        "secret_name": "db_pwd_secret_name",
        "project_id": ""
      },
      "host": "localhost",
      "port": 1433
    }
  }
}

Parámetros de configuración

En la siguiente tabla se describen los parámetros de configuración del agente para cargas de trabajo de Compute que admiten evaluaciones de cargas de trabajo de Redis:

Parámetros
log_level

String

Para definir el nivel de registro del agente, asigna el valor necesario. Los niveles de registro disponibles son los siguientes:

  • DEBUG
  • INFO
  • WARNING
  • ERROR

El nivel de registro predeterminado es INFO. No cambies el nivel de registro a menos que te lo indique el equipo de Asistencia de Google Cloud.

log_to_cloud

Boolean

Para redirigir los registros del agente a Cloud Logging, especifica true. El valor predeterminado es true.

agent_properties.log_usage_metrics

Boolean

Para habilitar el registro de las métricas de estado del agente, asigna el valor true. El valor predeterminado es false.

common_discovery.collection_frequency

Duration

Especifica la frecuencia, en segundos, con la que se ejecuta el servicio de detección de carga de trabajo del agente. El valor predeterminado es 10800s.

Asegúrese de que el valor de este parámetro termina con s en minúsculas.

redis_configuration.enabled

Boolean

Para permitir que el agente recoja métricas de la instancia de Redis, asigna el valor true. El valor predeterminado es false.

redis_configuration.connection_parameters.username

String

Especifica la cuenta de usuario que utiliza el agente para consultar la instancia de Redis.

redis_configuration.connection_parameters.password

String

Especifica la contraseña de texto sin formato de la cuenta de usuario que utiliza el agente para consultar la instancia de Redis.

En lugar de especificar una contraseña de texto sin formato, te recomendamos que utilices los parámetros secret.name y secret.project_id.

Para la autenticación, el agente usa el siguiente orden de preferencia: si se especifica, se prefiere el conjunto de parámetros secret al parámetro password. Te recomendamos que definas solo una opción de autenticación en el archivo de configuración del agente.

redis_configuration.connection_parameters.secret.secret_name

String

Opcional. Para proporcionar de forma segura la contraseña de la cuenta de usuario que usa el agente para consultar la instancia de Redis, especifica el nombre del secreto de Secret Manager que contiene la contraseña.

Para la autenticación, el agente usa el siguiente orden de preferencia: si se especifica, se prefiere el conjunto de parámetros secret al parámetro password. Te recomendamos que definas solo una opción de autenticación en el archivo de configuración del agente.

redis_configuration.connection_parameters.secret.project_id

String

Opcional. Para usar el parámetro secret.secret_name para autenticar la cuenta de usuario especificada, indique el ID del proyecto Google Cloud en el que se almacena el secreto de Secret Manager.

Si el secreto y la carga de trabajo están en el mismo Google Cloud proyecto, asigna a este parámetro el valor de una cadena vacía ("").

redis_configuration.connection_parameters.host

String

Especifica el nombre de host de Redis.

redis_configuration.connection_parameters.port

Int

Especifica el puerto en el que tu instancia de Redis acepta consultas.

Siguientes pasos