Configura l'agente per i carichi di lavoro di Microsoft SQL Server

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 Microsoft SQL Server in esecuzione su queste istanze di calcolo.

Dopo aver installato e configurato l'agente, questo raccoglie le metriche dal carico di lavoro di 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 workload SQL Server 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:

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

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'agente per i carichi di lavoro di calcolo sull'istanza di calcolo e configurarlo per la connessione a un'istanza SQL Server utilizzando un gestore di pacchetti.

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

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 eseguire questa operazione, 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.

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.

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 SQL Server, 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 contenente la configurazione per l'agente per i carichi di lavoro di Compute per connettersi al carico di lavoro SQL Server.

    • 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 SQL Server, 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:

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.

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

Parametri di configurazione

La tabella seguente descrive i parametri del file di configurazione dell'agente.

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.

sqlserver_configuration.enabled

Boolean

Per abilitare la raccolta delle metriche di SQL Server all'interno dell'agente, imposta il valore su true. Il valore predefinito è false.

sqlserver_configuration.collection_configuration.collect_guest_os_metrics

Boolean

Per attivare la raccolta delle metriche del sistema operativo, imposta il valore su true. Il valore predefinito è true.
Non impostare sqlserver_configuration.collection_configuration.collect_guest_os_metrics su false a meno che non ti venga indicato dall'assistenza clienti Google Cloud.

sqlserver_configuration.collection_configuration.collect_sql_metrics

Boolean

Per abilitare la raccolta delle metriche di SQL Server, specifica true. Il valore predefinito è true.
Non impostare sqlserver_configuration.collection_configuration.collect_sql_metrics su false a meno che non ti venga indicato dall'assistenza clienti Google Cloud.

sqlserver_configuration.collection_configuration.collection_frequency

Duration

Frequenza di raccolta delle metriche di Agent for Compute Workloads, in secondi. Il valore predefinito è 3600s. Puoi aggiornare la frequenza di raccolta. Tuttavia, ti consigliamo di mantenere il valore predefinito.

sqlserver_configuration.credential_configurations[].connection_parameters[].host

String

Il nome host di SQL Server.

sqlserver_configuration.credential_configurations[].connection_parameters[].username

String

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 di Windows, assicurati di specificare il nome utente nel seguente formato: domain-name\\user-name

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

String

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 progetto. Google Cloud

sqlserver_configuration.credential_configurations[].connection_parameters[].secret.secret_name

String

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

Int

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

sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.host

String

Indirizzo IP o FQDN della VM Windows remota

sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.username

String

Specifica l'account utente utilizzato per connettersi in remoto alla VM Windows.

sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.secret.secret_name

String

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

Boolean

Specifica true per indicare che l'agente sta eseguendo la raccolta dei dati locali. Il valore predefinito è true.

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.host

String

Indirizzo IP o FQDN della VM Linux remota.

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.username

String

Specifica l'account utente utilizzato per connettersi in remoto alla VM Linux.

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameter.port

Int

Specifica il numero di porta SSH per la VM Linux remota.

sqlserver_configuration.credential_configurations[].remote_linux.linux_ssh_private_key_path

String

Specifica il percorso del file della chiave privata SSH.

sqlserver_configuration.credential_configurations[].vm_properties.instance_name

String

Specifica il nome dell'istanza VM di Compute Engine.

Nota:facoltativo per la raccolta locale.

sqlserver_configuration.credential_configurations[].vm_properties.instance_id

String

Specifica l'ID dell'istanza VM di Compute Engine.

Nota:facoltativo per la raccolta locale.

sqlserver_configuration.collection_timeout

Duration

Il timeout per la raccolta delle metriche, in secondi. Il valore predefinito è "10 secondi".

sqlserver_configuration.max_retries

Int

Il numero massimo di tentativi in caso di raccolta non riuscita. Il valore predefinito è "3".

sqlserver_configuration.retry_frequency

Duration

Specifica la frequenza con cui l'agente deve riprovare quando una raccolta non va a buon fine. Il valore predefinito è "3600 s".

sqlserver_configuration.remote_collection

Boolean

Specifica true per indicare che l'agente sta eseguendo la raccolta dei dati remota. Il valore predefinito è false.

File di configurazione di esempio

Di seguito è riportata una configurazione di esempio 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

  1. Utilizza RDP per connetterti alla macchina host.
  2. In qualità di amministratore, esegui il seguente comando da PowerShell:
    googet installed google-cloud-workload-agent

RHEL

  1. Utilizza SSH per connetterti alla macchina host.
  2. Esegui questo comando:
    yum info google-cloud-workload-agent

SUSE

  1. Utilizza SSH per connetterti alla macchina host.
  2. Esegui questo comando:
    zypper info google-cloud-workload-agent

Debian

  1. Utilizza SSH per connetterti alla macchina host.
  2. Esegui questo comando:
    dpkg -s google-cloud-workload-agent | grep version

Riavvia l'agente

Se l'agente per i workload di Compute smette di funzionare o ne aggiorni la configurazione, riavvialo.

Seleziona il tuo sistema operativo e segui i passaggi:

Windows

  1. Utilizza RDP per connetterti alla macchina host.
  2. In qualità di amministratore, esegui il seguente comando da PowerShell:
    Restart-Service -Name 'google-cloud-workload-agent' -Force

Linux

  1. Utilizza SSH per connetterti alla macchina host.
  2. Esegui questo comando:
    sudo systemctl restart google-cloud-workload-agent

Aggiorna 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

  1. Utilizza RDP per connetterti alla macchina host.
  2. In qualità di amministratore, esegui il seguente comando da PowerShell:
    googet latest google-cloud-workload-agent

RHEL

  1. Utilizza SSH per connetterti alla macchina host.
  2. Esegui questo comando:
    sudo yum check-update google-cloud-workload-agent

SLES

  1. Utilizza SSH per connetterti alla macchina host.
  2. Esegui questo comando:
    sudo zypper list-updates -r google-cloud-workload-agent

Debian

  1. Utilizza SSH per connetterti alla macchina host.
  2. Esegui questo comando:
    sudo apt list google-cloud-workload-agent

Installare un aggiornamento

Seleziona il tuo sistema operativo e segui i passaggi:

Windows

  1. Utilizza RDP per connetterti alla macchina host.
  2. In qualità di amministratore, esegui il seguente comando da PowerShell:
    googet install google-cloud-workload-agent

RHEL

  1. Utilizza SSH per connetterti alla macchina host.
  2. Esegui questo comando:
    sudo yum --nogpgcheck update google-cloud-workload-agent

SLES

  1. Utilizza SSH per connetterti alla macchina host.
  2. Esegui questo comando:
    sudo zypper --no-gpg-checks update google-cloud-workload-agent

Debian

  1. Utilizza SSH per connetterti alla macchina host.
  2. 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:

  1. Nella console Google Cloud , vai alla pagina Esplora log.

    Vai a Esplora log

  2. Vai al riquadro Query.

  3. Dal menu a discesa Risorse, seleziona Globale e poi fai clic su Applica.

  4. Nell'editor di query, inserisci google-cloud-workload-agent.

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

  1. Stabilisci una connessione RDP o SSH con l'istanza VM host.

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

  3. Per la proprietà log_to_cloud, aggiorna il valore a false.

  4. Salva il file di configurazione.

  5. 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 dell'agente per 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 nell'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