Agent für MySQL-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 MySQL-Arbeitslast herstellt, die auf diesen Compute-Instanzen ausgeführt wird.

Nachdem Sie den Agent installiert und konfiguriert haben, erfasst er Messwerte zu Ihrer MySQL-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 MySQL-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 MySQL-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 MySQL-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 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.

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.

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 MySQL-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 MySQL-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 MySQL-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:

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

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.

Beispiel: Konfigurationsdatei

Das folgende Beispiel zeigt eine Konfiguration, mit der der Agent for Compute Workloads eine Verbindung zu einer MySQL-Instanz herstellen kann. Für die Authentifizierung wird ein Secret Manager-Secret verwendet, das im selben Google Cloud -Projekt gespeichert ist, in dem die MySQL-Instanz ausgeführt wird.

{
  "log_level": "INFO",
  "common_discovery": {
    "collection_frequency": "10800s"
  },
  "mysql_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 des Agent for Compute Workloads beschrieben, der Bewertungen für MySQL-Arbeitslasten unterstützt:

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.

mysql_configuration.enabled

Boolean

Wenn der Agent Messwerte von der MySQL-Instanz erfassen soll, legen Sie den Wert auf true fest. Der Standardwert ist false.

mysql_configuration.connection_parameters.username

String

Geben Sie das Nutzerkonto an, das der Agent zum Abfragen der MySQL-Instanz verwendet.

mysql_configuration.connection_parameters.password

String

Geben Sie das Nur-Text-Passwort für das Nutzerkonto an, das der Agent zum Abfragen der MySQL-Instanz verwendet.

Anstatt ein Nur-Text-Passwort anzugeben, empfehlen wir die Verwendung der Parameter secret.name und secret.project_id.

Für die Authentifizierung verwendet der Agent die folgende Prioritätsreihenfolge: Wenn angegeben, wird der Parametersatz secret dem Parameter password vorgezogen. Wir empfehlen, in der Konfigurationsdatei des Agents nur eine Authentifizierungsoption festzulegen.

mysql_configuration.connection_parameters.secret.secret_name

String

Optional. Um das Passwort für das Nutzerkonto, das der Agent zum Abfragen der MySQL-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 secret dem Parameter password vorgezogen. Wir empfehlen, in der Konfigurationsdatei des Agents nur eine Authentifizierungsoption festzulegen.

mysql_configuration.connection_parameters.secret.project_id

String

Optional. Wenn Sie den Parameter secret.secret_name verwenden möchten, um das angegebene Nutzerkonto zu authentifizieren, geben Sie die Projekt-ID des Google Cloud -Projekts an, in dem das Secret Manager-Secret gespeichert ist.

Wenn sich das Secret und die Arbeitslast im selben Google Cloud Projekt befinden, setzen Sie den Wert dieses Parameters auf einen leeren String ("").

mysql_configuration.connection_parameters.host

String

Geben Sie den MySQL-Hostnamen an.

mysql_configuration.connection_parameters.port

Int

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

Nächste Schritte