Agent für Microsoft SQL Server-Arbeitslasten einrichten

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:

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:

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:

  1. Stellen Sie mit RDP eine Verbindung zu Ihrer Compute-Instanz her.

    Informationen dazu finden Sie unter Verbindung zu Windows-VMs über RDP herstellen.

  2. 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
    
  3. Öffnen Sie die Konfigurationsdatei des Agents.

    %ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
    
  4. Geben Sie Werte für alle Pflichtparameter an, wie unter Konfigurationsparameter beschrieben.

  5. Konfigurationsdatei speichern

  6. 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 Namen google-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:

  1. Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.

  2. 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
    
  3. Öffnen Sie die Konfigurationsdatei des Agents.

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Geben Sie Werte für alle Pflichtparameter an, wie unter Konfigurationsparameter beschrieben.

  5. Konfigurationsdatei speichern

  6. 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 Namen google-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:

  1. Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.

  2. 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
    
  3. Öffnen Sie die Konfigurationsdatei des Agents.

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Geben Sie Werte für alle Pflichtparameter an, wie unter Konfigurationsparameter beschrieben.

  5. Konfigurationsdatei speichern

  6. 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 Namen google-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:

  1. Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.

  2. 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
    
  3. Öffnen Sie die Konfigurationsdatei des Agents.

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Geben Sie Werte für alle Pflichtparameter an, wie unter Konfigurationsparameter beschrieben.

  5. Konfigurationsdatei speichern

  6. 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:

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

  1. Rufen Sie in der Google Cloud Console die Seite VM-Erweiterungsrichtlinien auf.

    Zu den VM-Erweiterungsrichtlinien

  2. Klicken Sie auf Erweiterungsrichtlinie erstellen.

  3. Geben Sie im Feld Name einen Namen für die Richtlinie ein.

  4. Optional: Geben Sie im Feld Beschreibung eine Beschreibung für die Richtlinie ein.

  5. 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.

  6. Wählen Sie in den Listen Region und Zone die Zone aus, in der Sie diese Richtlinie anwenden möchten.

  7. Klicken Sie im Bereich Erweiterungen auf Erweiterung hinzufügen und gehen Sie dann so vor:

    1. Wählen Sie in der Liste Extension die Option Google Cloud's Extension for Compute Workloads aus.
    2. Lassen Sie das Feld Version leer.

      Dadurch wird die Richtlinie angewiesen, die neueste Version des Agents für Compute-Arbeitslasten zu installieren.

    3. 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.

    4. Klicken Sie auf Fertig.

  8. Optional: So beschränken Sie die Einführung der Richtlinie auf die erforderlichen VMs:

    1. Klicken Sie auf Labels hinzufügen und fügen Sie die Labels hinzu, mit denen die erforderlichen VMs identifiziert werden.
    2. Klicken Sie auf Fertig.
  9. 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 --config anstelle 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-file oder --config verwenden, 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.
  • 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-labels mehrmals angeben, richtet sich die Richtlinie an VMs, die einen der angegebenen Selektoren erfüllen (logisches OR). Wenn Sie dieses Flag weglassen, richtet sich die Richtlinie an alle VMs in der angegebenen Zone.
  • PRIORITY: Eine Ganzzahl zwischen 0 und 65535, die die Priorität der Richtlinie definiert. Niedrigere Zahlen bedeuten eine höhere Priorität. Der Standardwert ist 1000.

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

  1. Stellen Sie mit RDP eine Verbindung zu Ihrer Compute-Instanz her.

    Informationen dazu finden Sie unter Verbindung zu Windows-VMs über RDP herstellen.

  2. Als Administrator führen Sie den folgenden Befehl in PowerShell aus:

    $(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).Status
    

    Wenn der Agent wie erwartet ausgeführt wird, wird der Status Running angezeigt.

RHEL

  1. Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.

  2. Prüfen Sie den Status des Agent-Pakets:

    systemctl status google-cloud-workload-agent
    

    Wenn 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

  1. Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.

  2. Prüfen Sie den Status des Agent-Pakets:

    systemctl status google-cloud-workload-agent
    

    Wenn 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

  1. Stellen Sie eine SSH-Verbindung zu Ihrer Compute-Instanz her.

  2. Prüfen Sie den Status des Agent-Pakets:

    systemctl status google-cloud-workload-agent
    

    Wenn 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

String

Legen Sie den erforderlichen Wert fest, um die Logging-Ebene des Agents festzulegen. Folgende Logebenen sind verfügbar:

  • DEBUG
  • INFO
  • WARNING
  • ERROR

Die Standard-Logebene ist INFO. Ändern Sie die Logging-Ebene nur, wenn Sie von Cloud Customer Care angewiesen werden.

log_to_cloud

Boolean

Geben Sie true an, um die Logs des Agents an Cloud Logging weiterzuleiten. Der Standardwert ist true.

agent_properties.log_usage_metrics

Boolean

Wenn Sie das Logging der Zustandsmesswerte des Agents aktivieren möchten, legen Sie den Wert auf true fest. Der Standardwert ist false.

common_discovery.collection_frequency

Duration

Geben Sie die Häufigkeit in Sekunden an, mit der der Dienst zur Ermittlung der Arbeitslast des Agents ausgeführt wird. Der Standardwert ist 10800s.

Der Wert dieses Parameters muss mit einem Kleinbuchstaben s enden.

sqlserver_configuration.enabled

Boolean

Wenn Sie die Erfassung von SQL Server-Messwerten im Agent aktivieren möchten, legen Sie den Wert auf true fest. Der Standardwert ist false.

sqlserver_configuration.collection_configuration.collect_guest_os_metrics

Boolean

Legen Sie den Wert auf true fest, um die Erfassung von Betriebssystemmesswerten zu aktivieren. Der Standardwert ist true.
Legen Sie für sqlserver_configuration.collection_configuration.collect_guest_os_metrics nur false fest, es sei denn, Sie werden vom Cloud Customer Care angeleitet.

sqlserver_configuration.collection_configuration.collect_sql_metrics

Boolean

Geben Sie true an, um die Erfassung von SQL Server-Messwerten zu aktivieren. Der Standardwert ist true.
Legen Sie für sqlserver_configuration.collection_configuration.collect_sql_metrics nur false fest, es sei denn, Sie werden vom Cloud Customer Care angeleitet.

sqlserver_configuration.collection_configuration.collection_frequency

Duration

Häufigkeit der Erfassung von Messwerten für den Agent für Computing-Arbeitslasten in Sekunden. Standardwert ist 3600s. Sie können die Erfassungshäufigkeit aktualisieren. Wir empfehlen jedoch, den Standardwert beizubehalten.

sqlserver_configuration.credential_configurations[].connection_parameters[].host

String

Der Hostname des SQL-Servers.

sqlserver_configuration.credential_configurations[].connection_parameters[].username

String

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: domain-name\\user-name

sqlserver_configuration.credential_configurations[].connection_parameters[].secret.project_id

String

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

String

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

Int

Geben Sie den Port an, über den die SQL Server-Instanz Abfragen akzeptiert.

sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.host

String

IP-Adresse oder FQDN der Remote-Windows-VM

sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.username

String

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

String

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

Boolean

Geben Sie true an, um anzugeben, dass der Agent lokale Daten erhebt. Der Standardwert ist true.

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.host

String

IP-Adresse oder FQDN der Remote-Linux-VM.

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.username

String

Geben Sie das Nutzerkonto an, das für die Remoteverbindung zur Linux-VM verwendet wird.

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameter.port

Int

Geben Sie die SSH-Portnummer für die Remote-Linux-VM an.

sqlserver_configuration.credential_configurations[].remote_linux.linux_ssh_private_key_path

String

Geben Sie den Pfad zur privaten SSH-Schlüsseldatei an.

sqlserver_configuration.credential_configurations[].vm_properties.instance_name

String

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

String

Geben Sie die ID Ihrer Compute Engine-VM-Instanz an.

Hinweis:Optional für die lokale Erfassung.

sqlserver_configuration.collection_timeout

Duration

Das Zeitlimit für die Messwerterfassung in Sekunden. Der Standardwert ist „10 s“.

sqlserver_configuration.max_retries

Int

Die maximale Anzahl von Wiederholungsversuchen bei einer fehlgeschlagenen Erhebung. Der Standardwert ist „3“.

sqlserver_configuration.retry_frequency

Duration

Geben Sie an, wie oft der Agent es bei einem Erfassungsfehler noch einmal versuchen soll. Der Standardwert ist „3600s“.

sqlserver_configuration.remote_collection

Boolean

Geben Sie true an, um anzugeben, dass der Agent Daten remote erfasst. Der Standardwert ist false.

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

  1. Stellen Sie eine RDP-Verbindung zum Hostcomputer her.
  2. Als Administrator führen Sie den folgenden Befehl in PowerShell aus:
    googet installed google-cloud-workload-agent

RHEL

  1. Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
  2. Führen Sie dazu diesen Befehl aus:
    yum info google-cloud-workload-agent

SUSE

  1. Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
  2. Führen Sie dazu diesen Befehl aus:
    zypper info google-cloud-workload-agent

Debian

  1. Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
  2. 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

  1. Stellen Sie eine RDP-Verbindung zum Hostcomputer her.
  2. Als Administrator führen Sie den folgenden Befehl in PowerShell aus:
    Restart-Service -Name 'google-cloud-workload-agent' -Force

Linux

  1. Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
  2. 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

  1. Stellen Sie eine RDP-Verbindung zum Hostcomputer her.
  2. Als Administrator führen Sie den folgenden Befehl in PowerShell aus:
    googet latest google-cloud-workload-agent

RHEL

  1. Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
  2. Führen Sie dazu diesen Befehl aus:
    sudo yum check-update google-cloud-workload-agent

SLES

  1. Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
  2. Führen Sie dazu diesen Befehl aus:
    sudo zypper list-updates -r google-cloud-workload-agent

Debian

  1. Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
  2. 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

  1. Stellen Sie eine RDP-Verbindung zum Hostcomputer her.
  2. Als Administrator führen Sie den folgenden Befehl in PowerShell aus:
    googet install google-cloud-workload-agent

RHEL

  1. Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
  2. Führen Sie dazu diesen Befehl aus:
    sudo yum --nogpgcheck update google-cloud-workload-agent

SLES

  1. Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
  2. Führen Sie dazu diesen Befehl aus:
    sudo zypper --no-gpg-checks update google-cloud-workload-agent

Debian

  1. Stellen Sie eine SSH-Verbindung zum Hostcomputer her.
  2. 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:

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Rufen Sie den Bereich Abfrage auf.

  3. Wählen Sie im Drop-down-Menü Ressourcen die Option Global aus und klicken Sie dann auf Übernehmen.

  4. Geben Sie im Abfrageeditor google-cloud-workload-agent ein.

  5. 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:

  1. Stellen Sie eine RDP- oder SSH-Verbindung zu Ihrer Host-VM her.

  2. Öffnen Sie die Konfigurationsdatei des Agents.

    Windows

    %ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json

    Linux

    /etc/google-cloud-workload-agent/configuration.json

  3. Aktualisieren Sie für das Attribut log_to_cloud den Wert auf false.

  4. Speichern Sie die Konfigurationsdatei.

  5. 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.

Nächste Schritte