Questo documento mostra come installare Agent for Compute Workloads sulle istanze Compute Engine e come configurare l'agente per la connessione a un carico di lavoro Microsoft SQL Server in esecuzione su queste istanze di computing.
Dopo aver installato e configurato l'agente, questo raccoglie le metriche dal carico di lavoro SQL Server e dalle istanze di calcolo sottostanti e le invia a Workload Manager. Puoi quindi utilizzare la valutazione di Workload Manager per eseguire la scansione dei tuoi carichi di lavoro SQL Server 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 Agent for Compute Workloads, devi assicurarti che siano soddisfatti i seguenti prerequisiti:
- Hai eseguito il deployment di un workload SQL Server su una o più istanze di computing.
- Hai esaminato le regioni supportate in cui puoi creare valutazioni di Workload Manager.
- L'amministratore ti ha concesso i ruoli IAM necessari per creare ed eseguire le valutazioni di Workload Manager.
- Hai concesso i ruoli IAM richiesti per l'agente.
- Hai abilitato l'accesso alle API Cloud.
- Hai concesso le autorizzazioni richieste su SQL Server.
Ruoli IAM richiesti per l'agente
Agent for Compute Workloads 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 ad Agent for Compute Workloads di autenticarsi conGoogle Cloud e accedere alle risorse Google Cloud , chiedi all'amministratore di concedere i seguenti ruoli IAM al account di servizio nel tuo progetto:
-
Raccogli metriche dall'istanza di computing:
Visualizzatore Compute (
roles/compute.viewer) -
Scrivi dati nel data warehouse di Workload Manager:
Workload Manager Insights Writer (
roles/workloadmanager.insightWriter) -
Invia i log dell'agente a Cloud Logging:
Scrittore log (
roles/logging.logWriter) -
Se utilizzi Secret Manager per archiviare la password per connetterti all'istanza SQL Server:
Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor)
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'Agent for Compute Workloads richiede almeno i seguenti ambiti di accesso alle API Cloud sull'istanza di computing host:
https://www.googleapis.com/auth/cloud-platform
Per saperne di più, consulta le best practice relative agli ambiti.
Se esegui un carico di lavoro SQL Server su un'istanza di computing che non ha un indirizzo IP esterno, devi attivare l'accesso privato Google sulla subnet dell'istanza in modo che l'Agent for Compute Workloads possa accedere ai servizi e alle API di Google. Per informazioni su come attivare l'accesso privato Google, consulta Configura l'accesso privato Google.
Autorizzazioni richieste su SQL Server
Utilizza il seguente script per assegnare le autorizzazioni richieste all'account utente configurato nell'agente.
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''
'
Installare e configurare l'agente utilizzando il gestore di pacchetti
Questa sezione mostra come installare l'Agent for Compute Workloads sull'istanza di computing e configurarlo per la connessione a un'istanza SQL Server utilizzando un gestore di pacchetti.
Per installare l'Agent for Compute Workloads, completa i seguenti passaggi:
Windows
Su Windows, installa l'agente per i carichi di lavoro 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, riavviarlo.
Per installare e configurare Agent for Compute Workloads su un'istanza di computing basata su Windows, completa i seguenti passaggi:
Stabilisci una connessione con l'istanza di computing utilizzando RDP.
Per informazioni su come farlo, 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.
Salva il file di configurazione
Riavvia l'agente per far sì che le modifiche diventino effettive.
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 Agent for Compute Workloads su un'istanza di calcolo basata su RHEL, completa i seguenti passaggi:
Stabilisci una connessione SSH con l'istanza di computing.
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.
Salva il file di configurazione
Riavvia l'agente per far sì che le modifiche diventino effettive.
SLES
Su SUSE Linux Enterprise Server (SLES), installa Agent for Compute Workloads 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 Agent for Compute Workloads su un'istanza di computing basata su SLES, completa i seguenti passaggi:
Stabilisci una connessione SSH con l'istanza di computing.
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.
Salva 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 Agent for Compute Workloads su un'istanza di computing basata su Debian, completa i seguenti passaggi:
Stabilisci una connessione SSH con l'istanza di computing.
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.
Salva 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 il gestore di estensioni VM
Questa sezione mostra come installare e gestire l'Agent for Compute Workloads su un parco risorse di VM utilizzando il gestore di estensioni VM.
La policy di gestore di estensioni VM consente di eseguire attività come le seguenti:
- Installazione a livello di parco risorse: installa Agent for Compute Workloads su quanto segue:
- Tutte le VM nel tuo progetto Google Cloud o un sottoinsieme di VM identificate dalle etichette.
- Tutte le VM all'interno di una zona o un sottoinsieme di VM identificate dalle etichette.
- Gestione della configurazione: applica una configurazione personalizzata all'agente su tutte le VM gestite da un criterio.
Per saperne di più sul gestore di estensioni VM, consulta Informazioni sul gestore di estensioni VM.
Configura Gestore di estensioni VM
Per configurare il gestore di estensioni VM, completa i seguenti passaggi:
- Nella documentazione di gestore di estensioni VM, consulta la sezione Prima di iniziare.
Configura i ruoli IAM necessari per creare e gestire le policy del gestore di estensioni VM. Per saperne di più, consulta le seguenti risorse:
Installare e configurare l'agente su un parco risorse di VM
Per installare l'ultima versione dell'agente per i workload di calcolo sul tuo parco VM utilizzando una policy di VM Extension Manager, consulta la sezione appropriata:
- Installa e configura l'agente sulle VM all'interno del tuo Google Cloud progetto
- Installa e configura l'agente sulle VM all'interno di una zona specifica
Installa e configura l'agente sulle VM all'interno del tuo progetto Google Cloud
Per installare l'agente su tutte le VM nel tuo progetto Google Cloud o su un sottoinsieme di VM identificate da un'etichetta utilizzando una policy del gestore di estensioni VM, 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 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.Nella sezione Ambito, seleziona Implementazione globale.
Nella sezione Gestisci estensioni, fai clic su Aggiungi estensione e poi segui questi passaggi:
- Dall'elenco Estensione, seleziona Estensione di Google Cloud per i workload di computing.
Lascia vuoto il campo Versione.
In questo modo, il criterio indica di installare l'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 SQL Server, consulta Parametri di configurazione.
Fai clic su Fine.
Nel campo Implementazione, seleziona l'opzione del piano di implementazione che vuoi utilizzare: Implementazione lenta (consigliata) o Implementazione rapida.
Per informazioni sui piani di implementazione, vedi Informazioni sui piani di implementazione.
(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
Nel terminale o in Cloud Shell, esegui il comando
gcloud compute global-vm-extension-policies create:
gcloud compute global-vm-extension-policies create POLICY_NAME \
--project=PROJECT_ID \
--extensions=google-cloud-workload-extension \
--rollout-predefined-plan=ROLL_OUT_SPEED \
[--description="<var>DESCRIPTION</var>" \]
[--inclusion-labels=KEY1=VALUE1,KEY2=VALUE2 \]
[--config-from-file=google-cloud-workload-extension="CONFIG_FILE_PATH" \]
[--priority=PRIORITY]
Sostituisci quanto segue:
POLICY_NAME: un nome univoco per il criterio di estensione VM.PROJECT_ID: l'ID progetto del progettoGoogle Cloud per cui stai creando la policyROLL_OUT_SPEED: la velocità con cui vuoi implementare la policy. I valori supportati sonoslow_rollout(consigliato) efast_rollout. Per saperne di più, vedi Informazioni sui piani di implementazione.In alternativa, puoi utilizzare un piano di implementazione personalizzato specificando l'opzione
--rollout-custom-plan. Per saperne di più, vedi Informazioni sui piani di implementazione.Puoi utilizzare
--rollout-predefined-plano--rollout-custom-plan, ma non entrambi nello stesso comando.DESCRIPTION: una descrizione facoltativa della policy.CONFIG_FILE_PATH: il percorso locale del file JSON contenente la configurazione dell'Agent for Compute Workloads.- In alternativa, per fornire la configurazione come stringa incorporata, utilizza il flag
--configanziché--config-from-file. Ad esempio--config=google-cloud-workload-extension="CONFIG". - Puoi utilizzare
--config-from-fileo--config, ma non entrambi nello stesso comando. - Per informazioni sui parametri di configurazione supportati dall'agente, consulta Parametri di configurazione.
- In alternativa, per fornire la configurazione come stringa incorporata, utilizza il flag
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 presa di mira dalla 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 del progetto.
PRIORITY: un numero intero compreso tra0e65535che definisce la priorità della policy. I numeri più bassi indicano una priorità più alta. Il valore predefinito è1000. Per saperne di più, consulta Priorità delle policy e risoluzione dei conflitti.
Installa e configura l'agente sulle VM all'interno di una zona specifica
Per installare e configurare l'ultima versione di Agent for Compute Workloads sul tuo parco VM all'interno di una zona specifica utilizzando una policy di gestore di estensioni VM, 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 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 Gestisci estensioni, fai clic su Aggiungi estensione e poi segui questi passaggi:
- Dall'elenco Estensione, seleziona Estensione di Google Cloud per i workload di computing.
Lascia vuoto il campo Versione.
In questo modo, il criterio indica di installare l'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 SQL Server, 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 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 policy 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 per l'Agent for Compute Workloads per connettersi al carico di lavoro SQL Server.- 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 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 SQL Server, 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 presa di mira dalla 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à della policy. 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 di
Agent for Compute Workloads 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 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"
Gestisci l'agente su un parco VM
Per modificare il modo in cui una policy del gestore di estensioni VM gestisce Agent for Compute Workloads, aggiorna la policy. Quando aggiorni una policy, VM Extension Manager implementa le modifiche a tutte le VM applicabili, in genere entro un minuto. Se modifichi le etichette di inclusione, l'Agent for Compute Workloads potrebbe essere installato su nuove VM o disinstallato da VM esistenti a seconda che le VM corrispondano alle etichette aggiornate.
Le sezioni seguenti mostrano come gestire l'Agent for Compute Workloads per eseguire le seguenti operazioni:
- Modificare la configurazione dell'agente su un parco risorse di VM
- Aggiornare una policy globale per includere nuove zone
- Aggiornare una policy globale per escludere le zone
Modifica della configurazione dell'agente su un parco risorse di VM
Per modificare la configurazione delle istanze di Agent for Compute Workloads che hai installato nel tuo parco risorse VM utilizzando una policy di gestore di estensioni VM, devi modificare la policy.
Per modificare la configurazione dell'agente nel parco VM, completa i seguenti passaggi:
Console
Nella console Google Cloud , vai alla pagina Policy delle estensioni VM.
Fai clic sulla policy che vuoi modificare.
Nella pagina Dettagli della norma relativa alle estensioni, fai clic su Modifica.
Nella sezione Gestisci estensioni, attiva/disattiva Estensione di Google Cloud per i workload di computing.
Nel campo Contenuto del file di configurazione, inserisci la configurazione che vuoi applicare all'agente.
Per informazioni sui parametri di configurazione supportati dall'agente, consulta Parametri di configurazione.
Fai clic su Fine.
Fai clic su Salva.
gcloud
Per modificare la configurazione di Agent for Compute Workloads nel parco VM, esegui il comando
gcloud compute zone-vm-extension-policies update. Quando aggiorni una norma utilizzando gcloud, la richiesta
funge da sostituzione completa. I campi facoltativi che ometti vengono ripristinati ai valori predefiniti
anziché conservare i valori esistenti del criterio modificato.
Per modificare la configurazione dell'agente:
gcloud compute zone-vm-extension-policies update POLICY_NAME \
--zone=ZONE \
--extensions=google-cloud-workload-extension \
--config-from-file=google-cloud-workload-extension="CONFIG_FILE_PATH" \
[--inclusion-labels=KEY_1=VALUE_1 \]
[--inclusion-labels=KEY_2=VALUE_2,KEY_3=VALUE_3 \]
[--priority=PRIORITY_NUMBER \]
[--description="DESCRIPTION"]Sostituisci quanto segue:
POLICY_NAME: il nome del criterio di estensione VM che vuoi modificare.ZONE: la Google Cloud zona in cui si applica la policy.CONFIG_FILE_PATH: il percorso locale del file JSON contenente la configurazione dell'Agent for Compute Workloads.- Puoi anche fornire la configurazione dell'agente come stringa incorporata utilizzando il flag
--configanziché--config-from-file. Ad esempio--config=google-cloud-workload-extension="CONFIG". Google Cloud 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, consulta Parametri di configurazione.
- Puoi anche fornire la configurazione dell'agente come stringa incorporata utilizzando il flag
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 presa di mira dalla 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_NUMBER: la priorità che vuoi impostare per la policy. Puoi specificare un numero intero compreso tra0e65535.DESCRIPTION: una descrizione della policy di estensione VM.
Aggiorna una policy globale per includere nuove zone
Quando crei VM in una nuova zona dopo aver creato e implementato una policy globale, gestore di estensioni VM non applica automaticamente la policy alle VM nelle nuove zone. Per includere le VM nelle nuove zone, devi riavviare l'implementazione della policy globale.
Per riavviare il rollout di una policy globale, completa i seguenti passaggi:
Nel terminale o in Cloud Shell, esegui il comando
gcloud compute global-vm-extension-policies updatee fornisci l'opzione--rollout-entry-uuidnel seguente modo:gcloud compute global-vm-extension-policies update POLICY_NAME \ --project=PROJECT_ID \ --extensions=google-cloud-workload-extension \ --rollout-predefined-plan=ROLL_OUT_SPEED \ --config-from-file=google-cloud-workload-extension="CONFIG_FILE_PATH" \ --rollout-retry-uuid=UUIDSostituisci quanto segue:
UUID: un identificatore univoco universale (UUID) che identifica la richiesta di ripetizione. Puoi utilizzare qualsiasi generatore di UUID per crearne uno. Per saperne di più, consulta Riprovare un'implementazione.ROLL_OUT_SPEED: la velocità con cui vuoi implementare la policy. I valori supportati sonoslow_rollout(consigliato) efast_rollout. Per saperne di più, vedi Informazioni sui piani di implementazione.In alternativa, puoi utilizzare un piano di implementazione personalizzato specificando l'opzione
--rollout-custom-plan. Per saperne di più, vedi Informazioni sui piani di implementazione.Puoi utilizzare
--rollout-predefined-plano--rollout-custom-plan, ma non entrambi nello stesso comando.
Aggiorna una policy globale per escludere le zone
Per aggiornare una policy globale in modo da escludere le zone, completa i seguenti passaggi:
Nel terminale o in Cloud Shell, esegui il comando
gcloud compute global-vm-extension-policies updatee fornisci un piano di implementazione personalizzato che specifichi le zone in cui applicare il criterio:gcloud compute global-vm-extension-policies update POLICY_NAME \ --project=PROJECT_ID \ --extensions=google-cloud-workload-extension \ --rollout-custom-plan=projects/PROJECT_ID/locations/global/rolloutPlans/NEW_CUSTOM_PLAN_NAME \ --rollout-retry-uuid=UUIDSostituisci quanto segue:
NEW_CUSTOM_PLAN_NAME: il nome del nuovo piano di rollout personalizzato che identifica le zone in cui applicare la policy. Per informazioni sulla creazione di piani di implementazione personalizzati, consulta Informazioni sui piani di implementazione.UUID: un identificatore univoco universale (UUID) che identifica la richiesta di ripetizione. Puoi utilizzare qualsiasi generatore di UUID per crearne uno. Per saperne di più, consulta Riprovare un'implementazione.
Disinstallare l'agente da un parco risorse di VM
Per disinstallare l'agente per i workload di calcolo dal parco VM, devi eliminare la policy di VM Extension Manager che gestisce il parco VM.
Durante l'eliminazione di una policy, se un'altra policy attiva a priorità inferiore si applica a una VM e dichiara l'Agent for Compute Workloads, l'agente rimane installato su quella VM in base alla policy a priorità inferiore.
Il gestore di estensioni VM rimuove l'agente da tutte le VM accessibili entro un minuto dall'eliminazione della policy. Se una VM non è accessibile perché l'agente guest è stato rimosso o la VM è stata eliminata, il gestore di estensioni VM salta l'eliminazione dell'Agent for Compute Workloads. Se una VM di questo tipo torna disponibile, il gestore di estensioni VM rimuove l'Agent for Compute Workloads in quel momento.
Per disinstallare l'agente per i carichi di lavoro di Compute dal parco risorse di VM, completa i seguenti passaggi:
Console
Nella console Google Cloud , vai alla pagina Policy delle estensioni VM.
Fai clic sul criterio che gestisce l'agente per i carichi di lavoro di Compute sulla flotta di VM.
Nella pagina Dettagli criterio di estensione, fai clic su Elimina e conferma l'eliminazione.
gcloud
gcloud compute zone-vm-extension-policies delete POLICY_NAME \ --project=PROJECT_ID \ --zone=ZONE
Sostituisci quanto segue:
POLICY_NAME: il nome della policy di estensione VM che vuoi eliminare.PROJECT_ID: l'ID del Google Cloud progetto in cui si trova la policy.ZONE: la Google Cloud zona in cui si trova la policy.
Verifica l'installazione dell'agente
Per verificare che l'agente sia in esecuzione come previsto, completa i seguenti passaggi:
Windows
Stabilisci una connessione con l'istanza di computing utilizzando RDP.
Per informazioni su come farlo, 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.
RHEL
Stabilisci una connessione SSH con l'istanza di computing.
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 computing.
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 computing.
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
Parametri di configurazione
La tabella seguente descrive i parametri del file di configurazione dell'agente.
| 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 |
sqlserver_configuration.enabled |
Per abilitare la raccolta delle metriche di SQL Server all'interno dell'agente, imposta il valore su |
sqlserver_configuration.collection_configuration.collect_guest_os_metrics |
Per attivare la raccolta delle metriche del sistema operativo, imposta il valore su |
sqlserver_configuration.collection_configuration.collect_sql_metrics |
Per abilitare la raccolta delle metriche di SQL Server, specifica |
sqlserver_configuration.collection_configuration.collection_frequency |
Frequenza di raccolta delle metriche di Agent for Compute Workloads, in secondi.
Il valore predefinito è |
sqlserver_configuration.credential_configurations[].connection_parameters[].host |
Il nome host di SQL Server. |
sqlserver_configuration.credential_configurations[].connection_parameters[].username |
Specifica l'account utente utilizzato per eseguire query sull'istanza SQL Server. Per configurare le autorizzazioni dell'account, esamina le autorizzazioni richieste nello script delle autorizzazioni e concedile in base alle tue norme interne. Nota:se utilizzi l'autenticazione Windows, assicurati di specificare il nome utente nel
seguente formato:
|
sqlserver_configuration.credential_configurations[].connection_parameters[].secret.project_id |
L'ID del progetto in cui è archiviato il secret. Impostalo su una stringa vuota ("") se il secret e l'istanza VM host esistono nello stesso Google Cloud progetto. |
sqlserver_configuration.credential_configurations[].connection_parameters[].secret.secret_name |
Per fornire in modo sicuro la password per l'account utente del database che l'agente utilizza per eseguire query su SQL Server, specifica il nome del secret in Secret Manager che contiene le credenziali di sicurezza per l'account utente del database. Nota:il secret e l'istanza VM host devono esistere nello stesso progetto Google Cloud . |
sqlserver_configuration.credential_configurations[].connection_parameters[].port |
Specifica la porta su cui l'istanza SQL Server accetta le query. |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.host |
Indirizzo IP o nome di dominio completo della VM Windows remota |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.username |
Specifica l'account utente utilizzato per connettersi da remoto alla VM Windows. |
sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.secret.secret_name |
Per fornire in modo sicuro la password per l'account utente Windows che l'agente utilizza per connettersi in remoto alla VM, specifica il nome del secret in Secret Manager che contiene le credenziali di sicurezza per l'account utente del database. Nota:il secret e l'istanza VM host devono esistere nello stesso progetto Google Cloud . |
sqlserver_configuration.credential_configurations[].local_collection |
Specifica |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.host |
Indirizzo IP o nome di dominio completo della VM Linux remota. |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.username |
Specifica l'account utente utilizzato per connettersi in remoto alla VM Linux. |
sqlserver_configuration.credential_configurations[].remote_linux.connection_parameter.port |
Specifica il numero di porta SSH per la VM Linux remota. |
sqlserver_configuration.credential_configurations[].remote_linux.linux_ssh_private_key_path |
Specifica il percorso del file della chiave privata SSH. |
sqlserver_configuration.credential_configurations[].vm_properties.instance_name |
Specifica il nome dell'istanza VM di Compute Engine. Nota:facoltativo per la raccolta locale. |
sqlserver_configuration.credential_configurations[].vm_properties.instance_id |
Specifica l'ID dell'istanza VM di Compute Engine. Nota:facoltativo per la raccolta locale. |
sqlserver_configuration.collection_timeout |
Il timeout per la raccolta delle metriche, in secondi. Il valore predefinito è "10s". |
sqlserver_configuration.max_retries |
Il numero massimo di tentativi in caso di raccolta non riuscita. Il valore predefinito è "3". |
sqlserver_configuration.retry_frequency |
Specifica la frequenza con cui l'agente deve riprovare quando una raccolta non va a buon fine. Il valore predefinito è "3600s". |
sqlserver_configuration.remote_collection |
Specifica |
File di configurazione di esempio
Di seguito è riportato un esempio di configurazione che consente ad Agent for Compute Workloads di connettersi a un'istanza SQL Server:
Raccolta locale
{ "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" } }
Raccolta remota
{ "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 } }
Controllare la versione dell'agente
Per controllare la versione dell'agente, completa i seguenti passaggi:
Windows
- Utilizza RDP per connetterti alla macchina host.
- In qualità di amministratore, esegui il seguente comando da PowerShell:
googet installed google-cloud-workload-agent
RHEL
- Utilizza SSH per connetterti alla macchina host.
- Esegui questo comando:
yum info google-cloud-workload-agent
SUSE
- Utilizza SSH per connetterti alla macchina host.
- Esegui questo comando:
zypper info google-cloud-workload-agent
Debian
- Utilizza SSH per connetterti alla macchina host.
- Esegui questo comando:
dpkg -s google-cloud-workload-agent | grep version
Riavvia l'agente
Se Agent for Compute Workloads smette di funzionare o aggiorni la sua configurazione, riavvia l'agente.
Seleziona il tuo sistema operativo e segui i passaggi:
Windows
- Utilizza RDP per connetterti alla macchina host.
- In qualità di amministratore, esegui il seguente comando da PowerShell:
Restart-Service -Name 'google-cloud-workload-agent' -Force
Linux
- Utilizza SSH per connetterti alla macchina host.
- Esegui questo comando:
sudo systemctl restart google-cloud-workload-agent
Aggiornare l'agente
Per assicurarti di avere l'ultima versione dell'agente, devi controllare periodicamente la disponibilità di aggiornamenti e aggiornare l'agente.
Verifica la disponibilità di aggiornamenti
Seleziona il tuo sistema operativo e segui i passaggi:
Windows
- Utilizza RDP per connetterti alla macchina host.
- In qualità di amministratore, esegui il seguente comando da PowerShell:
googet latest google-cloud-workload-agent
RHEL
- Utilizza SSH per connetterti alla macchina host.
- Esegui questo comando:
sudo yum check-update google-cloud-workload-agent
SLES
- Utilizza SSH per connetterti alla macchina host.
- Esegui questo comando:
sudo zypper list-updates -r google-cloud-workload-agent
Debian
- Utilizza SSH per connetterti alla macchina host.
- Esegui questo comando:
sudo apt list google-cloud-workload-agent
Installare un aggiornamento
Seleziona il tuo sistema operativo e segui i passaggi:
Windows
- Utilizza RDP per connetterti alla macchina host.
- In qualità di amministratore, esegui il seguente comando da PowerShell:
googet install google-cloud-workload-agent
RHEL
- Utilizza SSH per connetterti alla macchina host.
- Esegui questo comando:
sudo yum --nogpgcheck update google-cloud-workload-agent
SLES
- Utilizza SSH per connetterti alla macchina host.
- Esegui questo comando:
sudo zypper --no-gpg-checks update google-cloud-workload-agent
Debian
- Utilizza SSH per connetterti alla macchina host.
- Esegui questo comando:
sudo apt-get install google-cloud-workload-agent
Visualizza i log dell'agente in Cloud Logging
Per impostazione predefinita, i log di Agent for Compute Workloads vengono reindirizzati dalle istanze VM a Cloud Logging.
Per visualizzare i log dell'agente in Logging, segui questi passaggi:
Nella console Google Cloud , vai alla pagina Esplora log.
Vai al riquadro Query.
Dal menu a discesa Risorse, seleziona Globale e poi fai clic su Applica.
Nell'editor di query, inserisci
google-cloud-workload-agent.Fai clic su Esegui query.
Dovresti vedere i log generati dalle istanze dell'agente in esecuzione su tutte le istanze VM. Per filtrare i log di una macchina specifica, utilizza i filtri disponibili nell'interfaccia.
Disabilita i log dell'agente in Cloud Logging
Per disattivare il reindirizzamento predefinito dei log dell'agente a Cloud Logging, segui questi passaggi:
Stabilisci una connessione RDP o SSH con l'istanza VM host.
Apri il file di configurazione dell'agente:
Windows
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
Linux
/etc/google-cloud-workload-agent/configuration.json
Per la proprietà
log_to_cloud, aggiorna il valore afalse.Salva il file di configurazione.
Riavvia l'agente affinché questa modifica abbia effetto.
Risoluzione dei problemi
Le sezioni seguenti forniscono informazioni sui problemi comuni relativi all'utilizzo di Agent for Compute Workloads, sulle relative cause e sulla risoluzione.
Ambiti di autenticazione insufficienti
Problema:se limiti gli ambiti di accesso nell'istanza VM host, i log di Agent for Compute Workloads potrebbero mostrare un errore di autorizzazioni IAM insufficienti.
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
Causa:Agent for Compute Workloads richiede ambiti di accesso API Cloud minimi sull'istanza VM host.
Soluzione:per risolvere il problema, attiva gli ambiti di accesso richiesti.
Impossibile caricare il file di configurazione
Problema:se il file di configurazione contiene valori non validi, viene visualizzato il seguente errore.
"Failed to load configuration","pid":3524,"error":"proto: (line 19:42): unknown
field "{field_name}"
Risoluzione:per risolvere il problema, aggiorna il file di configurazione utilizzando i dettagli in Parametri di configurazione.
Impossibile inizializzare la raccolta dei dati
Problema: dopo l'installazione dell'agente, se il file di configurazione non viene aggiornato, viene visualizzato il seguente errore:
"Failed to initialize guest collection","pid":2112,"error":"invalid value for "user_name" "secret_name"
Soluzione:per risolvere il problema, inizializza la configurazione delle credenziali utilizzando i parametri di configurazione.
Passaggi successivi
- Scopri di più sulle valutazioni del workload.