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 Microsoft SQL Server-Arbeitslast herstellt, die auf diesen Compute-Instanzen ausgeführt wird.
Nachdem Sie den Agent installiert und konfiguriert haben, erfasst er Messwerte zu Ihrer SQL Server-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 SQL Server-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 SQL Server-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.
- Sie haben die erforderlichen Berechtigungen für SQL Server erteilt.
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) Zugriffsperson für Secret Manager-Secret (
roles/secretmanager.secretAccessor): wenn Sie Secret Manager zum Speichern des Passworts für die Verbindung mit der SQL Server-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 SQL Server-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 for Compute Workloads auf die Google APIs und Dienste zugreifen kann. Informationen zum Aktivieren des privater Google-Zugriff finden Sie unter Privaten Google-Zugriff konfigurieren.
Erforderliche Berechtigungen für SQL Server
Verwenden Sie das folgende Skript, um dem im Agent konfigurierten Nutzerkonto die erforderlichen Berechtigungen zuzuweisen.
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''
'
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 so konfigurieren, dass er mithilfe eines Paketmanagers eine Verbindung zu einer SQL Server-Instanz herstellt.
Führen Sie die folgenden Schritte aus, um den Agent für Compute-Arbeitslasten zu installieren:
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.
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.
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 SQL Server-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 SQL Server-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 SQL Server-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:
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.
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
Konfigurationsparameter
In der folgenden Tabelle werden die Parameter für die Konfigurationsdatei des Agents beschrieben.
| 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 |
sqlserver_configuration.enabled |
Wenn Sie die Erfassung von SQL Server-Messwerten im Agent aktivieren möchten, legen Sie den Wert auf |
sqlserver_configuration.collection_configuration.collect_guest_os_metrics |
Legen Sie den Wert auf |
sqlserver_configuration.collection_configuration.collect_sql_metrics |
Geben Sie |
sqlserver_configuration.collection_configuration.collection_frequency |
Häufigkeit der Erfassung von Messwerten für den Agent für Computing-Arbeitslasten in Sekunden.
Standardwert ist |
sqlserver_configuration.credential_configurations[].connection_parameters[].host |
Der Hostname des SQL-Servers. |
sqlserver_configuration.credential_configurations[].connection_parameters[].username |
Geben Sie das Nutzerkonto an, das zum Abfragen der SQL Server-Instanz verwendet wird. Prüfen Sie zum Konfigurieren von Kontoberechtigungen die im Berechtigungsskript erforderlichen Berechtigungen und erteilen Sie sie gemäß Ihren internen Richtlinien. Hinweis:Wenn Sie die Windows-Authentifizierung verwenden, geben Sie den Nutzernamen im folgenden Format an:
|
sqlserver_configuration.credential_configurations[].connection_parameters[].secret.project_id |
Die ID des Projekts, in dem das Secret gespeichert ist. Legen Sie sie auf einen leeren String ("") fest, wenn sich das Secret und die Host-VM-Instanz im selben Google Cloud -Projekt befinden. |
sqlserver_configuration.credential_configurations[].connection_parameters[].secret.secret_name |
Um das Passwort für das Datenbanknutzerkonto, das der Agent zum Abfragen von SQL Server verwendet, sicher bereitzustellen, geben Sie den Namen des Secrets in Secret Manager an, das die Sicherheitsanmeldedaten für das Datenbanknutzerkonto enthält. Hinweis:Das Secret und die Host-VM-Instanz müssen im selben Google Cloud -Projekt vorhanden sein. |
sqlserver_configuration.credential_configurations[].connection_parameters[].port |
Geben Sie den Port an, über den die SQL Server-Instanz Abfragen akzeptiert. |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.host |
IP-Adresse oder FQDN der Remote-Windows-VM |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.username |
Geben Sie das Nutzerkonto an, das für die Remote-Verbindung zur Windows-VM verwendet wird. |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.secret.secret_name |
Um das Passwort für das Windows-Nutzerkonto, das der Agent für die Remote-Verbindung zur VM verwendet, sicher bereitzustellen, geben Sie den Namen des Secrets im Secret Manager an, das die Sicherheitsanmeldedaten für das Datenbanknutzerkonto enthält. Hinweis:Das Secret und die Host-VM-Instanz müssen im selben Google Cloud -Projekt vorhanden sein. |
sqlserver_configuration.credential_configurations[].local_collection |
Geben Sie |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.host |
IP-Adresse oder FQDN der Remote-Linux-VM. |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.username |
Geben Sie das Nutzerkonto an, das für die Remoteverbindung zur Linux-VM verwendet wird. |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameter.port |
Geben Sie die SSH-Portnummer für die Remote-Linux-VM an. |
sqlserver_configuration.credential_configurations[].remote_linux.linux_ssh_private_key_path |
Geben Sie den Pfad zur privaten SSH-Schlüsseldatei an. |
sqlserver_configuration.credential_configurations[].vm_properties.instance_name |
Geben Sie den Namen Ihrer Compute Engine-VM-Instanz an. Hinweis:Optional für die lokale Erhebung. |
sqlserver_configuration.credential_configurations[].vm_properties.instance_id |
Geben Sie die ID Ihrer Compute Engine-VM-Instanz an. Hinweis:Optional für die lokale Erfassung. |
sqlserver_configuration.collection_timeout |
Das Zeitlimit für die Messwerterfassung in Sekunden. Der Standardwert ist „10 s“. |
sqlserver_configuration.max_retries |
Die maximale Anzahl von Wiederholungsversuchen bei einer fehlgeschlagenen Erhebung. Der Standardwert ist „3“. |
sqlserver_configuration.retry_frequency |
Geben Sie an, wie oft der Agent es bei einem Erfassungsfehler noch einmal versuchen soll. Der Standardwert ist „3600s“. |
sqlserver_configuration.remote_collection |
Geben Sie |
Beispiel: Konfigurationsdatei
Das folgende Beispiel zeigt eine Konfiguration, mit der der Agent for Compute Workloads eine Verbindung zu einer SQL Server-Instanz herstellen kann:
Lokale Sammlung
{ "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" } }
Abrufen von E-Mails auf einem externen System
{ "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 } }
Version des Agents prüfen
Führen Sie folgende Schritte aus, um die Version Ihres Agents zu prüfen:
Windows
- Stellen Sie eine RDP-Verbindung zum Hostcomputer her.
- Als Administrator führen Sie den folgenden Befehl in PowerShell aus:
googet installed google-cloud-workload-agent
RHEL
- Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
- Führen Sie dazu diesen Befehl aus:
yum info google-cloud-workload-agent
SUSE
- Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
- Führen Sie dazu diesen Befehl aus:
zypper info google-cloud-workload-agent
Debian
- Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
- Führen Sie dazu diesen Befehl aus:
dpkg -s google-cloud-workload-agent | grep version
Agent neu starten
Wenn der Agent für Compute-Arbeitslasten nicht mehr funktioniert oder Sie seine Konfiguration aktualisieren, starten Sie den Agent neu.
Wählen Sie Ihr Betriebssystem aus und folgen Sie dann den Schritten:
Windows
- Stellen Sie eine RDP-Verbindung zum Hostcomputer her.
- Als Administrator führen Sie den folgenden Befehl in PowerShell aus:
Restart-Service -Name 'google-cloud-workload-agent' -Force
Linux
- Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
- Führen Sie dazu diesen Befehl aus:
sudo systemctl restart google-cloud-workload-agent
Agent aktualisieren
Um sicherzustellen, dass Sie die neueste Version des Agents verwenden, müssen Sie regelmäßig nach Updates suchen und den Agent aktualisieren.
Auf Aktualisierungen überprüfen
Wählen Sie Ihr Betriebssystem aus und folgen Sie dann den Schritten:
Windows
- Stellen Sie eine RDP-Verbindung zum Hostcomputer her.
- Als Administrator führen Sie den folgenden Befehl in PowerShell aus:
googet latest google-cloud-workload-agent
RHEL
- Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
- Führen Sie dazu diesen Befehl aus:
sudo yum check-update google-cloud-workload-agent
SLES
- Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
- Führen Sie dazu diesen Befehl aus:
sudo zypper list-updates -r google-cloud-workload-agent
Debian
- Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
- Führen Sie dazu diesen Befehl aus:
sudo apt list google-cloud-workload-agent
Update installieren
Wählen Sie Ihr Betriebssystem aus und folgen Sie dann den Schritten:
Windows
- Stellen Sie eine RDP-Verbindung zum Hostcomputer her.
- Als Administrator führen Sie den folgenden Befehl in PowerShell aus:
googet install google-cloud-workload-agent
RHEL
- Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
- Führen Sie dazu diesen Befehl aus:
sudo yum --nogpgcheck update google-cloud-workload-agent
SLES
- Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
- Führen Sie dazu diesen Befehl aus:
sudo zypper --no-gpg-checks update google-cloud-workload-agent
Debian
- Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
- Führen Sie dazu diesen Befehl aus:
sudo apt-get install google-cloud-workload-agent
Logs des Agents in Cloud Logging ansehen
Standardmäßig werden die Logs für den Agent für Computing-Arbeitslasten von Ihren VM-Instanzen zu Cloud Logging umgeleitet.
So rufen Sie die Logs des Agents in Logging auf:
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Rufen Sie den Bereich Abfrage auf.
Wählen Sie im Drop-down-Menü Ressourcen die Option Global aus und klicken Sie dann auf Übernehmen.
Geben Sie im Abfrageeditor
google-cloud-workload-agentein.Klicken Sie auf Abfrage ausführen.
Sie sollten die Logs sehen, die von den Agent-Instanzen generiert wurden, die auf allen VM-Instanzen ausgeführt werden. Um die Logs von einer bestimmten Maschine zu filtern, verwenden Sie die in der Benutzeroberfläche verfügbaren Filter.
Logs des Agents in Cloud Logging deaktivieren
So deaktivieren Sie die Standardweiterleitung der Agent-Logs an Cloud Logging:
Stellen Sie eine RDP- oder SSH-Verbindung zu Ihrer Host-VM her.
Öffnen Sie die Konfigurationsdatei des Agents.
Windows
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
Linux
/etc/google-cloud-workload-agent/configuration.json
Aktualisieren Sie für das Attribut
log_to_cloudden Wert auffalse.Speichern Sie die Konfigurationsdatei.
Starten Sie den Agent neu, damit diese Änderung wirksam wird.
Fehlerbehebung
In den folgenden Abschnitten finden Sie Informationen zu häufigen Problemen bei der Verwendung von Agent for Compute Workloads, deren Ursachen und Lösungen.
Unzureichende Authentifizierungsbereiche
Problem: Wenn Sie die Zugriffsbereiche auf Ihrer Host-VM-Instanz einschränken, enthalten die Agent for Compute Workloads-Logs möglicherweise einen Fehler, der unzureichende IAM-Berechtigungen angibt.
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
Ursache:Der Agent für Compute-Arbeitslasten erfordert minimale Cloud API-Zugriffsbereiche auf der Host-VM-Instanz.
Lösung: Aktivieren Sie die erforderlichen Zugriffsbereiche, um dieses Problem zu beheben.
Konfigurationsdatei konnte nicht geladen werden
Problem:Wenn die Konfigurationsdatei ungültige Werte enthält, wird der folgende Fehler angezeigt.
"Failed to load configuration","pid":3524,"error":"proto: (line 19:42): unknown
field "{field_name}"
Lösung:Aktualisieren Sie die Konfigurationsdatei anhand der Informationen unter Konfigurationsparameter, um dieses Problem zu beheben.
Fehler beim Initialisieren der Datenerhebung
Problem:Nach der Installation des Agents wird die Konfigurationsdatei nicht aktualisiert und Sie sehen den folgenden Fehler:
"Failed to initialize guest collection","pid":2112,"error":"invalid value for "user_name" "secret_name"
Lösung:Initialisieren Sie die Anmeldedatenkonfiguration mit Konfigurationsparametern, um dieses Problem zu beheben.