Ce document explique comment installer Agent for Compute Workloads sur des instances Compute Engine et le configurer pour qu'il se connecte à une charge de travail Redis exécutée sur ces instances de calcul.
Une fois l'agent installé et configuré, il collecte les métriques de votre charge de travail Redis et des instances de calcul sous-jacentes, puis les envoie à Workload Manager. Vous pouvez ensuite utiliser l'évaluation Workload Manager pour analyser vos charges de travail Redis et détecter les écarts par rapport aux bonnes pratiques concernant les configurations d'infrastructure, de système d'exploitation et de charge de travail.
Avant de commencer
Avant d'installer et de configurer Agent for Compute Workloads, vous devez vous assurer que les conditions préalables suivantes sont remplies :
- Vous avez déployé une charge de travail Redis sur une ou plusieurs instances de calcul.
- Vous avez attribué les rôles IAM requis pour l'agent.
- Vous avez activé l'accès aux APIs Cloud.
Rôles IAM requis pour l'agent
Agent for Compute Workloads utilise le compte de service associé à l'instance de calcul pour l'authentification et pour accéder aux ressources Google Cloud .
Pour améliorer la sécurité, nous vous recommandons d'utiliser un compte de service à usage unique plutôt que le compte de service Compute Engine par défaut.
Pour vous assurer que le compte de service dispose des autorisations nécessaires pour permettre à Agent for Compute Workloads de s'authentifier auprès deGoogle Cloud et d'accéder aux ressources Google Cloud , demandez à votre administrateur d'accorder au compte de service les rôles IAM suivants dans votre projet :
-
Lecteur Compute (
roles/compute.viewer) : pour collecter des métriques à partir de l'instance de calcul. -
Rédacteur d'insights Workload Manager (
roles/workloadmanager.insightWriter) : permet d'écrire des données dans l'entrepôt de données Workload Manager. -
(Recommandé) Rédacteur de journaux (
roles/logging.logWriter) : pour envoyer les journaux de l'agent à Cloud Logging. -
(Facultatif) Accesseur de secrets Secret Manager (
roles/secretmanager.secretAccessor) : si vous utilisez Secret Manager pour stocker le mot de passe permettant de se connecter à l'instance Redis.
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Votre administrateur peut également attribuer au compte de service les autorisations requises à l'aide de rôles personnalisés ou d'autres rôles prédéfinis.
Activer l'accès aux APIs Cloud
Compute Engine recommande de configurer vos instances de façon à accorder un niveau d'accès complet à toutes les APIs Cloud et à n'utiliser que les autorisations IAM du compte de service de l'instance pour contrôler les accès aux ressourcesGoogle Cloud . Pour en savoir plus, consultez Créer une VM qui utilise un compte de service géré par l'utilisateur.
Si vous limitez l'accès aux APIs Cloud, Agent for Compute Workloads nécessite au minimum les niveaux d'accès suivants aux APIs Cloud sur l'instance de calcul hôte :
https://www.googleapis.com/auth/cloud-platform
Pour en savoir plus, consultez les bonnes pratiques concernant les niveaux d'accès.
Si vous exécutez des applications Redis sur une instance de calcul qui ne possède pas d'adresse IP externe, vous devez activer l'accès privé à Google sur le sous-réseau de l'instance afin qu'Agent for Compute Workloads puisse accéder aux API et services Google. Pour savoir comment activer l'accès privé à Google, consultez Configurer l'accès privé à Google.
Installer et configurer l'agent à l'aide du gestionnaire de packages
Cette section vous explique comment installer Agent for Compute Workloads sur votre instance de calcul et le configurer pour qu'il se connecte à une instance Redis à l'aide d'un gestionnaire de packages.
Pour installer Agent for Compute Workloads, procédez comme suit :
RHEL
Sur Red Hat Enterprise Linux (RHEL), vous installez Agent for Compute Workloads à l'aide de la commande de gestion de packages yum. Cette commande effectue les tâches suivantes :
- Elle télécharge la dernière version de l'agent.
- Elle crée un service
systemdpour l'agent, nommégoogle-cloud-workload-agent. - Elle active et démarre le service
google-cloud-workload-agent.
Pour installer et configurer Agent for Compute Workloads sur une instance de calcul basée sur RHEL, procédez comme suit :
Établissez une connexion SSH avec votre instance de calcul.
Dans votre terminal, installez l'agent :
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-agentModifiez le fichier de configuration de l'agent :
/etc/google-cloud-workload-agent/configuration.jsonSpécifiez des valeurs pour tous les paramètres obligatoires, comme décrit dans Paramètres de configuration.
Enregistrez le fichier de configuration.
Redémarrez l'agent pour que les modifications prennent effet.
SLES
Sur SUSE Linux Enterprise Server (SLES), vous installez Agent for Compute Workloads à l'aide de la commande de gestion des packages zypper. Cette commande effectue les tâches suivantes :
- Elle télécharge la dernière version de l'agent.
- Elle crée un service
systemdpour l'agent, nommégoogle-cloud-workload-agent. - Elle active et démarre le service
google-cloud-workload-agent.
Pour installer et configurer Agent for Compute Workloads sur une instance de calcul basée sur SLES, procédez comme suit :
Établissez une connexion SSH avec votre instance de calcul.
Dans votre terminal, installez l'agent :
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-agentModifiez le fichier de configuration de l'agent :
/etc/google-cloud-workload-agent/configuration.jsonSpécifiez des valeurs pour tous les paramètres obligatoires, comme décrit dans Paramètres de configuration.
Enregistrez le fichier de configuration.
Redémarrez l'agent pour que les modifications prennent effet.
Debian
Sur Debian, vous installez Agent for Compute Workloads à l'aide de la commande de gestion des packages apt. Cette commande effectue les tâches suivantes :
- Elle télécharge la dernière version de l'agent.
- Elle crée un service
systemdpour l'agent, nommégoogle-cloud-workload-agent. - Elle active et démarre le service
google-cloud-workload-agent.
Pour installer et configurer Agent for Compute Workloads sur une instance de calcul basée sur Debian, procédez comme suit :
Établissez une connexion SSH avec votre instance de calcul.
Dans votre terminal, installez l'agent :
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-agentModifiez le fichier de configuration de l'agent :
/etc/google-cloud-workload-agent/configuration.jsonSpécifiez des valeurs pour tous les paramètres obligatoires, comme décrit dans Paramètres de configuration.
Enregistrez le fichier de configuration.
Redémarrez l'agent pour que les modifications prennent effet.
Windows
Sous Windows, vous installez Agent for Compute Workloads à l'aide de la commande de gestion de packages googet. Cette commande effectue les tâches suivantes :
- Elle télécharge la dernière version de l'agent.
- Elle crée un service Windows nommé
google-cloud-workload-agent. - Elle crée une tâche planifiée qui s'exécute toutes les minutes pour vérifier si le service est en cours d'exécution et, si nécessaire, le redémarrer.
Pour installer et configurer Agent for Compute Workloads sur une instance de calcul basée sur Windows, procédez comme suit :
Établissez une connexion avec votre instance de calcul à l'aide de RDP.
Pour savoir comment procéder, consultez Se connecter à des VM Windows à l'aide de RDP.
En tant qu'administrateur, exécutez les commandes suivantes à partir de 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-agentModifiez le fichier de configuration de l'agent :
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.jsonSpécifiez des valeurs pour tous les paramètres obligatoires, comme décrit dans Paramètres de configuration.
Enregistrez le fichier de configuration.
Redémarrez l'agent pour que les modifications prennent effet.
Installer et gérer l'agent sur un parc de VM à l'aide de VM Extension Manager
Configurer VM Extension Manager
Pour configurer VM Extension Manager, procédez comme suit :
- Dans la documentation du Gestionnaire d'extensions de VM, consultez la section Avant de commencer.
Configurez les rôles IAM nécessaires pour créer et gérer les règles du Gestionnaire d'extensions de VM. Pour en savoir plus, consultez les ressources suivantes :
Installer l'agent sur un parc de VM
Pour installer la dernière version d'Agent for Compute Workloads sur votre parc de VM dans une zone spécifique à l'aide d'une stratégie VM Extension Manager, procédez comme suit :
Console
Dans la console Google Cloud , accédez à la page Règles d'extension de VM.
Cliquez sur Créer une règle d'extension.
Dans le champ Nom, saisissez un nom pour la règle.
Facultatif : Dans le champ Description, saisissez une description de la règle.
Dans le champ Priorité, spécifiez un numéro de priorité pour résoudre les conflits entre les règles. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est
1000.Dans les listes Région et Zone, sélectionnez la zone dans laquelle vous souhaitez appliquer cette règle.
Dans la section Extensions, cliquez sur Ajouter une extension, puis procédez comme suit :
- Dans la liste Extension, sélectionnez Extension Google Cloud pour les charges de travail Compute.
Laissez le champ Version vide.
Cette directive indique à la stratégie d'installer la dernière version d'Agent for Compute Workloads.
Dans le champ Contenu du fichier de configuration, saisissez la configuration que vous souhaitez appliquer à l'agent.
Pour en savoir plus sur les paramètres de configuration compatibles avec l'agent pour votre charge de travail Redis, consultez Paramètres de configuration.
Cliquez sur OK.
Facultatif : Pour limiter le déploiement de la règle aux VM requises, procédez comme suit :
- Cliquez sur Ajouter des libellés et incluez les libellés qui identifient les VM requises.
- Cliquez sur OK.
Cliquez sur Créer.
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]
Remplacez les éléments suivants :
POLICY_NAME: nom de la règle d'extension de VM.La commande échoue si une règle portant le nom spécifié existe déjà dans la zone.
ZONE: zone à laquelle appliquer cette règle.CONFIG_FILE_PATH: chemin d'accès local au fichier JSON contenant la configuration permettant à l'agent pour les charges de travail Compute de se connecter à votre charge de travail Redis.- Vous pouvez également fournir la configuration sous forme de chaîne intégrée à l'aide de l'indicateur
--configau lieu de--config-from-file. Exemple :--config=google-cloud-workload-extension="CONFIG". Google Cloud vous recommande d'utiliser--config-from-file. - Vous pouvez utiliser
--config-from-fileou--config, mais pas les deux dans la même commande. - Pour en savoir plus sur les paramètres de configuration compatibles avec l'agent pour votre charge de travail Redis, consultez Paramètres de configuration.
- Vous pouvez également fournir la configuration sous forme de chaîne intégrée à l'aide de l'indicateur
DESCRIPTION: description facultative de la règle.KEY_1=VALUE_1: liste de paires clé-valeur séparées par une virgule qui définissent les libellés utilisés par la règle pour cibler les VM.- Pour qu'une VM soit ciblée par votre règle, elle doit comporter tous les libellés spécifiés.
- Si vous spécifiez
--inclusion-labelsplusieurs fois, la règle cible les VM qui correspondent à l'un des sélecteurs fournis (ORlogique). Si vous omettez cet indicateur, la règle cible toutes les VM de la zone spécifiée.
PRIORITY: entier compris entre0et65535qui définit la priorité de la règle. Plus le nombre est faible, plus la priorité est élevée. La valeur par défaut est1000.
Exemple :
La commande suivante crée une règle nommée test-agent-policy dans le projetGoogle Cloud nommé test-project, qui installe la dernière version de l'agent pour les charges de travail Compute sur toutes les VM déployées dans la zone us-centrail-f.
La configuration spécifiée dans agent-config.json est appliquée à l'agent.
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"
Vérifier l'installation de l'agent
Pour vérifier que l'agent s'exécute comme prévu, procédez comme suit :
RHEL
Établissez une connexion SSH avec votre instance de calcul.
Vérifiez l'état du package de l'agent :
systemctl status google-cloud-workload-agentSi le package d'agent s'exécute comme prévu, la sortie contient
active (running). Exemple :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
Établissez une connexion SSH avec votre instance de calcul.
Vérifiez l'état du package de l'agent :
systemctl status google-cloud-workload-agentSi le package d'agent s'exécute comme prévu, la sortie contient
active (running). Exemple :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
Établissez une connexion SSH avec votre instance de calcul.
Vérifiez l'état du package de l'agent :
systemctl status google-cloud-workload-agentSi le package d'agent s'exécute comme prévu, la sortie contient
active (running). Exemple :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
Établissez une connexion avec votre instance de calcul à l'aide de RDP.
Pour savoir comment procéder, consultez Se connecter à des VM Windows à l'aide de RDP.
En tant qu'administrateur, exécutez la commande suivante à partir de PowerShell :
$(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).StatusSi l'agent s'exécute comme prévu, l'état est
Running.
Exemple de fichier de configuration
Voici un exemple de configuration qui permet à Agent for Compute Workloads de se connecter à une instance Redis. Pour l'authentification, un secret Secret Manager est utilisé. Il est stocké dans le même projet Google Cloud que celui dans lequel l'instance Redis est exécutée.
{
"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
}
}
}
Paramètres de configuration
Le tableau suivant décrit les paramètres de configuration d'Agent for Compute Workloads qui prennent en charge les évaluations pour les charges de travail Redis :
| Paramètres | |
|---|---|
log_level |
Pour définir le niveau de journalisation de l'agent, définissez la valeur requise. Les niveaux de journalisation disponibles sont les suivants :
Le niveau de journalisation par défaut est |
log_to_cloud |
Pour rediriger les journaux de l'agent vers Cloud Logging, spécifiez |
agent_properties.log_usage_metrics |
Pour activer la journalisation des métriques d'état de l'agent, définissez la valeur sur |
common_discovery.collection_frequency |
Spécifiez la fréquence, en secondes, à laquelle le service de découverte des charges de travail de l'agent s'exécute. La valeur par défaut est Assurez-vous que la valeur de ce paramètre se termine par un |
redis_configuration.enabled
|
Pour permettre à l'agent de collecter des métriques à partir de l'instance Redis, définissez la valeur sur |
redis_configuration.connection_parameters.username |
Spécifiez le compte utilisateur utilisé par l'agent pour interroger l'instance Redis. |
redis_configuration.connection_parameters.password |
Spécifiez le mot de passe en texte brut du compte utilisateur utilisé par l'agent pour interroger l'instance Redis. Au lieu de spécifier un mot de passe en texte brut, nous vous recommandons d'utiliser les paramètres Pour l'authentification, l'agent utilise l'ordre de préférence suivant : si elle est spécifiée, la série de paramètres |
redis_configuration.connection_parameters.secret.secret_name |
Facultatif. Pour fournir de manière sécurisée le mot de passe du compte utilisateur utilisé par l'agent pour interroger l'instance Redis, spécifiez le nom du secret Secret Manager contenant le mot de passe. Pour l'authentification, l'agent utilise l'ordre de préférence suivant : si elle est spécifiée, la série de paramètres |
redis_configuration.connection_parameters.secret.project_id |
Facultatif. Pour utiliser le paramètre Si le secret et la charge de travail se trouvent dans le même projet Google Cloud , définissez la valeur de ce paramètre sur une chaîne vide ( |
redis_configuration.connection_parameters.host |
Spécifiez le nom d'hôte Redis. |
redis_configuration.connection_parameters.port |
Spécifiez le port sur lequel votre instance Redis accepte les requêtes. |