Configura el agente para las cargas de trabajo de MySQL

En este documento, se muestra cómo instalar el agente para cargas de trabajo de Compute en instancias de Compute Engine y cómo configurar el agente para que se conecte con una carga de trabajo de MySQL que se ejecuta en esas instancias de procesamiento.

Después de instalar y configurar el agente, este recopila métricas de tu carga de trabajo de MySQL y de las instancias de procesamiento subyacentes, y las envía a Workload Manager. Luego, puedes usar la evaluación de Workload Manager para analizar tus cargas de trabajo de MySQL en busca de desviaciones de las prácticas recomendadas para las configuraciones de infraestructura, sistema operativo y carga de trabajo.

Antes de comenzar

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

Roles de IAM obligatorios para el agente

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

Para mejorar la seguridad, te recomendamos que uses una cuenta de servicio de propósito único en lugar de la cuenta de servicio predeterminada de Compute Engine.

Para garantizar que la cuenta de servicio tenga los permisos necesarios para permitir que Agent for Compute Workloads se autentique conGoogle Cloud y acceda a los recursos de Google Cloud , pídele a tu administrador que le otorgue a la cuenta de servicio los siguientes roles de IAM en tu proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

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

Habilita el acceso a las API de Cloud

Compute Engine recomienda configurar las instancias para permitir todos los permisos de acceso a todas las API de Cloud y usar solo los permisos de IAM de la cuenta de servicio de la instancia para controlar el acceso a los recursos deGoogle Cloud . Para obtener más información, consulta Crea una VM que use una cuenta de servicio administrada por el usuario.

Si limitas el acceso a las API de Cloud, el agente para cargas de trabajo de Compute requiere, como mínimo, los siguientes permisos de acceso a las API de Cloud en la instancia de procesamiento del host:

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

Para obtener más información, consulta Prácticas recomendadas para los permisos.

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

Instala y configura el agente con el administrador de paquetes

En esta sección, se muestra cómo instalar el agente para cargas de trabajo de Compute en tu instancia de procesamiento y configurarlo para que se conecte con una instancia de MySQL a través de un administrador de paquetes.

Para instalar el agente para cargas de trabajo de Compute, completa los siguientes pasos:

RHEL

En Red Hat Enterprise Linux (RHEL), debes instalar el Agente para cargas de trabajo de Compute con el comando de administració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 procesamiento basada en RHEL, completa los siguientes pasos:

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

  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. Reemplaza el archivo de configuración del agente:

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

  5. Guarda el archivo de configuración

  6. Reinicia el agente para que se apliquen los cambios.

SLES

En SUSE Linux Enterprise Server (SLES), debes instalar el Agente para cargas de trabajo de Compute con el comando de administració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 procesamiento basada en SLES, completa los siguientes pasos:

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

  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. Reemplaza el archivo de configuración del agente:

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

  5. Guarda el archivo de configuración

  6. Reinicia el agente para que se apliquen los cambios.

Debian

En Debian, se instala el agente para cargas de trabajo de Compute con el comando de administració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 procesamiento basada en Debian, completa los siguientes pasos:

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

  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. Reemplaza el archivo de configuración del agente:

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

  5. Guarda el archivo de configuración

  6. Reinicia el agente para que se apliquen los cambios.

Windows

En Windows, instalas el agente para cargas de trabajo de Compute con el comando de administració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 se está ejecutando y, si es necesario, reiniciarlo.

Para instalar y configurar el agente para cargas de trabajo de Compute en una instancia de procesamiento basada en Windows, completa los siguientes pasos:

  1. Establece una conexión con tu instancia de procesamiento a través de RDP.

    Para obtener información sobre cómo hacerlo, consulta Conéctate a las VMs de 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. Reemplaza el archivo de configuración del agente:

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

  5. Guarda el archivo de configuración

  6. Reinicia el agente para que se apliquen los cambios.

Instala y administra el agente en una flota de VMs con VM Extension Manager

Configura VM Extension Manager

Para configurar VM Extension Manager, completa los siguientes pasos:

Instala el agente en una flota de VMs

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

Console

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

    Ir a Políticas de extensión de VM

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

  3. En el campo Nombre, ingresa un nombre para la política.

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

  5. En el campo Prioridad, especifica un número de prioridad para resolver conflictos entre políticas. Los números más bajos indican una mayor prioridad. El valor predeterminado es 1000.

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

  7. En la sección Extensiones, haz clic en Agregar extensión y, luego, haz lo siguiente:

    1. En la lista Extension, selecciona Google Cloud's Extension for Compute Workloads.
    2. Deja en blanco el campo Versión.

      Esto indica a la política que 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, ingresa la configuración que deseas aplicar al agente.

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

    4. Haz clic en Listo.

  8. Opcional: Para limitar el lanzamiento de la política a las VMs requeridas, haz lo siguiente:

    1. Haz clic en Agregar etiquetas y agrega las etiquetas que identifican las VMs requeridas.
    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]

Reemplaza lo siguiente:

  • POLICY_NAME: Es el nombre de 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: Es la zona en la que deseas aplicar esta política.

  • CONFIG_FILE_PATH: Es la ruta de acceso local al archivo JSON que contiene la configuración para que el agente de Compute Workloads se conecte con tu carga de trabajo de MySQL.

    • Como alternativa, para proporcionar la configuración como una cadena intercalada, usa 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 para tu carga de trabajo de MySQL, consulta Parámetros de configuración.
  • DESCRIPTION: Es una descripción opcional de la política.

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

    • Para que tu política se aplique a una VM, esta debe tener todas las etiquetas especificadas.
    • Si especificas --inclusion-labels varias veces, la política se aplica a las VMs que coinciden con cualquiera de los selectores proporcionados (OR lógico). Si omites esta marca, la política se aplica a todas las VMs de la zona especificada.
  • PRIORITY: Es un número entero del 0 al 65535 que define la prioridad de la política. Los números más bajos indican una mayor 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 implementadas 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"

Verifica la instalación del agente

Para verificar que el agente se ejecute según lo previsto, completa los siguientes pasos:

RHEL

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

  2. Verifica el estado del paquete del agente:

    systemctl status google-cloud-workload-agent
    

    Si el paquete del agente se ejecuta según lo previsto, 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 procesamiento.

  2. Verifica el estado del paquete del agente:

    systemctl status google-cloud-workload-agent
    

    Si el paquete del agente se ejecuta según lo previsto, 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 procesamiento.

  2. Verifica el estado del paquete del agente:

    systemctl status google-cloud-workload-agent
    

    Si el paquete del agente se ejecuta según lo previsto, 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 procesamiento a través de RDP.

    Para obtener información sobre cómo hacerlo, consulta Conéctate a las VMs de 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 se ejecuta según lo previsto, verás el estado como Running.

Archivo de configuración de ejemplo

A continuación, se muestra un ejemplo de configuración que permite que el agente para cargas de trabajo de Compute se conecte con una instancia de MySQL. 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 MySQL.

{
  "log_level": "INFO",
  "common_discovery": {
    "collection_frequency": "10800s"
  },
  "mysql_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 para cargas de trabajo de MySQL:

Parámetros
log_level

String

Para establecer el nivel de registro del agente, establece el valor requerido. 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 dirija el servicio de atención al cliente de Cloud.

log_to_cloud

Boolean

Para redireccionar 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, establece el valor en 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 cargas de trabajo del agente. El valor predeterminado es 10800s.

Asegúrate de que el valor de este parámetro termine con una s en minúscula.

mysql_configuration.enabled

Boolean

Para permitir que el agente recopile métricas de la instancia de MySQL, establece el valor en true. El valor predeterminado es false.

mysql_configuration.connection_parameters.username

String

Especifica la cuenta de usuario que el agente usa para consultar la instancia de MySQL.

mysql_configuration.connection_parameters.password

String

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

En lugar de especificar una contraseña de texto sin formato, te recomendamos que uses 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 establezcas solo una opción de autenticación en el archivo de configuración del agente.

mysql_configuration.connection_parameters.secret.secret_name

String

Es opcional. Para proporcionar de forma segura la contraseña de la cuenta de usuario que el agente usa para consultar la instancia de MySQL, 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 establezcas solo una opción de autenticación en el archivo de configuración del agente.

mysql_configuration.connection_parameters.secret.project_id

String

Es opcional. Para usar el parámetro secret.secret_name para autenticar la cuenta de usuario especificada, indica 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 proyecto Google Cloud , establece el valor de este parámetro en una cadena vacía ("").

mysql_configuration.connection_parameters.host

String

Especifica el nombre de host de MySQL.

mysql_configuration.connection_parameters.port

Int

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

¿Qué sigue?