Configura l'agente per i workload MySQL

Questo documento mostra come installare l'agente per i carichi di lavoro di calcolo sulle istanze Compute Engine e come configurarlo per la connessione a un carico di lavoro MySQL in esecuzione su queste istanze di calcolo.

Dopo aver installato e configurato l'agente, questo raccoglie le metriche del tuo carico di lavoro MySQL e delle istanze di calcolo sottostanti e le invia a Workload Manager. Puoi quindi utilizzare la valutazione di Workload Manager per analizzare i tuoi carichi di lavoro MySQL alla ricerca di deviazioni dalle best practice per le configurazioni di infrastruttura, sistema operativo e carichi di lavoro.

Prima di iniziare

Prima di installare e configurare l'agente per i carichi di lavoro di Compute, devi assicurarti che siano soddisfatti i seguenti prerequisiti:

Ruoli IAM richiesti per l'agente

L'agente per i workload di computing utilizza il account di servizio collegato all'istanza di computing per l'autenticazione e per accedere alle risorse Google Cloud .

Per migliorare la sicurezza, ti consigliamo di utilizzare un service account monouso anziché l'account di servizio predefinito di Compute Engine.

Per assicurarti che il account di servizio disponga delle autorizzazioni necessarie per consentire all'agente per i carichi di lavoro di Compute di autenticarsi conGoogle Cloud e accedere alle risorse Google Cloud , chiedi all'amministratore di concedere al account di servizio i seguenti ruoli IAM sul tuo progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

L'amministratore potrebbe anche essere in grado di concedere al account di servizio le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.

Abilitare l'accesso alle API Cloud

Compute Engine consiglia di configurare le istanze in modo da consentire tutti gli ambiti di accesso a tutte le API Cloud e di utilizzare solo le autorizzazioni IAM del account di servizio dell'istanza per controllare l'accesso alle risorseGoogle Cloud . Per maggiori informazioni, vedi Crea una VM che utilizza un service account gestito dall'utente.

Se limiti l'accesso alle API Cloud, l'agente per i workload di Compute richiede almeno i seguenti ambiti di accesso alle API Cloud sull'istanza di calcolo host:

https://www.googleapis.com/auth/cloud-platform

Per saperne di più, consulta le best practice per gli ambiti.

Se esegui applicazioni MySQL su un'istanza di computing che non ha un indirizzo IP esterno, devi abilitare l'accesso privato Google nella subnet dell'istanza in modo che l'agente per i carichi di lavoro di Compute possa accedere alle API e ai servizi di Google. Per informazioni su come attivare l'accesso privato Google, consulta Configurare l'accesso privato Google.

Installare e configurare l'agente utilizzando il gestore di pacchetti

Questa sezione mostra come installare l'agente per i carichi di lavoro di Compute sulla tua istanza di calcolo e come configurarlo per la connessione a un'istanza MySQL utilizzando un gestore di pacchetti.

Per installare l'agente per i workload di Compute, completa i seguenti passaggi:

RHEL

Su Red Hat Enterprise Linux (RHEL), installa l'agente per i carichi di lavoro di Compute utilizzando il comando di gestione dei pacchetti yum. Questo comando completa le seguenti attività:

  • Scarica l'ultima versione dell'agente.
  • Crea un servizio systemd per l'agente, denominato google-cloud-workload-agent.
  • Attiva e avvia il servizio google-cloud-workload-agent.

Per installare e configurare l'agente per i workload di calcolo su un'istanza di calcolo basata su RHEL, completa i seguenti passaggi:

  1. Stabilisci una connessione SSH con l'istanza di calcolo.

  2. Nel terminale, installa l'agente:

    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. Apri il file di configurazione dell'agente:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Specifica i valori per tutti i parametri obbligatori, come descritto in Parametri di configurazione.

  5. Salvare il file di configurazione

  6. Riavvia l'agente per far sì che le modifiche diventino effettive.

SLES

Su SUSE Linux Enterprise Server (SLES), installa l'agente per i carichi di lavoro di calcolo utilizzando il comando di gestione dei pacchetti zypper. Questo comando completa le seguenti attività:

  • Scarica l'ultima versione dell'agente.
  • Crea un servizio systemd per l'agente, denominato google-cloud-workload-agent.
  • Attiva e avvia il servizio google-cloud-workload-agent.

Per installare e configurare l'agente per i workload di calcolo su un'istanza di calcolo basata su SLES, completa i seguenti passaggi:

  1. Stabilisci una connessione SSH con l'istanza di calcolo.

  2. Nel terminale, installa l'agente:

    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. Apri il file di configurazione dell'agente:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Specifica i valori per tutti i parametri obbligatori, come descritto in Parametri di configurazione.

  5. Salvare il file di configurazione

  6. Riavvia l'agente per far sì che le modifiche diventino effettive.

Debian

Su Debian, installa l'agente per i carichi di lavoro di Compute utilizzando il comando di gestione dei pacchetti apt. Questo comando completa le seguenti attività:

  • Scarica l'ultima versione dell'agente.
  • Crea un servizio systemd per l'agente, denominato google-cloud-workload-agent.
  • Attiva e avvia il servizio google-cloud-workload-agent.

Per installare e configurare l'agente per i workload di Compute su un'istanza di calcolo basata su Debian, completa i seguenti passaggi:

  1. Stabilisci una connessione SSH con l'istanza di calcolo.

  2. Nel terminale, installa l'agente:

    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. Apri il file di configurazione dell'agente:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Specifica i valori per tutti i parametri obbligatori, come descritto in Parametri di configurazione.

  5. Salvare il file di configurazione

  6. Riavvia l'agente per far sì che le modifiche diventino effettive.

Windows

Su Windows, installa l'agente per i workload di Compute utilizzando il comando di gestione dei pacchetti googet. Questo comando completa le seguenti attività:

  • Scarica l'ultima versione dell'agente.
  • Crea un servizio Windows denominato google-cloud-workload-agent.
  • Crea un'attività pianificata che viene eseguita ogni minuto per verificare se il servizio è in esecuzione e, se necessario, riavvia il servizio.

Per installare e configurare l'agente per i workload di calcolo su un'istanza di calcolo basata su Windows, completa i seguenti passaggi:

  1. Stabilisci una connessione con l'istanza di computing utilizzando RDP.

    Per informazioni su come farlo, consulta Connettiti alle VM Windows utilizzando RDP.

  2. In qualità di amministratore, esegui i seguenti comandi da PowerShell:

    googet addrepo google-cloud-workload-agent  https://packages.cloud.google.com/yuck/repos/google-cloud-workload-agent-windows-x86_64
    googet install google-cloud-workload-agent
    
  3. Apri il file di configurazione dell'agente:

    %ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
    
  4. Specifica i valori per tutti i parametri obbligatori, come descritto in Parametri di configurazione.

  5. Salvare il file di configurazione

  6. Riavvia l'agente per far sì che le modifiche diventino effettive.

Installare e gestire l'agente su un parco risorse di VM utilizzando VM Extension Manager

Configura Gestore di estensioni VM

Per configurare VM Extension Manager, completa i seguenti passaggi:

Installare l'agente su un parco risorse di VM

Per installare l'ultima versione dell'agente per i carichi di lavoro di Compute sulla flotta di VM all'interno di una zona specifica utilizzando una policy di VM Extension Manager, completa i seguenti passaggi:

Console

  1. Nella console Google Cloud , vai alla pagina Policy delle estensioni VM.

    Vai a Policy di estensione VM

  2. Fai clic su Crea policy di estensione.

  3. Nel campo Nome, inserisci un nome per la policy.

  4. (Facoltativo) Nel campo Descrizione, inserisci una descrizione della policy.

  5. Nel campo Priority (Priorità), specifica un numero di priorità per risolvere i conflitti tra le policy. I numeri più bassi indicano una priorità più alta. Il valore predefinito è 1000.

  6. Utilizzando gli elenchi Regione e Zona, seleziona la zona in cui vuoi applicare questa policy.

  7. Nella sezione Estensioni, fai clic su Aggiungi estensione e poi esegui le seguenti operazioni:

    1. Nell'elenco Estensione, seleziona Estensione di Google Cloud per i workload di computing.
    2. Lascia vuoto il campo Version (Versione).

      In questo modo, il criterio viene indirizzato all'installazione dell'ultima versione di Agent for Compute Workloads.

    3. Nel campo Contenuto del file di configurazione, inserisci la configurazione che vuoi applicare all'agente.

      Per informazioni sui parametri di configurazione supportati dall'agente per il tuo workload MySQL, consulta Parametri di configurazione.

    4. Fai clic su Fine.

  8. (Facoltativo) Per limitare l'implementazione della policy alle VM richieste:

    1. Fai clic su Aggiungi etichette e includi le etichette che identificano le VM richieste.
    2. Fai clic su Fine.
  9. Fai clic su Crea.

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]

Sostituisci quanto segue:

  • POLICY_NAME: un nome per la policy di estensione VM.

    Il comando non va a buon fine se esiste già una norma con il nome specificato nella zona.

  • ZONE: la zona in cui vuoi applicare questa policy.

  • CONFIG_FILE_PATH: il percorso locale del file JSON che contiene la configurazione per l'agente per i workload di Compute per connettersi al tuo workload MySQL.

    • In alternativa, per fornire la configurazione come stringa incorporata, utilizza il flag --config anziché --config-from-file. Ad esempio --config=google-cloud-workload-extension="CONFIG". Google Cloud ti consiglia di utilizzare --config-from-file.
    • Puoi utilizzare --config-from-file o --config, ma non entrambi nello stesso comando.
    • Per informazioni sui parametri di configurazione supportati dall'agente per il tuo workload MySQL, consulta Parametri di configurazione.
  • DESCRIPTION: una descrizione facoltativa della policy.

  • KEY_1=VALUE_1: un elenco separato da virgole di coppie chiave-valore che definiscono le etichette utilizzate dalla policy per il targeting delle VM.

    • Affinché una VM sia il target della tua policy, deve avere tutte le etichette specificate.
    • Se specifichi --inclusion-labels più volte, la policy ha come target le VM che corrispondono a uno qualsiasi dei selettori forniti (OR logico). Se ometti questo flag, la policy ha come target tutte le VM nella zona specificata.
  • PRIORITY: un numero intero compreso tra 0 e 65535 che definisce la priorità del criterio. I numeri più bassi indicano una priorità più alta. Il valore predefinito è 1000.

Esempio:

Il seguente comando crea una policy denominata test-agent-policy nel progettoGoogle Cloud denominato test-project, che installa l'ultima versione dell'agente per i carichi di lavoro di Compute su tutte le VM di cui è stato eseguito il deployment nella zona us-centrail-f. La configurazione specificata in agent-config.json viene applicata all'agente.

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"

Verifica l'installazione dell'agente

Per verificare che l'agente sia in esecuzione come previsto, completa i seguenti passaggi:

RHEL

  1. Stabilisci una connessione SSH con l'istanza di calcolo.

  2. Controlla lo stato del pacchetto dell'agente:

    systemctl status google-cloud-workload-agent
    

    Se il pacchetto dell'agente è in esecuzione come previsto, l'output contiene active (running). Ad esempio:

    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. Stabilisci una connessione SSH con l'istanza di calcolo.

  2. Controlla lo stato del pacchetto dell'agente:

    systemctl status google-cloud-workload-agent
    

    Se il pacchetto dell'agente è in esecuzione come previsto, l'output contiene active (running). Ad esempio:

    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. Stabilisci una connessione SSH con l'istanza di calcolo.

  2. Controlla lo stato del pacchetto dell'agente:

    systemctl status google-cloud-workload-agent
    

    Se il pacchetto dell'agente è in esecuzione come previsto, l'output contiene active (running). Ad esempio:

    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. Stabilisci una connessione con l'istanza di computing utilizzando RDP.

    Per informazioni su come eseguire questa operazione, consulta Connettiti alle VM Windows utilizzando RDP.

  2. In qualità di amministratore, esegui il seguente comando da PowerShell:

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

    Se l'agente è in esecuzione come previsto, lo stato visualizzato è Running.

File di configurazione di esempio

Di seguito è riportato un esempio di configurazione che consente all'agente per i carichi di lavoro di calcolo di connettersi a un'istanza MySQL. Per l'autenticazione, viene utilizzato un secret di Secret Manager, archiviato nello stesso progetto Google Cloud in cui è in esecuzione l'istanza MySQL.

{
  "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
    }
  }
}

Parametri di configurazione

La tabella seguente descrive i parametri di configurazione di Agent for Compute Workloads che supportano le valutazioni per i workload MySQL:

Parametri
log_level

String

Per impostare il livello di logging dell'agente, imposta il valore richiesto. I livelli di log disponibili sono i seguenti:

  • DEBUG
  • INFO
  • WARNING
  • ERROR

Il livello di log predefinito è INFO. Non modificare il livello di logging a meno che non ti venga indicato dall'assistenza clienti Google Cloud.

log_to_cloud

Boolean

Per reindirizzare i log dell'agente a Cloud Logging, specifica true. Il valore predefinito è true.

agent_properties.log_usage_metrics

Boolean

Per attivare la registrazione delle metriche di integrità dell'agente, imposta il valore su true. Il valore predefinito è false.

common_discovery.collection_frequency

Duration

Specifica la frequenza, in secondi, con cui viene eseguito il servizio di rilevamento del workload dell'agente. Il valore predefinito è 10800s.

Assicurati che il valore di questo parametro termini con s minuscolo.

mysql_configuration.enabled

Boolean

Per consentire all'agente di raccogliere metriche dall'istanza MySQL, imposta il valore su true. Il valore predefinito è false.

mysql_configuration.connection_parameters.username

String

Specifica l'account utente utilizzato dall'agente per eseguire query sull'istanza MySQL.

mysql_configuration.connection_parameters.password

String

Specifica la password di testo normale per l'account utente utilizzato dall'agente per eseguire query sull'istanza MySQL.

Anziché specificare una password in testo normale, ti consigliamo di utilizzare i parametri secret.name e secret.project_id.

Per l'autenticazione, l'agente utilizza il seguente ordine di preferenza: se specificato, il set di parametri secret è preferito al parametro password. Ti consigliamo di impostare una sola opzione di autenticazione nel file di configurazione dell'agente.

mysql_configuration.connection_parameters.secret.secret_name

String

Facoltativo. Per fornire in modo sicuro la password per l'account utente che l'agente utilizza per eseguire query sull'istanza MySQL, specifica il nome del secret di Secret Manager che contiene la password.

Per l'autenticazione, l'agente utilizza il seguente ordine di preferenza: se specificato, il set di parametri secret è preferito al parametro password. Ti consigliamo di impostare una sola opzione di autenticazione nel file di configurazione dell'agente.

mysql_configuration.connection_parameters.secret.project_id

String

Facoltativo. Per utilizzare il parametro secret.secret_name per autenticare l'account utente specificato, specifica l'ID progetto del progetto Google Cloud in cui è archiviato il secret di Secret Manager.

Se il secret e il workload si trovano nello stesso progetto Google Cloud , imposta il valore di questo parametro su una stringa vuota ("").

mysql_configuration.connection_parameters.host

String

Specifica il nome host MySQL.

mysql_configuration.connection_parameters.port

Int

Specifica la porta su cui l'istanza MySQL accetta le query.

Passaggi successivi