In diesem Dokument wird beschrieben, wie Sie den Agent for Compute Workloads auf Compute Engine-Instanzen installieren und den Agent so konfigurieren, dass er eine Verbindung zu einer Redis-Arbeitslast herstellt, die auf diesen Compute-Instanzen ausgeführt wird.
Nachdem Sie den Agenten installiert und konfiguriert haben, erfasst er Messwerte zu Ihrer Redis-Arbeitslast und den zugrunde liegenden Compute-Instanzen und sendet sie an Workload Manager. Anschließend können Sie die Workload Manager-Bewertung verwenden, um Ihre Redis-Arbeitslasten auf Abweichungen von Best Practices für Infrastruktur-, Betriebssystem- und Arbeitslastkonfigurationen zu prüfen.
Hinweise
Bevor Sie den Agent für Compute Workloads installieren und konfigurieren, müssen die folgenden Voraussetzungen erfüllt sein:
- Sie haben eine Redis-Arbeitslast auf einer oder mehreren Compute-Instanzen bereitgestellt.
- Sie haben dem Agenten die erforderlichen IAM-Rollen zugewiesen.
- Sie haben den Zugriff auf Cloud APIs aktiviert.
Erforderliche IAM-Rollen für den Agent
Der Agent für Compute-Arbeitslasten verwendet das Dienstkonto, das an die Compute-Instanz angehängt ist, zur Authentifizierung und zum Zugriff auf Google Cloud Ressourcen.
Zur Verbesserung der Sicherheit empfehlen wir, ein Dienstkonto für einen bestimmten Zweck anstelle des Compute Engine-Standarddienstkontos zu verwenden.
Damit das Dienstkonto die erforderlichen Berechtigungen hat, damit sich der Agent für Compute-Arbeitslasten beiGoogle Cloud authentifizieren und auf Google Cloud -Ressourcen zugreifen kann, bitten Sie Ihren Administrator, dem Dienstkonto die folgenden IAM-Rollen für Ihr Projekt zuzuweisen:
-
Compute-Betrachter (
roles/compute.viewer): zum Erheben von Messwerten aus der Compute Engine-Instanz. -
Workload Manager Insights Writer (
roles/workloadmanager.insightWriter): zum Schreiben von Daten in das Workload Manager-Data Warehouse. -
(Empfohlen) Logs Writer (
roles/logging.logWriter): zum Senden von Agent-Logs an Cloud Logging. -
Optional: Secret-Zugriffsperson für Secret Manager (
roles/secretmanager.secretAccessor): wenn Sie Secret Manager zum Speichern des Passworts für die Verbindung mit der Redis-Instanz verwenden.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Ihr Administrator kann dem Dienstkonto möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.
Zugriff auf Cloud APIs aktivieren
Compute Engine empfiehlt, Ihre Instanzen so zu konfigurieren, dass sie allen Cloud APIs alle Zugriffsbereiche gewähren und dass Sie nur die IAM-Berechtigungen des Instanzdienstkontos verwenden, um den Zugriff aufGoogle Cloud -Ressourcen zu steuern. Weitere Informationen finden Sie unter VM mit vom Nutzer verwalteten Dienstkonto erstellen.
Wenn Sie den Zugriff auf die Cloud APIs beschränken, benötigt der Agent für Compute-Arbeitslasten mindestens die folgenden Cloud APIs-Zugriffsbereiche auf der Host-Compute-Instanz:
https://www.googleapis.com/auth/cloud-platform
Weitere Informationen finden Sie unter Best Practices für Bereiche.
Wenn Sie Redis-Anwendungen auf einer Compute-Instanz ausführen, die keine externe IP-Adresse hat, müssen Sie den privaten Google-Zugriff im Subnetz der Instanz aktivieren, damit der Agent für Compute-Arbeitslasten auf die Google APIs und Dienste zugreifen kann. Informationen zum Aktivieren des privater Google-Zugriff finden Sie unter Privaten Google-Zugriff konfigurieren.
Agent mit dem Paketmanager installieren und konfigurieren
In diesem Abschnitt wird beschrieben, wie Sie den Agent for Compute Workloads auf Ihrer Compute-Instanz installieren und ihn so konfigurieren, dass er mithilfe eines Paketmanagers eine Verbindung zu einer Redis-Instanz herstellt.
Führen Sie die folgenden Schritte aus, um den Agent für Compute-Arbeitslasten zu installieren:
RHEL
Unter Red Hat Enterprise Linux (RHEL) installieren Sie den Agent for Compute Workloads mit dem Paketverwaltungsbefehl yum. Mit diesem Befehl werden die folgenden Aufgaben ausgeführt:
- Lädt die aktuelle Version des Agents herunter.
- Erstellt einen
systemd-Dienst für den Agent mit dem Namengoogle-cloud-workload-agent. - Aktiviert und startet den Dienst
google-cloud-workload-agent.
So installieren und konfigurieren Sie den Agenten für Computing-Arbeitslasten auf einer RHEL-basierten Compute-Instanz:
Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.
Installieren Sie den Agent im Terminal:
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Öffnen Sie die Konfigurationsdatei des Agents.
/etc/google-cloud-workload-agent/configuration.jsonGeben Sie Werte für alle Pflichtparameter an, wie unter Konfigurationsparameter beschrieben.
Konfigurationsdatei speichern
Starten Sie den Agent neu, damit die Änderungen wirksam werden.
SLES
Unter SUSE Linux Enterprise Server (SLES) installieren Sie den Agent for Compute Workloads mit dem Paketverwaltungsbefehl zypper. Mit diesem Befehl werden die folgenden Aufgaben ausgeführt:
- Lädt die aktuelle Version des Agents herunter.
- Erstellt einen
systemd-Dienst für den Agent mit dem Namengoogle-cloud-workload-agent. - Aktiviert und startet den Dienst
google-cloud-workload-agent.
Führen Sie die folgenden Schritte aus, um den Agenten für Computing-Arbeitslasten auf einer auf SLES basierenden Compute-Instanz zu installieren und zu konfigurieren:
Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.
Installieren Sie den Agent im Terminal:
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Öffnen Sie die Konfigurationsdatei des Agents.
/etc/google-cloud-workload-agent/configuration.jsonGeben Sie Werte für alle Pflichtparameter an, wie unter Konfigurationsparameter beschrieben.
Konfigurationsdatei speichern
Starten Sie den Agent neu, damit die Änderungen wirksam werden.
Debian
Unter Debian installieren Sie den Agenten für Computing-Arbeitslasten mit dem Paketverwaltungsbefehl apt. Mit diesem Befehl werden die folgenden Aufgaben ausgeführt:
- Lädt die aktuelle Version des Agents herunter.
- Erstellt einen
systemd-Dienst für den Agent mit dem Namengoogle-cloud-workload-agent. - Aktiviert und startet den Dienst
google-cloud-workload-agent.
Führen Sie die folgenden Schritte aus, um den Agenten für Computing-Arbeitslasten auf einer Debian-basierten Compute-Instanz zu installieren und zu konfigurieren:
Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.
Installieren Sie den Agent im Terminal:
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Öffnen Sie die Konfigurationsdatei des Agents.
/etc/google-cloud-workload-agent/configuration.jsonGeben Sie Werte für alle Pflichtparameter an, wie unter Konfigurationsparameter beschrieben.
Konfigurationsdatei speichern
Starten Sie den Agent neu, damit die Änderungen wirksam werden.
Windows
Unter Windows installieren Sie den Agenten für Computing-Arbeitslasten mit dem Paketverwaltungsbefehl googet. Mit diesem Befehl werden die folgenden Aufgaben ausgeführt:
- Lädt die aktuelle Version des Agents herunter.
- Erstellt einen Windows-Dienst mit dem Namen
google-cloud-workload-agent. - Erstellt eine geplante Aufgabe, die jede Minute ausgeführt wird, um zu prüfen, ob der Dienst ausgeführt wird, und ihn bei Bedarf neu zu starten.
Führen Sie die folgenden Schritte aus, um den Agenten für Computing-Arbeitslasten auf einer Windows-basierten Compute-Instanz zu installieren und zu konfigurieren:
Stellen Sie mit RDP eine Verbindung zu Ihrer Compute-Instanz her.
Informationen dazu finden Sie unter Verbindung zu Windows-VMs über RDP herstellen.
Als Administrator führen Sie die folgenden Befehle in PowerShell aus:
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Öffnen Sie die Konfigurationsdatei des Agents.
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.jsonGeben Sie Werte für alle Pflichtparameter an, wie unter Konfigurationsparameter beschrieben.
Konfigurationsdatei speichern
Starten Sie den Agent neu, damit die Änderungen wirksam werden.
Agent mithilfe von VM Extension Manager auf einer Reihe von VMs installieren und verwalten
VM Extension Manager einrichten
Führen Sie die folgenden Schritte aus, um VM Extension Manager einzurichten:
- Lesen Sie in der Dokumentation zum VM Extension Manager den Abschnitt Vorbereitung.
Richten Sie die IAM-Rollen ein, die zum Erstellen und Verwalten von VM Extension Manager-Richtlinien erforderlich sind. Hier finden Sie weitere Informationen:
Agent auf mehreren VMs installieren
Führen Sie die folgenden Schritte aus, um die neueste Version des Agents für Compute-Arbeitslasten auf Ihrer VM-Flotte in einer bestimmten Zone mit einer VM Extension Manager-Richtlinie zu installieren:
Console
Rufen Sie in der Google Cloud Console die Seite VM-Erweiterungsrichtlinien auf.
Klicken Sie auf Erweiterungsrichtlinie erstellen.
Geben Sie im Feld Name einen Namen für die Richtlinie ein.
Optional: Geben Sie im Feld Beschreibung eine Beschreibung für die Richtlinie ein.
Geben Sie im Feld Priorität eine Prioritätsnummer an, um Konflikte zwischen Richtlinien zu beheben. Niedrigere Zahlen bedeuten eine höhere Priorität. Der Standardwert ist
1000.Wählen Sie in den Listen Region und Zone die Zone aus, in der Sie diese Richtlinie anwenden möchten.
Klicken Sie im Bereich Erweiterungen auf Erweiterung hinzufügen und gehen Sie dann so vor:
- Wählen Sie in der Liste Extension die Option Google Cloud's Extension for Compute Workloads aus.
Lassen Sie das Feld Version leer.
Dadurch wird die Richtlinie angewiesen, die neueste Version des Agents für Compute-Arbeitslasten zu installieren.
Geben Sie im Feld Inhalt der Konfigurationsdatei die Konfiguration ein, die Sie auf den Agent anwenden möchten.
Informationen zu den Konfigurationsparametern, die vom Agent für Ihre Redis-Arbeitslast unterstützt werden, finden Sie unter Konfigurationsparameter.
Klicken Sie auf Fertig.
Optional: So beschränken Sie die Einführung der Richtlinie auf die erforderlichen VMs:
- Klicken Sie auf Labels hinzufügen und fügen Sie die Labels hinzu, mit denen die erforderlichen VMs identifiziert werden.
- Klicken Sie auf Fertig.
Klicken Sie auf Erstellen.
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]
Ersetzen Sie Folgendes:
POLICY_NAME: Ein Name für die VM-Erweiterungsrichtlinie.Der Befehl schlägt fehl, wenn in der Zone bereits eine Richtlinie mit dem angegebenen Namen vorhanden ist.
ZONE: die Zone, in der Sie diese Richtlinie anwenden möchten.CONFIG_FILE_PATH: Der lokale Pfad zur JSON-Datei, die die Konfiguration für den Agent for Compute Workloads enthält, um eine Verbindung zu Ihrer Redis-Arbeitslast herzustellen.- Alternativ können Sie die Konfiguration als Inline-String angeben. Verwenden Sie dazu das Flag
--configanstelle von--config-from-file. Beispiel:--config=google-cloud-workload-extension="CONFIG". Google Cloud empfiehlt die Verwendung von--config-from-file. - Sie können entweder
--config-from-fileoder--configverwenden, aber nicht beides im selben Befehl. - Informationen zu den Konfigurationsparametern, die vom Agent für Ihre Redis-Arbeitslast unterstützt werden, finden Sie unter Konfigurationsparameter.
- Alternativ können Sie die Konfiguration als Inline-String angeben. Verwenden Sie dazu das Flag
DESCRIPTION: eine optionale Beschreibung der Richtlinie.KEY_1=VALUE_1: Eine durch Kommas getrennte Liste von Schlüssel/Wert-Paaren, die die Labels definieren, mit denen die Richtlinie auf VMs ausgerichtet wird.- Damit eine VM von Ihrer Richtlinie erfasst wird, muss sie alle angegebenen Labels haben.
- Wenn Sie
--inclusion-labelsmehrmals angeben, richtet sich die Richtlinie an VMs, die einen der angegebenen Selektoren erfüllen (logischesOR). Wenn Sie dieses Flag weglassen, richtet sich die Richtlinie an alle VMs in der angegebenen Zone.
PRIORITY: Eine Ganzzahl zwischen0und65535, die die Priorität der Richtlinie definiert. Niedrigere Zahlen bedeuten eine höhere Priorität. Der Standardwert ist1000.
Beispiel:
Mit dem folgenden Befehl wird eine Richtlinie mit dem Namen test-agent-policy im ProjektGoogle Cloud mit dem Namen test-project erstellt, die die neueste Version des Agents für Compute-Arbeitslasten auf allen VMs installiert, die in der Zone us-centrail-f bereitgestellt werden.
Die im agent-config.json angegebene Konfiguration wird auf den Agent angewendet.
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"
Agent-Installation überprüfen
So prüfen Sie, ob der Agent wie erwartet ausgeführt wird:
RHEL
Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.
Prüfen Sie den Status des Agent-Pakets:
systemctl status google-cloud-workload-agentWenn das Agent-Paket wie erwartet ausgeführt wird, enthält die Ausgabe
active (running). Beispiel: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
Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.
Prüfen Sie den Status des Agent-Pakets:
systemctl status google-cloud-workload-agentWenn das Agent-Paket wie erwartet ausgeführt wird, enthält die Ausgabe
active (running). Beispiel: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
Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.
Prüfen Sie den Status des Agent-Pakets:
systemctl status google-cloud-workload-agentWenn das Agent-Paket wie erwartet ausgeführt wird, enthält die Ausgabe
active (running). Beispiel: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
Stellen Sie mit RDP eine Verbindung zu Ihrer Compute-Instanz her.
Informationen dazu finden Sie unter Verbindung zu Windows-VMs über RDP herstellen.
Als Administrator führen Sie den folgenden Befehl in PowerShell aus:
$(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).StatusWenn der Agent wie erwartet ausgeführt wird, wird der Status
Runningangezeigt.
Beispiel: Konfigurationsdatei
Das Folgende ist ein Beispiel für eine Konfiguration, mit der der Agent für Compute-Arbeitslasten eine Verbindung zu einer Redis-Instanz herstellen kann. Für die Authentifizierung wird ein Secret Manager-Secret verwendet, das im selben Google Cloud Projekt gespeichert ist, in dem die Redis-Instanz ausgeführt wird.
{
"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
}
}
}
Konfigurationsparameter
In der folgenden Tabelle werden die Konfigurationsparameter von Agent for Compute Workloads beschrieben, die Bewertungen für Redis-Arbeitslasten unterstützen:
| Parameter | |
|---|---|
log_level |
Legen Sie den erforderlichen Wert fest, um die Logging-Ebene des Agents festzulegen. Folgende Logebenen sind verfügbar:
Die Standard-Logebene ist |
log_to_cloud |
Geben Sie |
agent_properties.log_usage_metrics |
Wenn Sie das Logging der Zustandsmesswerte des Agents aktivieren möchten, legen Sie den Wert auf |
common_discovery.collection_frequency |
Geben Sie die Häufigkeit in Sekunden an, mit der der Dienst zur Ermittlung der Arbeitslast des Agents ausgeführt wird. Der Standardwert ist Der Wert dieses Parameters muss mit einem Kleinbuchstaben |
redis_configuration.enabled
|
Wenn der Agent Messwerte aus der Redis-Instanz erfassen soll, legen Sie den Wert auf |
redis_configuration.connection_parameters.username |
Geben Sie das Nutzerkonto an, das der Agent zum Abfragen der Redis-Instanz verwendet. |
redis_configuration.connection_parameters.password |
Geben Sie das Nur-Text-Passwort für das Nutzerkonto an, das der Agent zum Abfragen der Redis-Instanz verwendet. Anstatt ein Nur-Text-Passwort anzugeben, empfehlen wir die Verwendung der Parameter Für die Authentifizierung verwendet der Agent die folgende Prioritätsreihenfolge: Wenn angegeben, wird der Parametersatz |
redis_configuration.connection_parameters.secret.secret_name |
Optional. Um das Passwort für das Nutzerkonto, das der Agent zum Abfragen der Redis-Instanz verwendet, sicher bereitzustellen, geben Sie den Namen des Secret Manager-Secrets an, das das Passwort enthält. Für die Authentifizierung verwendet der Agent die folgende Prioritätsreihenfolge: Wenn angegeben, wird der Parametersatz |
redis_configuration.connection_parameters.secret.project_id |
Optional. Wenn Sie den Parameter Wenn sich das Secret und die Arbeitslast im selben Google Cloud Projekt befinden, setzen Sie den Wert dieses Parameters auf einen leeren String ( |
redis_configuration.connection_parameters.host |
Geben Sie den Redis-Hostnamen an. |
redis_configuration.connection_parameters.port |
Geben Sie den Port an, über den Ihre Redis-Instanz Abfragen akzeptiert. |