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 Redis in esecuzione su queste istanze di calcolo.
Dopo aver installato e configurato l'agente, questo raccoglie le metriche dal tuo carico di lavoro Redis e dalle istanze di calcolo sottostanti e le invia a Workload Manager. Puoi quindi utilizzare la valutazione di Workload Manager per analizzare i tuoi workload Redis alla ricerca di deviazioni dalle best practice per le configurazioni di infrastruttura, sistema operativo e workload.
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:
- Hai eseguito il deployment di un workload Redis su una o più istanze di computing.
- Hai concesso i ruoli IAM richiesti per l'agente.
- Hai abilitato l'accesso alle API Cloud.
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:
-
Visualizzatore Compute (
roles/compute.viewer): per raccogliere metriche dall'istanza di calcolo. -
Workload Manager Insights Writer (
roles/workloadmanager.insightWriter): per scrivere i dati nel data warehouse di Workload Manager. -
(Consigliato) Scrittore log (
roles/logging.logWriter): per inviare i log dell'agente a Cloud Logging. -
(Facoltativo) Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor): se utilizzi Secret Manager per archiviare la password per connetterti all'istanza Redis.
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 Redis 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 calcolo sull'istanza di calcolo e configurarlo per la connessione a un'istanza Redis 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
systemdper l'agente, denominatogoogle-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:
Stabilisci una connessione SSH con l'istanza di calcolo.
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-agentApri il file di configurazione dell'agente:
/etc/google-cloud-workload-agent/configuration.jsonSpecifica i valori per tutti i parametri obbligatori, come descritto in Parametri di configurazione.
Salvare il file di configurazione
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
systemdper l'agente, denominatogoogle-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:
Stabilisci una connessione SSH con l'istanza di calcolo.
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-agentApri il file di configurazione dell'agente:
/etc/google-cloud-workload-agent/configuration.jsonSpecifica i valori per tutti i parametri obbligatori, come descritto in Parametri di configurazione.
Salvare il file di configurazione
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
systemdper l'agente, denominatogoogle-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:
Stabilisci una connessione SSH con l'istanza di calcolo.
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-agentApri il file di configurazione dell'agente:
/etc/google-cloud-workload-agent/configuration.jsonSpecifica i valori per tutti i parametri obbligatori, come descritto in Parametri di configurazione.
Salvare il file di configurazione
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:
Stabilisci una connessione con l'istanza di computing utilizzando RDP.
Per informazioni su come eseguire questa operazione, consulta Connettiti alle VM Windows utilizzando RDP.
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-agentApri il file di configurazione dell'agente:
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.jsonSpecifica i valori per tutti i parametri obbligatori, come descritto in Parametri di configurazione.
Salvare il file di configurazione
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:
- Nella documentazione di VM Extension Manager, consulta la sezione Prima di iniziare.
Configura i ruoli IAM necessari per creare e gestire le policy di VM Extension Manager. Per saperne di più, consulta le seguenti risorse:
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
Nella console Google Cloud , vai alla pagina Policy delle estensioni VM.
Fai clic su Crea policy di estensione.
Nel campo Nome, inserisci un nome per la policy.
(Facoltativo) Nel campo Descrizione, inserisci una descrizione della policy.
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.Utilizzando gli elenchi Regione e Zona, seleziona la zona in cui vuoi applicare questa policy.
Nella sezione Estensioni, fai clic su Aggiungi estensione e poi esegui le seguenti operazioni:
- Nell'elenco Estensione, seleziona Estensione di Google Cloud per i workload di computing.
Lascia vuoto il campo Version (Versione).
In questo modo, il criterio viene indirizzato all'installazione dell'ultima versione di Agent for Compute Workloads.
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 Redis, consulta Parametri di configurazione.
Fai clic su Fine.
(Facoltativo) Per limitare l'implementazione della policy alle VM richieste:
- Fai clic su Aggiungi etichette e includi le etichette che identificano le VM richieste.
- Fai clic su Fine.
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 contenente la configurazione di Agent for Compute Workloads per la connessione al tuo workload Redis.- In alternativa, per fornire la configurazione come stringa incorporata, utilizza il flag
--configanziché--config-from-file. Ad esempio--config=google-cloud-workload-extension="CONFIG". Google Cloud ti consiglia di utilizzare--config-from-file. - Puoi utilizzare
--config-from-fileo--config, ma non entrambi nello stesso comando. - Per informazioni sui parametri di configurazione supportati dall'agente per il tuo workload Redis, consulta Parametri di configurazione.
- In alternativa, per fornire la configurazione come stringa incorporata, utilizza il flag
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-labelspiù volte, la policy ha come target le VM che corrispondono a uno qualsiasi dei selettori forniti (ORlogico). Se ometti questo flag, la policy ha come target tutte le VM nella zona specificata.
PRIORITY: un numero intero compreso tra0e65535che 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
Stabilisci una connessione SSH con l'istanza di calcolo.
Controlla lo stato del pacchetto dell'agente:
systemctl status google-cloud-workload-agentSe 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
Stabilisci una connessione SSH con l'istanza di calcolo.
Controlla lo stato del pacchetto dell'agente:
systemctl status google-cloud-workload-agentSe 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
Stabilisci una connessione SSH con l'istanza di calcolo.
Controlla lo stato del pacchetto dell'agente:
systemctl status google-cloud-workload-agentSe 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
Stabilisci una connessione con l'istanza di computing utilizzando RDP.
Per informazioni su come eseguire questa operazione, consulta Connettiti alle VM Windows utilizzando RDP.
In qualità di amministratore, esegui il seguente comando da PowerShell:
$(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).StatusSe 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 workload di calcolo di connettersi a un'istanza Redis. Per l'autenticazione, viene utilizzato un secret di Secret Manager, archiviato nello stesso progetto Google Cloud in cui è in esecuzione l'istanza Redis.
{
"log_level": "INFO",
"common_discovery": {
"collection_frequency": "10800s"
},
"redis_configuration": {
"enabled": true,
"connection_parameters": {
"username": "db_user_name",
"secret": {
"secret_name": "db_pwd_secret_name",
"project_id": ""
},
"host": "localhost",
"port": 1433
}
}
}
Parametri di configurazione
La tabella seguente descrive i parametri di configurazione di Agent for Compute Workloads che supportano le valutazioni per i workload Redis:
| Parametri | |
|---|---|
log_level |
Per impostare il livello di logging dell'agente, imposta il valore richiesto. I livelli di log disponibili sono i seguenti:
Il livello di log predefinito è |
log_to_cloud |
Per reindirizzare i log dell'agente a
Cloud Logging, specifica
|
agent_properties.log_usage_metrics |
Per attivare la registrazione delle metriche di integrità dell'agente, imposta il valore su
|
common_discovery.collection_frequency |
Specifica la frequenza, in secondi, con cui viene eseguito il servizio di rilevamento del workload dell'agente. Il valore predefinito è Assicurati che il valore di questo parametro termini con |
redis_configuration.enabled
|
Per consentire all'agente di raccogliere metriche dall'istanza Redis, imposta il valore su |
redis_configuration.connection_parameters.username |
Specifica l'account utente utilizzato dall'agente per eseguire query sull'istanza Redis. |
redis_configuration.connection_parameters.password |
Specifica la password di testo normale per l'account utente utilizzato dall'agente per eseguire query sull'istanza Redis. Anziché specificare una password in testo normale, ti consigliamo di utilizzare i parametri Per l'autenticazione, l'agente utilizza il seguente ordine di preferenza: se
specificato, il set di parametri |
redis_configuration.connection_parameters.secret.secret_name |
Facoltativo. Per fornire in modo sicuro la password per l'account utente che l'agente utilizza per eseguire query sull'istanza Redis, 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 |
redis_configuration.connection_parameters.secret.project_id |
Facoltativo. Per utilizzare il parametro Se il secret e il workload si trovano nello stesso progetto Google Cloud ,
imposta il valore di questo parametro su una stringa vuota ( |
redis_configuration.connection_parameters.host |
Specifica il nome host Redis. |
redis_configuration.connection_parameters.port |
Specifica la porta su cui l'istanza Redis accetta le query. |
Passaggi successivi
- Crea ed esegui una valutazione
- Scopri di più sulle best practice di Gestore carichi di lavoro per Redis