En este documento, se muestra cómo instalar el agente para cargas de trabajo de procesamiento en instancias de Compute Engine y cómo configurarlo para que se conecte con una carga de trabajo de Microsoft SQL Server 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 SQL Server y de las instancias de procesamiento subyacentes, y las envía al Gestor de cargas de trabajo. Luego, puedes usar la evaluación de Gestor de cargas de trabajo para analizar tus cargas de trabajo de SQL Server 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:
- Implementaste una carga de trabajo de SQL Server en una o más instancias de procesamiento.
- Revisaste las regiones admitidas en las que puedes crear evaluaciones de Gestor de cargas de trabajo.
- Tu administrador te otorgó los roles de IAM necesarios para crear y ejecutar evaluaciones de Gestor de cargas de trabajo.
- Otorgaste los roles de IAM necesarios para el agente.
- Habilitaste el acceso a las APIs de Cloud.
- Otorgaste los permisos necesarios en SQL Server.
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 los siguientes roles de IAM a la cuenta de servicio en tu proyecto:
-
Recopila métricas de la instancia de procesamiento:
Visualizador de Compute (
roles/compute.viewer) -
Escribir datos en el almacén de datos de Gestor de cargas de trabajo: Escritor de información de Gestor de cargas de trabajo (
roles/workloadmanager.insightWriter) -
Envía registros del agente a Cloud Logging:
Escritor de registros (
roles/logging.logWriter) -
Si usas Secret Manager para almacenar la contraseña para conectarte con la instancia de SQL Server, usa el rol Descriptor de acceso a secretos de Secret Manager (
roles/secretmanager.secretAccessor).
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 las prácticas recomendadas para los permisos.
Si ejecutas una carga de trabajo de SQL Server 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 de 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.
Permisos obligatorios en SQL Server
Usa la siguiente secuencia de comandos para asignar los permisos necesarios a la cuenta de usuario configurada en el agente.
USE [master]
GO
GRANT VIEW SERVER STATE TO [user_name]
GRANT VIEW ANY DEFINITION TO [user_name]
-- Adds db_datareader role to the user
EXEC sp_MSForEachDB
'
USE ?
IF NOT EXISTS(SELECT * FROM sys.database_principals WHERE name = ''user_name'')
BEGIN
CREATE USER [user_name] FOR LOGIN [user_name]
END
EXEC sp_addrolemember ''db_datareader'', ''user_name''
'
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 SQL Server a través de un administrador de paquetes.
Para instalar el agente para cargas de trabajo de Compute, completa los siguientes pasos:
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:
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.
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-agentReemplaza el archivo de configuración del agente:
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.jsonEspecifica valores para todos los parámetros obligatorios, como se describe en Parámetros de configuración.
Cómo guardar el archivo de configuración
Reinicia el agente para que se apliquen los cambios.
RHEL
En Red Hat Enterprise Linux (RHEL), instala 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
systemdpara el agente, llamadogoogle-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:
Establece una conexión SSH con tu instancia de procesamiento.
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-agentReemplaza el archivo de configuración del agente:
/etc/google-cloud-workload-agent/configuration.jsonEspecifica valores para todos los parámetros obligatorios, como se describe en Parámetros de configuración.
Cómo guardar el archivo de configuración
Reinicia el agente para que se apliquen los cambios.
SLES
En SUSE Linux Enterprise Server (SLES), instala 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
systemdpara el agente, llamadogoogle-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:
Establece una conexión SSH con tu instancia de procesamiento.
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-agentReemplaza el archivo de configuración del agente:
/etc/google-cloud-workload-agent/configuration.jsonEspecifica valores para todos los parámetros obligatorios, como se describe en Parámetros de configuración.
Cómo guardar el archivo de configuración
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
systemdpara el agente, llamadogoogle-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:
Establece una conexión SSH con tu instancia de procesamiento.
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-agentReemplaza el archivo de configuración del agente:
/etc/google-cloud-workload-agent/configuration.jsonEspecifica valores para todos los parámetros obligatorios, como se describe en Parámetros de configuración.
Cómo guardar el archivo de configuración
Reinicia el agente para que se apliquen los cambios.
Instala y administra el agente en una flota de VMs con el Gestor de extensiones de VM
En esta sección, se muestra cómo instalar y administrar el agente para cargas de trabajo de Compute en una flota de VMs con el Administrador de extensiones de VM.
La política del Gestor de extensiones de VM te permite realizar tareas como las siguientes:
- Instalación en toda la flota: Instala el agente para cargas de trabajo de Compute en los siguientes elementos:
- Todas las VMs de tu proyecto Google Cloud o un subconjunto de VMs identificadas por etiquetas
- Todas las VMs dentro de una zona o un subconjunto de VMs identificadas por etiquetas
- Administración de la configuración: Aplica una configuración personalizada al agente en todas las VMs administradas por una política.
Para obtener más información sobre el Gestor de extensiones de VM, consulta Acerca del Gestor de extensiones de VM.
Configura el Gestor de extensiones de VM
Para configurar el Administrador de extensiones de VM, completa los siguientes pasos:
- En la documentación del Gestor de extensiones de VM, revisa la sección Antes de comenzar.
Configura los roles de IAM necesarios para crear y administrar políticas del Administrador de extensiones de VM. Para obtener más información, consulta lo siguiente:
Instala y configura el agente en una flota de VMs
Para instalar la versión más reciente del Agente de cargas de trabajo de procesamiento en tu flota de VMs con una política de Gestor de extensiones de VM, consulta la sección correspondiente:
- Instala y configura el agente en las VMs de tu proyecto de Google Cloud
- Instala y configura el agente en VMs dentro de una zona específica
Instala y configura el agente en las VMs de tu proyecto de Google Cloud
Para instalar el agente en todas las VMs de tu proyecto Google Cloud , o en un subconjunto de VMs identificadas por una etiqueta, con una política del Gestor de extensiones de VM, completa los siguientes pasos:
Console
En la consola de Google Cloud , ve a la página Políticas de extensiones de VM.
Haz clic en Crear política de extensión.
En el campo Nombre, ingresa un nombre para la política.
Opcional: En el campo Descripción, ingresa una descripción para la política.
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.En la sección Alcance, selecciona Lanzamiento global.
En la sección Administrar extensiones, haz clic en Agregar extensión y, luego, haz lo siguiente:
- En la lista Extension, selecciona Extensión de Google Cloud para cargas de trabajo de procesamiento.
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.
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 SQL Server, consulta Parámetros de configuración.
Haz clic en Listo.
En el campo Lanzamiento, selecciona la opción del plan de lanzamiento que deseas usar: Lanzamiento lento (recomendado) o Lanzamiento rápido.
Para obtener información sobre los planes de lanzamiento, consulta Acerca de los planes de lanzamiento.
Opcional: Para limitar el lanzamiento de la política a las VMs requeridas, haz lo siguiente:
- Haz clic en Agregar etiquetas y agrega las etiquetas que identifican las VMs requeridas.
- Haz clic en Listo.
Haz clic en Crear.
gcloud
En tu terminal o Cloud Shell, ejecuta el comando gcloud compute global-vm-extension-policies create:
gcloud compute global-vm-extension-policies create POLICY_NAME \
--project=PROJECT_ID \
--extensions=google-cloud-workload-extension \
--rollout-predefined-plan=ROLL_OUT_SPEED \
[--description="<var>DESCRIPTION</var>" \]
[--inclusion-labels=KEY1=VALUE1,KEY2=VALUE2 \]
[--config-from-file=google-cloud-workload-extension="CONFIG_FILE_PATH" \]
[--priority=PRIORITY]
Reemplaza lo siguiente:
POLICY_NAME: Es un nombre único para la política de extensión de VM.PROJECT_ID: ID del proyecto deGoogle Cloud para el que creas la políticaROLL_OUT_SPEED: La rapidez con la que deseas lanzar la política. Los valores admitidos sonslow_rollout(recomendado) yfast_rollout. Para obtener más información, consulta Acerca de los planes de lanzamiento.Como alternativa, puedes usar un plan de lanzamiento personalizado especificando la opción
--rollout-custom-plan. Para obtener más información, consulta Acerca de los planes de lanzamiento.Puedes usar
--rollout-predefined-plano--rollout-custom-plan, pero no ambos en el mismo comando.DESCRIPTION: Es una descripción opcional de la política.CONFIG_FILE_PATH: Es la ruta local al archivo JSON que contiene la configuración del agente para cargas de trabajo de Compute.- Como alternativa, para proporcionar la configuración como una cadena intercalada, usa la marca
--configen lugar de--config-from-file. Por ejemplo,--config=google-cloud-workload-extension="CONFIG". - Puedes usar
--config-from-fileo--config, pero no ambos en el mismo comando. - Para obtener información sobre los parámetros de configuración admitidos por el agente, consulta Parámetros de configuración.
- Como alternativa, para proporcionar la configuración como una cadena intercalada, usa la marca
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-labelsvarias veces, la política se aplica a las VMs que coinciden con cualquiera de los selectores proporcionados (ORlógico). Si omites esta marca, la política se aplica a todas las VMs del proyecto.
PRIORITY: Es un número entero del0al65535que define la prioridad de la política. Los números más bajos indican una mayor prioridad. El valor predeterminado es1000. Para obtener más información, consulta Prioridad de las políticas y resolución de conflictos.
Instala y configura el agente en las VMs dentro de una zona específica
Para instalar y configurar la versión más reciente del Agente de cargas de trabajo de procesamiento en tu flota de VMs dentro de una zona específica con una política del Gestor de extensiones de VM, completa los siguientes pasos:
Console
En la consola de Google Cloud , ve a la página Políticas de extensiones de VM.
Haz clic en Crear política de extensión.
En el campo Nombre, ingresa un nombre para la política.
Opcional: En el campo Descripción, ingresa una descripción para la política.
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.En las listas Región y Zona, selecciona la zona en la que deseas aplicar esta política.
En la sección Administrar extensiones, haz clic en Agregar extensión y, luego, haz lo siguiente:
- En la lista Extension, selecciona Extensión de Google Cloud para cargas de trabajo de procesamiento.
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.
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 SQL Server, consulta Parámetros de configuración.
Haz clic en Listo.
Opcional: Para limitar el lanzamiento de la política a las VMs requeridas, haz lo siguiente:
- Haz clic en Agregar etiquetas y agrega las etiquetas que identifican las VMs requeridas.
- Haz clic en Listo.
Haz clic en Crear.
gcloud
gcloud 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 SQL Server.- Como alternativa, para proporcionar la configuración como una cadena intercalada, usa la marca
--configen lugar de--config-from-file. Por ejemplo,--config=google-cloud-workload-extension="CONFIG". Google Cloud recomienda que uses--config-from-file. - Puedes usar
--config-from-fileo--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 SQL Server, consulta Parámetros de configuración.
- Como alternativa, para proporcionar la configuración como una cadena intercalada, usa la marca
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-labelsvarias veces, la política se aplica a las VMs que coinciden con cualquiera de los selectores proporcionados (ORlógico). Si omites esta marca, la política se aplica a todas las VMs de la zona especificada.
PRIORITY: Es un número entero del0al65535que define la prioridad de la política. Los números más bajos indican una mayor prioridad. El valor predeterminado es1000.
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 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"
Administra el agente en una flota de VMs
Para cambiar la forma en que una política del Gestor de extensiones de VM administra el Agente de cargas de trabajo de procesamiento, actualiza la política. Cuando actualizas una política, el Gestor de extensiones de VM implementa los cambios en todas las VMs aplicables, por lo general, en un minuto. Si modificas las etiquetas de inclusión, es posible que el agente para cargas de trabajo de Compute se instale en VMs nuevas o se desinstale de VMs existentes según si las VMs coinciden con las etiquetas actualizadas.
En las siguientes secciones, se muestra cómo administrar el Agente para cargas de trabajo de Compute para realizar las siguientes acciones:
- Modifica la configuración del agente en una flota de VMs
- Actualiza una política global para incluir zonas nuevas
- Actualiza una política global para excluir zonas
Modifica la configuración del agente en una flota de VMs
Para modificar la configuración de las instancias del Agente de cargas de trabajo de procesamiento que instalaste en tu flota de VMs con una política del Gestor de extensiones de VM, debes editar esa política.
Para modificar la configuración del agente en tu flota de VM, completa los siguientes pasos:
Console
En la consola de Google Cloud , ve a la página Políticas de extensiones de VM.
Haz clic en la política que deseas modificar.
En la página Detalles de la política de extensiones, haz clic en Editar.
En la sección Administrar extensiones, activa Extensión de Google Cloud para cargas de trabajo de procesamiento.
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, consulta Parámetros de configuración.
Haz clic en Listo.
Haz clic en Guardar.
gcloud
Para modificar la configuración del agente para cargas de trabajo de Compute en tu flota de VM, ejecuta el comando gcloud compute zone-vm-extension-policies update. Cuando actualizas una política con gcloud, la solicitud actúa como un reemplazo completo. Cualquier campo opcional que omitas volverá a sus valores predeterminados en lugar de conservar los valores existentes de la política modificada.
Para modificar la configuración del agente, haz lo siguiente:
gcloud compute zone-vm-extension-policies update POLICY_NAME \
--zone=ZONE \
--extensions=google-cloud-workload-extension \
--config-from-file=google-cloud-workload-extension="CONFIG_FILE_PATH" \
[--inclusion-labels=KEY_1=VALUE_1 \]
[--inclusion-labels=KEY_2=VALUE_2,KEY_3=VALUE_3 \]
[--priority=PRIORITY_NUMBER \]
[--description="DESCRIPTION"]Reemplaza lo siguiente:
POLICY_NAME: Es el nombre de la política de extensión de VM que deseas modificar.ZONE: Es la Google Cloud zona en la que se aplica la política.CONFIG_FILE_PATH: Es la ruta local al archivo JSON que contiene la configuración del agente para cargas de trabajo de Compute.- También puedes proporcionar la configuración del agente como una cadena intercalada con la marca
--configen lugar de--config-from-file. Por ejemplo,--config=google-cloud-workload-extension="CONFIG". Google Cloud recomienda que uses--config-from-file. - Puedes usar
--config-from-fileo--config, pero no ambos en el mismo comando. - Para obtener información sobre los parámetros de configuración admitidos por el agente, consulta Parámetros de configuración.
- También puedes proporcionar la configuración del agente como una cadena intercalada con la marca
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-labelsvarias veces, la política se aplica a las VMs que coinciden con cualquiera de los selectores proporcionados (ORlógico). Si omites esta marca, la política se aplica a todas las VMs de la zona especificada.
PRIORITY_NUMBER: Es la prioridad que deseas establecer para tu política. Puedes especificar un número entero del0al65535.DESCRIPTION: Es una descripción de la política de extensión de VM.
Actualiza una política global para incluir zonas nuevas
Cuando creas VMs en una zona nueva después de haber creado y lanzado una política global, Gestor de extensiones de VM no aplica automáticamente la política a las VMs en las zonas nuevas. Para incluir las VMs en zonas nuevas, debes reiniciar la implementación de la política global.
Para reiniciar el lanzamiento de una política global, completa los siguientes pasos:
En tu terminal o Cloud Shell, ejecuta el comando
gcloud compute global-vm-extension-policies updatey proporciona la opción--rollout-entry-uuidde la siguiente manera:gcloud compute global-vm-extension-policies update POLICY_NAME \ --project=PROJECT_ID \ --extensions=google-cloud-workload-extension \ --rollout-predefined-plan=ROLL_OUT_SPEED \ --config-from-file=google-cloud-workload-extension="CONFIG_FILE_PATH" \ --rollout-retry-uuid=UUIDReemplaza lo siguiente:
UUID: Es un identificador único universal (UUID) que identifica la solicitud de reintento. Puedes usar cualquier generador de UUID para crear uno. Para obtener más información, consulta Cómo reintentar un lanzamiento.ROLL_OUT_SPEED: La rapidez con la que deseas lanzar la política. Los valores admitidos sonslow_rollout(recomendado) yfast_rollout. Para obtener más información, consulta Acerca de los planes de lanzamiento.Como alternativa, puedes usar un plan de lanzamiento personalizado especificando la opción
--rollout-custom-plan. Para obtener más información, consulta Acerca de los planes de lanzamiento.Puedes usar
--rollout-predefined-plano--rollout-custom-plan, pero no ambos en el mismo comando.
Actualiza una política global para excluir zonas
Para actualizar una política global y excluir zonas, completa los siguientes pasos:
En tu terminal o Cloud Shell, ejecuta el comando
gcloud compute global-vm-extension-policies updatey proporciona un plan de lanzamiento personalizado que especifique las zonas en las que se aplicará la política:gcloud compute global-vm-extension-policies update POLICY_NAME \ --project=PROJECT_ID \ --extensions=google-cloud-workload-extension \ --rollout-custom-plan=projects/PROJECT_ID/locations/global/rolloutPlans/NEW_CUSTOM_PLAN_NAME \ --rollout-retry-uuid=UUIDReemplaza lo siguiente:
NEW_CUSTOM_PLAN_NAME: Es el nombre del nuevo plan de lanzamiento personalizado que identifica las zonas en las que se aplicará la política. Para obtener información sobre cómo crear planes de lanzamiento personalizados, consulta Acerca de los planes de lanzamiento.UUID: Es un identificador único universal (UUID) que identifica la solicitud de reintento. Puedes usar cualquier generador de UUID para crear uno. Para obtener más información, consulta Cómo reintentar un lanzamiento.
Desinstala el agente de una flota de VM
Para desinstalar el agente para cargas de trabajo de Compute de tu flota de VMs, debes borrar la política del Administrador de extensiones de VM que administra la flota de VMs.
Mientras se borra una política, si otra política activa de menor prioridad se aplica a una VM y declara el agente para cargas de trabajo de Compute, el agente permanece instalado en esa VM según la política de menor prioridad.
El Gestor de extensiones de VM quita el agente de todas las VMs accesibles en el plazo de un minuto después de que se borra la política. Si no se puede acceder a una VM porque se quitó el agente invitado o se borró la VM, el Administrador de extensiones de VM omitirá el borrado del Agente para cargas de trabajo de Compute. Si una VM de este tipo vuelve a estar disponible, Gestor de extensiones de VM quitará el Agente de cargas de trabajo de procesamiento en ese momento.
Para desinstalar el agente de Compute Workloads de tu flota de VM, completa los siguientes pasos:
Console
En la consola de Google Cloud , ve a la página Políticas de extensiones de VM.
Haz clic en la política que administra el agente para cargas de trabajo de procesamiento en tu flota de VM.
En la página Detalles de la política de extensiones, haz clic en Borrar y confirma la eliminación.
gcloud
gcloud compute zone-vm-extension-policies delete POLICY_NAME \ --project=PROJECT_ID \ --zone=ZONE
Reemplaza lo siguiente:
POLICY_NAME: Es el nombre de la política de extensión de VM que deseas borrar.PROJECT_ID: Es el ID del Google Cloud proyecto en el que se encuentra la política.ZONE: La Google Cloud zona en la que se encuentra la política.
Verifica la instalación del agente
Para verificar que el agente se ejecute según lo previsto, completa los siguientes pasos:
Windows
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.
Como administrador, ejecuta el siguiente comando desde PowerShell:
$(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).StatusSi el agente se ejecuta según lo previsto, verás el estado como
Running.
RHEL
Establece una conexión SSH con tu instancia de procesamiento.
Verifica el estado del paquete del agente:
systemctl status google-cloud-workload-agentSi el paquete del agente se ejecuta como se espera, 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
Establece una conexión SSH con tu instancia de procesamiento.
Verifica el estado del paquete del agente:
systemctl status google-cloud-workload-agentSi el paquete del agente se ejecuta como se espera, 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
Establece una conexión SSH con tu instancia de procesamiento.
Verifica el estado del paquete del agente:
systemctl status google-cloud-workload-agentSi el paquete del agente se ejecuta como se espera, 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
Parámetros de configuración
En la siguiente tabla, se describen los parámetros del archivo de configuración del agente.
| Parámetros | |
|---|---|
log_level |
Para establecer el nivel de registro del agente, establece el valor requerido. Los niveles de registro disponibles son los siguientes:
El nivel de registro predeterminado es |
log_to_cloud |
Para redireccionar los registros del agente a Cloud Logging, especifica |
agent_properties.log_usage_metrics |
Para habilitar el registro de las métricas de estado del agente, establece el valor en |
common_discovery.collection_frequency |
Especifica la frecuencia, en segundos, con la que se ejecuta el servicio de descubrimiento de cargas de trabajo del agente. El valor predeterminado es Asegúrate de que el valor de este parámetro termine con una |
sqlserver_configuration.enabled |
Para habilitar la recopilación de métricas de SQL Server en el agente, establece el valor como |
sqlserver_configuration.collection_configuration.collect_guest_os_metrics |
Para habilitar la recopilación de métricas del SO, establece el valor como |
sqlserver_configuration.collection_configuration.collect_sql_metrics |
Para habilitar la recopilación de métricas de SQL Server, especifica |
sqlserver_configuration.collection_configuration.collection_frequency |
Frecuencia de recopilación de métricas del agente para cargas de trabajo de procesamiento, en segundos.
El valor predeterminado es |
sqlserver_configuration.credential_configurations[].connection_parameters[].host |
Nombre de host de SQL Server. |
sqlserver_configuration.credential_configurations[].connection_parameters[].username |
Especifica la cuenta de usuario que se usa para consultar la instancia de SQL Server. Para configurar los permisos de la cuenta, revisa los permisos necesarios en la secuencia de comandos de permisos y otórgalos según tus políticas internas. Nota: Si usas la autenticación de Windows, asegúrate de especificar el nombre de usuario en el siguiente formato:
|
sqlserver_configuration.credential_configurations[].connection_parameters[].secret.project_id |
Es el ID del proyecto en el que se almacena el secreto. Establécelo en una cadena vacía ("") si el secreto y la instancia de VM del host existen en el mismo proyecto de Google Cloud . |
sqlserver_configuration.credential_configurations[].connection_parameters[].secret.secret_name |
Para proporcionar de forma segura la contraseña de la cuenta de usuario de la base de datos que el agente usa para consultar SQL Server, especifica el nombre del secreto en Secret Manager que contiene las credenciales de seguridad de la cuenta de usuario de la base de datos. Nota: El secreto y la instancia de VM del host deben existir en el mismo proyecto de Google Cloud . |
sqlserver_configuration.credential_configurations[].connection_parameters[].port |
Especifica el puerto en el que la instancia de SQL Server acepta consultas. |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.host |
Dirección IP o FQDN de la VM de Windows remota |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.username |
Especifica la cuenta de usuario que se usa para conectarse de forma remota a la VM de Windows. |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.secret.secret_name |
Para proporcionar de forma segura la contraseña de la cuenta de usuario de Windows que el agente usa para conectarse de forma remota a la VM, especifica el nombre del secreto en Secret Manager que contiene las credenciales de seguridad de la cuenta de usuario de la base de datos. Nota: El secreto y la instancia de VM del host deben existir en el mismo proyecto de Google Cloud . |
sqlserver_configuration.credential_configurations[].local_collection |
Especifica |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.host |
Dirección IP o FQDN de la VM de Linux remota. |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.username |
Especifica la cuenta de usuario que se usa para conectarse de forma remota a la VM de Linux. |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameter.port |
Especifica el número de puerto SSH para la VM de Linux remota. |
sqlserver_configuration.credential_configurations[].remote_linux.linux_ssh_private_key_path |
Especifica la ruta de acceso al archivo de clave privada SSH. |
sqlserver_configuration.credential_configurations[].vm_properties.instance_name |
Especifica el nombre de tu instancia de VM de Compute Engine. Nota: Es opcional para la recopilación local. |
sqlserver_configuration.credential_configurations[].vm_properties.instance_id |
Especifica el ID de tu instancia de VM de Compute Engine. Nota: Es opcional para la recopilación local. |
sqlserver_configuration.collection_timeout |
Es el tiempo de espera para la recopilación de métricas, en segundos. El valor predeterminado es "10 s". |
sqlserver_configuration.max_retries |
Es la cantidad máxima de reintentos cuando se produce una recopilación fallida. El valor predeterminado es "3". |
sqlserver_configuration.retry_frequency |
Especifica la frecuencia con la que el agente debe reintentar la recopilación cuando falla. El valor predeterminado es "3600 s". |
sqlserver_configuration.remote_collection |
Especifica |
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 SQL Server:
Recopilación local
{ "log_level": "INFO", "common_discovery": { "collection_frequency": "10800s" }, "sqlserver_configuration": { "enabled": true, "collection_configuration": { "collect_guest_os_metrics": true, "collect_sql_metrics": true, "collection_frequency": "60s" }, "credential_configurations": [ { "connection_parameters": [ { "host": ".", "username": "db_user_name", "secret": { "project_id": "", "secret_name": "idb_pwd_secret_name" }, "port": 1433 } ], "local_collection": true } ], "collection_timeout": "60s", "max_retries": 5, "retry_frequency": "3600s" } }
Recopilación remota
{ "log_level": "INFO", "common_discovery": { "collection_frequency": "10800s" }, "sqlserver_configuration": { "enabled": true, "collection_configuration": { "collect_guest_os_metrics": true, "collect_sql_metrics": true, "collection_frequency": "60s" }, "credential_configurations": [ { "connection_parameters": [ { "host": "sql_server_instance", "username": "db_user_name", "secret": { "project_id": "", "secret_name": "db_pwd_secret_name" }, "port": 1433 } ], "remote_win": { "connection_parameters": { "host": "sql_server_instance", "username": "user_name", "secret": { "project_id": "", "secret_name": "pwd_secret_name" } } }, "vm_properties": { "instance_name": "db01", "instance_id": "9999999999999999999" } }, { "connection_parameters": [ { "host": "sql_server_instance", "username": "db_user_name", "secret": { "project_id": "", "secret_name": "db_pwd_secret_name" }, "port": 1433 } ], "remote_linux": { "connection_parameters": { "host": "sql_server_instance", "username": "user_name", "secret": { "project_id": "", "secret_name": "pwd_secret_name" }, "port": 22 }, "linux_ssh_private_key_path": "path of the private key" }, "vm_properties": { "instance_name": "db02", "instance_id": "9999999999999999999" } } ], "collection_timeout": "10s", "max_retries": 3, "retry_frequency": "3600s", "remote_collection": true } }
Verifica la versión del agente
Para ver la versión de tu agente, completa los siguientes pasos:
Windows
- Usa RDP para conectarte a la máquina anfitrión.
- Como administrador, ejecuta el siguiente comando desde PowerShell:
googet installed google-cloud-workload-agent
RHEL
- Usa SSH para conectarte a la máquina anfitrión.
- Ejecuta el comando siguiente:
yum info google-cloud-workload-agent
SUSE
- Usa SSH para conectarte a la máquina anfitrión.
- Ejecuta el comando siguiente:
zypper info google-cloud-workload-agent
Debian
- Usa SSH para conectarte a la máquina anfitrión.
- Ejecuta el comando siguiente:
dpkg -s google-cloud-workload-agent | grep version
Reinicia el agente
Si el agente para cargas de trabajo de Compute deja de funcionar o actualizas su configuración, reinicia el agente.
Selecciona tu sistema operativo y, luego, sigue estos pasos:
Windows
- Usa RDP para conectarte a la máquina anfitrión.
- Como administrador, ejecuta el siguiente comando desde PowerShell:
Restart-Service -Name 'google-cloud-workload-agent' -Force
Linux
- Usa SSH para conectarte a la máquina anfitrión.
- Ejecuta el comando siguiente:
sudo systemctl restart google-cloud-workload-agent
Actualiza el agente
Para asegurarte de tener la versión más reciente del agente, debes verificar si hay actualizaciones periódicamente y actualizar el agente.
Busca actualizaciones
Selecciona tu sistema operativo y, luego, sigue estos pasos:
Windows
- Usa RDP para conectarte a la máquina anfitrión.
- Como administrador, ejecuta el siguiente comando desde PowerShell:
googet latest google-cloud-workload-agent
RHEL
- Usa SSH para conectarte a la máquina anfitrión.
- Ejecuta el comando siguiente:
sudo yum check-update google-cloud-workload-agent
SLES
- Usa SSH para conectarte a la máquina anfitrión.
- Ejecuta el comando siguiente:
sudo zypper list-updates -r google-cloud-workload-agent
Debian
- Usa SSH para conectarte a la máquina anfitrión.
- Ejecuta el comando siguiente:
sudo apt list google-cloud-workload-agent
Instala una actualización
Selecciona tu sistema operativo y, luego, sigue estos pasos:
Windows
- Usa RDP para conectarte a la máquina anfitrión.
- Como administrador, ejecuta el siguiente comando desde PowerShell:
googet install google-cloud-workload-agent
RHEL
- Usa SSH para conectarte a la máquina anfitrión.
- Ejecuta el comando siguiente:
sudo yum --nogpgcheck update google-cloud-workload-agent
SLES
- Usa SSH para conectarte a la máquina anfitrión.
- Ejecuta el comando siguiente:
sudo zypper --no-gpg-checks update google-cloud-workload-agent
Debian
- Usa SSH para conectarte a la máquina anfitrión.
- Ejecuta el comando siguiente:
sudo apt-get install google-cloud-workload-agent
Visualiza los registros del agente en Cloud Logging
De forma predeterminada, los registros del agente de cargas de trabajo de procesamiento se redireccionan de tus instancias de VM a Cloud Logging.
Para ver los registros del agente en Logging, sigue estos pasos:
En la consola de Google Cloud , accede a la página Explorador de registros.
Ve al panel Consulta.
En el menú desplegable Recursos, selecciona Global y, luego, haz clic en Aplicar.
En el Editor de consultas, ingresa
google-cloud-workload-agent.Haz clic en Ejecutar consulta.
Deberías ver los registros que generaron las instancias de agente que se ejecutan en todas tus instancias de VM. Para filtrar los registros de una máquina específica, usa los filtros disponibles en la interfaz.
Inhabilita los registros del agente en Cloud Logging
Para inhabilitar el redireccionamiento predeterminado de los registros del agente a Cloud Logging, sigue estos pasos:
Establece una conexión RDP o SSH con la instancia de VM del host.
Reemplaza el archivo de configuración del agente:
Windows
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
Linux
/etc/google-cloud-workload-agent/configuration.json
Para la propiedad
log_to_cloud, actualiza el valor afalse.Guarda el archivo de configuración.
Reinicia el agente para que se aplique este cambio.
Solucionar problemas
En las siguientes secciones, se proporciona información sobre problemas habituales relacionados con el uso del agente para cargas de trabajo de Compute, sus causas y la resolución.
Permisos de autenticación insuficientes
Problema: Si limitas los permisos de acceso en la instancia de VM de host, los registros del agente para cargas de trabajo de Compute pueden mostrar un error de permisos de IAM insuficientes.
googleapi: Error 403: Request had insufficient authentication scopes.
Details:
[
{
"@type": "type.googleapis.com/google.rpc.ErrorInfo",
"domain": "googleapis.com",
"metadata": {
"method": "google.cloud.workloadmanager.datawarehouse.v1.DataCollectService.WriteInsight",
"service": "workloadmanager.googleapis.com"
},
"reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT"
}
]
More details:
Reason: insufficientPermissions, Message: Insufficient Permission
Causa: El agente para cargas de trabajo de Compute requiere permisos de acceso mínimos a la API de Cloud en la instancia de VM del host.
Resolución: Para resolver este problema, habilita los alcances de acceso requeridos.
No se pudo cargar el archivo de configuración
Problema: Si el archivo de configuración tiene valores no válidos, verás el siguiente error.
"Failed to load configuration","pid":3524,"error":"proto: (line 19:42): unknown
field "{field_name}"
Resolución: Para resolver este problema, actualiza el archivo de configuración con los detalles que se indican en Parámetros de configuración.
No se pudo inicializar la recopilación de datos
Problema: Después de instalar el agente, si no se actualiza el archivo de configuración, verás el siguiente error:
"Failed to initialize guest collection","pid":2112,"error":"invalid value for "user_name" "secret_name"
Resolución: Para resolver este problema, inicializa la configuración de credenciales con Parámetros de configuración.
¿Qué sigue?
- Obtén más información sobre las evaluaciones de cargas de trabajo.