Configurar o agente para cargas de trabalho do Microsoft SQL Server

Neste documento, mostramos como instalar o Agente para cargas de trabalho computacionais em instâncias do Compute Engine e como configurar o agente para se conectar a uma carga de trabalho do Microsoft SQL Server em execução nessas instâncias de computação.

Depois de instalar e configurar o agente, ele coleta métricas da sua carga de trabalho do SQL Server e das instâncias de computação subjacentes e as envia ao Workload Manager. Em seguida, use a avaliação do Workload Manager para verificar se há desvios das práticas recomendadas de infraestrutura, sistema operacional e configurações de carga de trabalho nas cargas de trabalho do SQL Server.

Antes de começar

Antes de instalar e configurar o Agente para cargas de trabalho computacionais, verifique se os seguintes pré-requisitos foram atendidos:

Papéis do IAM necessários para o agente

O Agente para cargas de trabalho computacionais usa a conta de serviço anexada à instância de computação para autenticação e acesso aos recursos Google Cloud .

Para melhorar a segurança, recomendamos que você use uma conta de serviço de uso único em vez da conta de serviço padrão do Compute Engine.

Para garantir que a conta de serviço tenha as permissões necessárias para permitir que o agente para cargas de trabalho do Compute se autentique com Google Cloud e acesse recursos do Google Cloud , peça ao administrador para conceder os seguintes papéis do IAM à conta de serviço no seu projeto:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

O administrador também pode conceder à conta de serviço as permissões necessárias por meio de papéis personalizados ou outros papéis predefinidos.

Ativar o acesso às APIs do Cloud

O Compute Engine recomenda configurar as instâncias para permitir todos os escopos de acesso a todas as APIs do Cloud e usar apenas as permissões do IAM da conta de serviço da instância para controlar o acesso aos recursos doGoogle Cloud . Para mais informações, consulte Criar uma VM que usa uma conta serviço gerenciado pelo usuário.

Se você limitar o acesso às APIs do Cloud, o Agente para cargas de trabalho computacionais vai exigir, no mínimo, os seguintes escopos de acesso às APIs do Cloud na instância de computação do host:

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

Para mais informações, consulte Práticas recomendadas para escopos.

Se você estiver executando uma carga de trabalho do SQL Server em uma instância de computação sem um endereço IP externo, ative o Acesso Privado do Google na sub-rede da instância para que o Agente para cargas de trabalho computacionais possa acessar as APIs e os serviços do Google. Para saber como ativar o Acesso privado do Google, consulte Configurar o Acesso privado do Google.

Permissões necessárias no SQL Server

Use o script a seguir para atribuir as permissões necessárias à conta de usuário configurada no 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'' '

Instalar e configurar o agente usando o gerenciador de pacotes

Nesta seção, mostramos como instalar o Agente para cargas de trabalho computacionais na sua instância de computação e configurá-lo para se conectar a uma instância do SQL Server usando um gerenciador de pacotes.

Para instalar o Agente para cargas de trabalho computacionais, siga estas etapas:

Windows

No Windows, instale o Agente para cargas de trabalho computacionais usando o comando de gerenciamento de pacotes googet. Esse comando conclui as seguintes tarefas:

  • Faz o download da versão mais recente do agente.
  • Cria um serviço do Windows chamado google-cloud-workload-agent.
  • Cria uma tarefa programada que é executada a cada minuto para verificar se o serviço está em execução e, se necessário, reiniciá-lo.

Para instalar e configurar o Agente para cargas de trabalho computacionais em uma instância de computação baseada no Windows, siga estas etapas:

  1. Estabeleça uma conexão com a instância de computação usando RDP.

    Para saber como fazer isso, consulte Conectar a VMs do Windows usando o RDP.

  2. Como administrador, execute os seguintes comandos no 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. Abra o arquivo de configuração do agente:

    %ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json
    
  4. Especifique valores para todos os parâmetros obrigatórios, conforme descrito em Parâmetros de configuração.

  5. Salvar o arquivo de configuração

  6. Reinicie o agente para que as mudanças entrem em vigor.

RHEL

No Red Hat Enterprise Linux (RHEL), instale o Agente para cargas de trabalho computacionais usando o comando de gerenciamento de pacotes yum. Esse comando conclui as seguintes tarefas:

  • Faz o download da versão mais recente do agente.
  • Cria um serviço systemd para o agente, chamado google-cloud-workload-agent.
  • Ativa e inicia o serviço google-cloud-workload-agent.

Para instalar e configurar o Agente para cargas de trabalho computacionais em uma instância de computação baseada no RHEL, siga estas etapas:

  1. Estabeleça uma conexão SSH com a instância de computação.

  2. No terminal, instale o 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. Abra o arquivo de configuração do agente:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Especifique valores para todos os parâmetros obrigatórios, conforme descrito em Parâmetros de configuração.

  5. Salvar o arquivo de configuração

  6. Reinicie o agente para que as mudanças entrem em vigor.

SLES

No SUSE Linux Enterprise Server (SLES), instale o Agente para cargas de trabalho computacionais usando o comando de gerenciamento de pacotes zypper. Esse comando conclui as seguintes tarefas:

  • Faz o download da versão mais recente do agente.
  • Cria um serviço systemd para o agente, chamado google-cloud-workload-agent.
  • Ativa e inicia o serviço google-cloud-workload-agent.

Para instalar e configurar o Agente para cargas de trabalho computacionais em uma instância de computação baseada no SLES, siga estas etapas:

  1. Estabeleça uma conexão SSH com a instância de computação.

  2. No terminal, instale o 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. Abra o arquivo de configuração do agente:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Especifique valores para todos os parâmetros obrigatórios, conforme descrito em Parâmetros de configuração.

  5. Salvar o arquivo de configuração

  6. Reinicie o agente para que as mudanças entrem em vigor.

Debian

No Debian, instale o Agente para cargas de trabalho computacionais usando o comando de gerenciamento de pacotes apt. Esse comando conclui as seguintes tarefas:

  • Faz o download da versão mais recente do agente.
  • Cria um serviço systemd para o agente, chamado google-cloud-workload-agent.
  • Ativa e inicia o serviço google-cloud-workload-agent.

Para instalar e configurar o Agente para cargas de trabalho computacionais em uma instância de computação baseada em Debian, siga estas etapas:

  1. Estabeleça uma conexão SSH com a instância de computação.

  2. No terminal, instale o 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. Abra o arquivo de configuração do agente:

    /etc/google-cloud-workload-agent/configuration.json
    
  4. Especifique valores para todos os parâmetros obrigatórios, conforme descrito em Parâmetros de configuração.

  5. Salvar o arquivo de configuração

  6. Reinicie o agente para que as mudanças entrem em vigor.

Instalar e gerenciar o agente em uma frota de VMs usando o Gerenciador de extensões de VM

Nesta seção, mostramos como instalar e gerenciar o Agente para cargas de trabalho computacionais em uma frota de VMs usando o Gerenciador de extensões de VM.

Com a política do Gerenciador de extensões de VM, você pode realizar tarefas como as seguintes:

  • Instalação em toda a frota: instale o Agente para cargas de trabalho computacionais nos seguintes itens:
    • Todas as VMs no seu projeto Google Cloud ou um subconjunto de VMs identificadas por rótulos.
    • Todas as VMs em uma zona ou um subconjunto de VMs identificadas por rótulos.
  • Gerenciamento de configuração: aplique uma configuração personalizada ao agente em todas as VMs gerenciadas por uma política.

Para mais informações sobre o gerenciador de extensões de VM, consulte Sobre o gerenciador de extensões de VM.

Configurar o Gerenciador de extensões de VM

Para configurar o Gerenciador de extensões de VM, siga estas etapas:

Instalar e configurar o agente em uma frota de VMs

Para instalar a versão mais recente do Agente para cargas de trabalho computacionais na sua frota de VMs usando uma política do Gerenciador de extensões de VM, consulte a seção adequada:

Instale e configure o agente em VMs no seu projeto Google Cloud

Para instalar o agente em todas as VMs do projeto Google Cloud ou em um subconjunto de VMs identificadas por um rótulo usando uma política do Gerenciador de extensões de VM, siga estas etapas:

Console

  1. No console do Google Cloud , acesse a página Políticas de extensão de VM.

    Acessar políticas de extensão de VM

  2. Clique em Criar política de extensão.

  3. No campo Nome, insira um nome para a política.

  4. Opcional: no campo Descrição, insira uma descrição para a política.

  5. No campo Prioridade, especifique um número de prioridade para resolver conflitos entre políticas. Números menores indicam maior prioridade. O valor padrão é 1000.

  6. Na seção Escopo, selecione Implantação global.

  7. Na seção Gerenciar extensões, clique em Adicionar extensão e faça o seguinte:

    1. Na lista Extensão, selecione Extensão do Google Cloud para cargas de trabalho de computação.
    2. Deixe o campo Versão em branco.

      Isso direciona a política para instalar a versão mais recente do Agente para cargas de trabalho computacionais.

    3. No campo Conteúdo do arquivo de configuração, insira a configuração que você quer aplicar ao agente.

      Para informações sobre os parâmetros de configuração aceitos pelo agente para sua carga de trabalho do SQL Server, consulte Parâmetros de configuração.

    4. Clique em Concluído.

    5. No campo Lançamento, selecione a opção de plano de lançamento que você quer usar: Lançamento lento (recomendado) ou Lançamento rápido.

      Para informações sobre planos de lançamento, consulte Sobre os planos de lançamento.

  8. Opcional: para limitar o lançamento da política às VMs necessárias, faça o seguinte:

    1. Clique em Adicionar rótulos e inclua os rótulos que identificam as VMs necessárias.
    2. Clique em Concluído.
  9. Clique em Criar.

gcloud

No terminal ou no Cloud Shell, execute o 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]

Substitua:

  • POLICY_NAME: um nome exclusivo para a política de extensão de VM.
  • PROJECT_ID: o ID do projeto do Google Cloud projeto para o qual você está criando a política
  • ROLL_OUT_SPEED: a rapidez com que você quer lançar a política. Os valores aceitos são slow_rollout (recomendado) e fast_rollout. Para mais informações, consulte Sobre os planos de lançamento.

  • Como alternativa, é possível usar um plano de lançamento personalizado especificando a opção --rollout-custom-plan. Para mais informações, consulte Sobre os planos de lançamento.

  • Você pode usar --rollout-predefined-plan ou --rollout-custom-plan, mas não ambos no mesmo comando.

  • DESCRIPTION: uma descrição opcional da política.

  • CONFIG_FILE_PATH: o caminho local para o arquivo JSON que contém a configuração do Agente para cargas de trabalho computacionais.

    • Como alternativa, para fornecer a configuração como uma string inline, use a flag --config em vez de --config-from-file. Por exemplo, --config=google-cloud-workload-extension="CONFIG".
    • É possível usar --config-from-file ou --config, mas não ambos no mesmo comando.
    • Para informações sobre os parâmetros de configuração aceitos pelo agente, consulte Parâmetros de configuração.
  • KEY_1=VALUE_1: uma lista separada por vírgulas de pares de chave-valor que definem os rótulos usados pela política para segmentar VMs.

    • Para que uma VM seja segmentada pela sua política, ela precisa ter todos os rótulos especificados.
    • Se você especificar --inclusion-labels várias vezes, a política vai segmentar VMs que correspondam a qualquer um dos seletores fornecidos (OR lógico). Se você omitir essa flag, a política vai segmentar todas as VMs no projeto.
  • PRIORITY: um número inteiro de 0 a 65535 que define a prioridade da política. Números menores indicam maior prioridade. O valor padrão é 1000. Para mais informações, consulte Prioridade e resolução de conflitos de políticas.

Instalar e configurar o agente em VMs em uma zona específica

Para instalar e configurar a versão mais recente do Agente para cargas de trabalho computacionais na sua frota de VMs em uma zona específica usando uma política do Gerenciador de extensões de VM, conclua as etapas a seguir:

Console

  1. No console do Google Cloud , acesse a página Políticas de extensão de VM.

    Acessar políticas de extensão de VM

  2. Clique em Criar política de extensão.

  3. No campo Nome, insira um nome para a política.

  4. Opcional: no campo Descrição, insira uma descrição para a política.

  5. No campo Prioridade, especifique um número de prioridade para resolver conflitos entre políticas. Números menores indicam maior prioridade. O valor padrão é 1000.

  6. Nas listas Região e Zona, selecione a zona em que você quer aplicar essa política.

  7. Na seção Gerenciar extensões, clique em Adicionar extensão e faça o seguinte:

    1. Na lista Extensão, selecione Extensão do Google Cloud para cargas de trabalho de computação.
    2. Deixe o campo Versão em branco.

      Isso direciona a política para instalar a versão mais recente do Agente para cargas de trabalho computacionais.

    3. No campo Conteúdo do arquivo de configuração, insira a configuração que você quer aplicar ao agente.

      Para informações sobre os parâmetros de configuração aceitos pelo agente para sua carga de trabalho do SQL Server, consulte Parâmetros de configuração.

    4. Clique em Concluído.

  8. Opcional: para limitar o lançamento da política às VMs necessárias, faça o seguinte:

    1. Clique em Adicionar rótulos e inclua os rótulos que identificam as VMs necessárias.
    2. Clique em Concluído.
  9. Clique em Criar.

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]

Substitua:

  • POLICY_NAME: um nome para a política de extensão de VM.

    O comando falha se já existir uma política com o nome especificado na zona.

  • ZONE: a zona em que você quer aplicar essa política.

  • CONFIG_FILE_PATH: o caminho local para o arquivo JSON que contém a configuração para o Agente para cargas de trabalho computacionais se conectar com sua carga de trabalho do SQL Server.

    • Como alternativa, para fornecer a configuração como uma string inline, use a flag --config em vez de --config-from-file. Por exemplo, --config=google-cloud-workload-extension="CONFIG". OGoogle Cloud recomenda o uso de --config-from-file.
    • É possível usar --config-from-file ou --config, mas não ambos no mesmo comando.
    • Para informações sobre os parâmetros de configuração aceitos pelo agente para sua carga de trabalho do SQL Server, consulte Parâmetros de configuração.
  • DESCRIPTION: uma descrição opcional da política.

  • KEY_1=VALUE_1: uma lista separada por vírgulas de pares de chave-valor que definem os rótulos usados pela política para segmentar VMs.

    • Para que uma VM seja segmentada pela sua política, ela precisa ter todos os rótulos especificados.
    • Se você especificar --inclusion-labels várias vezes, a política vai direcionar VMs que correspondam a qualquer um dos seletores fornecidos (OR lógico). Se você omitir essa flag, a política vai direcionar todas as VMs na zona especificada.
  • PRIORITY: um número inteiro de 0 a 65535 que define a prioridade da política. Números menores indicam maior prioridade. O valor padrão é 1000.

Exemplo:

O comando a seguir cria uma política chamada test-agent-policy no projetoGoogle Cloud chamado test-project, que instala a versão mais recente do Agente para cargas de trabalho computacionais em todas as VMs implantadas na zona us-centrail-f. A configuração especificada no agent-config.json é aplicada ao 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"

Gerenciar o agente em uma frota de VMs

Para mudar como uma política do Gerenciador de extensões de VM gerencia o Agente para cargas de trabalho computacionais, atualize a política. Quando você atualiza uma política, o Gerenciador de extensões de VM implanta as mudanças em todas as VMs aplicáveis, normalmente em um minuto. Se você modificar os rótulos de inclusão, o Agente para cargas de trabalho computacionais poderá ser instalado em novas VMs ou desinstalado de VMs atuais, dependendo se as VMs corresponderem aos rótulos atualizados.

As seções a seguir mostram como gerenciar o Agente para cargas de trabalho computacionais para fazer o seguinte:

Modificar a configuração do agente em uma frota de VMs

Para modificar a configuração das instâncias do Agente para cargas de trabalho computacionais que você instalou na sua frota de VMs usando uma política do Gerenciador de extensões de VM, edite essa política.

Para modificar a configuração do agente na sua frota de VMs, siga estas etapas:

Console

  1. No console do Google Cloud , acesse a página Políticas de extensão de VM.

    Acessar políticas de extensão de VM

  2. Clique na política que você quer modificar.

  3. Na página Detalhes da política de extensão, clique em Editar.

  4. Na seção Gerenciar extensões, ative a Extensão do Google Cloud para cargas de trabalho computacionais.

  5. No campo Conteúdo do arquivo de configuração, insira a configuração que você quer aplicar ao agente.

    Para informações sobre os parâmetros de configuração aceitos pelo agente, consulte Parâmetros de configuração.

  6. Clique em Concluído.

  7. Clique em Salvar.

gcloud

Para modificar a configuração do Agente para cargas de trabalho computacionais na frota de VMs, execute o comando gcloud compute zone-vm-extension-policies update. Quando você atualiza uma política usando a gcloud, a solicitação funciona como uma substituição completa. Os campos opcionais omitidos voltam aos valores padrão, em vez de manter os valores da política modificada.

Para modificar a configuração do 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"]

Substitua:

  • POLICY_NAME: o nome da política de extensão de VM que você quer modificar.
  • ZONE: a Google Cloud zona em que a política é aplicada.
  • CONFIG_FILE_PATH: o caminho local para o arquivo JSON que contém a configuração do Agente para cargas de trabalho computacionais.

    • Também é possível fornecer a configuração do agente como uma string inline usando a flag --config em vez de --config-from-file. Por exemplo, --config=google-cloud-workload-extension="CONFIG". OGoogle Cloud recomenda o uso de --config-from-file.
    • É possível usar --config-from-file ou --config, mas não ambos no mesmo comando.
    • Para informações sobre os parâmetros de configuração aceitos pelo agente, consulte Parâmetros de configuração.
  • KEY_1=VALUE_1: uma lista separada por vírgulas de pares de chave-valor que definem os rótulos usados pela política para segmentar VMs.

    • Para que uma VM seja segmentada pela sua política, ela precisa ter todos os rótulos especificados.
    • Se você especificar --inclusion-labels várias vezes, a política vai direcionar VMs que correspondam a qualquer um dos seletores fornecidos (OR lógico). Se você omitir essa flag, a política vai direcionar todas as VMs na zona especificada.
  • PRIORITY_NUMBER: a prioridade que você quer definir para sua política. É possível especificar um número inteiro de 0 a 65535.

  • DESCRIPTION: uma descrição da política de extensão de VM.

Atualizar uma política global para incluir novas zonas

Quando você cria VMs em uma nova zona depois de criar e implantar uma política global, o Gerenciador de extensões de VM não aplica automaticamente a política às VMs nas novas zonas. Para incluir as VMs em novas zonas, reinicie a implantação da política global.

Para reiniciar o lançamento de uma política global, siga estas etapas:

  • No terminal ou no Cloud Shell, execute o comando gcloud compute global-vm-extension-policies update e forneça a opção --rollout-entry-uuid da seguinte maneira:

    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=UUID
    

    Substitua:

    • UUID: um identificador universalmente exclusivo (UUID) que identifica a solicitação de nova tentativa. Você pode usar qualquer gerador de UUID para criar um. Para mais informações, consulte Repetir um lançamento.
    • ROLL_OUT_SPEED: a rapidez com que você quer lançar a política. Os valores aceitos são slow_rollout (recomendado) e fast_rollout. Para mais informações, consulte Sobre os planos de lançamento.

    • Como alternativa, é possível usar um plano de lançamento personalizado especificando a opção --rollout-custom-plan. Para mais informações, consulte Sobre os planos de lançamento.

    • Você pode usar --rollout-predefined-plan ou --rollout-custom-plan, mas não ambos no mesmo comando.

Atualizar uma política global para excluir zonas

Para atualizar uma política global e excluir zonas, siga estas etapas:

  • No terminal ou no Cloud Shell, execute o comando gcloud compute global-vm-extension-policies update e forneça um plano de lançamento personalizado que especifique as zonas em que a política será aplicada:

    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=UUID
    

    Substitua:

    • NEW_CUSTOM_PLAN_NAME: o nome do novo plano de implantação personalizada que identifica as zonas em que a política será aplicada. Para informações sobre como criar planos de lançamento personalizados, consulte Sobre planos de lançamento.
    • UUID: um identificador universalmente exclusivo (UUID) que identifica a solicitação de nova tentativa. Você pode usar qualquer gerador de UUID para criar um. Para mais informações, consulte Repetir um lançamento.

Desinstalar o agente de uma frota de VMs

Para desinstalar o Agente para cargas de trabalho computacionais da sua frota de VMs, exclua a política do Gerenciador de extensões de VM que gerencia a frota.

Ao excluir uma política, se outra política ativa de menor prioridade for aplicada a uma VM e declarar o Agente para cargas de trabalho computacionais, o agente vai permanecer instalado nessa VM com base na política de menor prioridade.

O Gerenciador de extensões de VM remove o agente de todas as VMs acessíveis em até um minuto após a exclusão da política. Se uma VM estiver inacessível porque o agente convidado foi removido ou a VM foi excluída, o Gerenciador de extensões de VM vai pular a exclusão do Agente para cargas de trabalho computacionais. Se uma VM assim ficar disponível novamente, o Gerenciador de extensões de VM vai remover o Agente para cargas de trabalho computacionais.

Para desinstalar o Agente para cargas de trabalho computacionais da sua frota de VMs, siga estas etapas:

Console

  1. No console do Google Cloud , acesse a página Políticas de extensão de VM.

    Acessar políticas de extensão de VM

  2. Clique na política que gerencia o Agente para cargas de trabalho computacionais na sua frota de VMs.

  3. Na página Detalhes da política de extensão, clique em Excluir e confirme a exclusão.

gcloud

gcloud compute zone-vm-extension-policies delete POLICY_NAME \
    --project=PROJECT_ID \
    --zone=ZONE

Substitua:

  • POLICY_NAME: o nome da política de extensão de VM que você quer excluir.
  • PROJECT_ID: o ID do Google Cloud projeto em que a política está localizada.
  • ZONE: a Google Cloud zona em que a política está localizada.

Verificar a instalação do agente

Para verificar se o agente está sendo executado conforme o esperado, siga estas etapas:

Windows

  1. Estabeleça uma conexão com a instância de computação usando RDP.

    Para saber como fazer isso, consulte Conectar a VMs do Windows usando o RDP.

  2. Como administrador, emita o seguinte comando no PowerShell:

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

    Se o agente estiver funcionando conforme o esperado, o status será Running.

RHEL

  1. Estabeleça uma conexão SSH com a instância de computação.

  2. Verifique o status do pacote do agente:

    systemctl status google-cloud-workload-agent
    

    Se o pacote do agente estiver funcionando conforme esperado, a saída vai conter active (running). Exemplo:

    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. Estabeleça uma conexão SSH com a instância de computação.

  2. Verifique o status do pacote do agente:

    systemctl status google-cloud-workload-agent
    

    Se o pacote do agente estiver funcionando conforme esperado, a saída vai conter active (running). Exemplo:

    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. Estabeleça uma conexão SSH com a instância de computação.

  2. Verifique o status do pacote do agente:

    systemctl status google-cloud-workload-agent
    

    Se o pacote do agente estiver funcionando conforme esperado, a saída vai conter active (running). Exemplo:

    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

Parâmetros de configuração

A tabela a seguir descreve os parâmetros do arquivo de configuração do agente.

Parâmetros
log_level

String

Para definir o nível de geração de registros do agente, defina o valor necessário. Os níveis de registro disponíveis são os seguintes:

  • DEBUG
  • INFO
  • WARNING
  • ERROR

O nível de registro padrão é INFO. Não mude o nível de geração de registros, a menos que isso seja orientado pelo Cloud Customer Care.

log_to_cloud

Boolean

Para redirecionar os registros do agente para o Cloud Logging, especifique true. O valor padrão é true.

agent_properties.log_usage_metrics

Boolean

Para ativar o registro das métricas de integridade do agente, defina o valor como true. O valor padrão é false.

common_discovery.collection_frequency

Duration

Especifique a frequência, em segundos, com que o serviço de descoberta de carga de trabalho do agente é executado. O valor padrão é 10800s.

Verifique se o valor desse parâmetro termina com um s em letras minúsculas.

sqlserver_configuration.enabled

Boolean

Para ativar a coleta de métricas do SQL Server no agente, defina o valor como true. O padrão é false.

sqlserver_configuration.collection_configuration.collect_guest_os_metrics

Boolean

Para ativar a coleta de métricas do SO, defina o valor como true. O padrão é true.
Não defina sqlserver_configuration.collection_configuration.collect_guest_os_metrics como false, a menos que isso seja orientado pelo Cloud Customer Care.

sqlserver_configuration.collection_configuration.collect_sql_metrics

Boolean

Para ativar a coleta de métricas do SQL Server, especifique true. O padrão é true.
Não defina sqlserver_configuration.collection_configuration.collect_sql_metrics como false, a menos que isso seja orientado pelo Cloud Customer Care.

sqlserver_configuration.collection_configuration.collection_frequency

Duration

Frequência de coleta de métricas do agente para cargas de trabalho computacionais, em segundos. O padrão é 3600s. É possível atualizar a frequência de coleta. No entanto, recomendamos manter o valor padrão.

sqlserver_configuration.credential_configurations[].connection_parameters[].host

String

O nome do host do SQL Server.

sqlserver_configuration.credential_configurations[].connection_parameters[].username

String

Especifique a conta de usuário usada para consultar a instância do SQL Server. Para configurar as permissões da conta, revise as permissões necessárias no script de permissão e conceda-as de acordo com as políticas internas.

Observação:se você estiver usando a autenticação do Windows, especifique o nome de usuário no seguinte formato: domain-name\\user-name

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

String

O ID do projeto em que o secreto está armazenado. Defina como uma string vazia ("") se o secret e a instância de VM do host existirem no mesmo projeto do Google Cloud .

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

String

Para fornecer com segurança a senha da conta de usuário do banco de dados que o agente usa para consultar o SQL Server, especifique o nome do secret no Secret Manager que contém as credenciais de segurança para a conta de usuário do banco de dados.

Observação:o secret e a instância de VM do host precisam existir no mesmo projeto do Google Cloud .

sqlserver_configuration.credential_configurations[].connection_parameters[].port

Int

Especifique a porta em que a instância do SQL Server aceita consultas.

sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.host

String

Endereço IP ou FQDN da VM remota do Windows

sqlserver_configuration.credential_configurations[].remote_win.connection_parameters.username

String

Especifique a conta de usuário usada para se conectar remotamente à VM do Windows.

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

String

Para fornecer com segurança a senha da conta de usuário do Windows que o agente usa para se conectar remotamente à VM, especifique o nome do secret no Secret Manager que contém as credenciais de segurança para a conta de usuário do banco de dados.

Observação:o secret e a instância de VM do host precisam existir no mesmo projeto do Google Cloud .

sqlserver_configuration.credential_configurations[].local_collection

Boolean

Especifique true para indicar que o agente está fazendo a coleta de dados local. O padrão é true.

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.host

String

Endereço IP ou FQDN da VM Linux remota.

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameters.username

String

Especifique a conta de usuário usada para se conectar remotamente à VM do Linux.

sqlserver_configuration.credential_configurations[].remote_linux.connection_parameter.port

Int

Especifique o número da porta SSH para a VM Linux remota.

sqlserver_configuration.credential_configurations[].remote_linux.linux_ssh_private_key_path

String

Especifique o caminho para o arquivo de chave privada SSH.

sqlserver_configuration.credential_configurations[].vm_properties.instance_name

String

Especifique o nome da sua instância de VM do Compute Engine.

Observação:opcional para coleta local.

sqlserver_configuration.credential_configurations[].vm_properties.instance_id

String

Especifique o ID da sua instância de VM do Compute Engine.

Observação:opcional para coleta local.

sqlserver_configuration.collection_timeout

Duration

O tempo limite para coleta de métricas, em segundos. O padrão é "10s".

sqlserver_configuration.max_retries

Int

O número máximo de novas tentativas quando ocorre uma coleta com falha. O valor padrão é `3`.

sqlserver_configuration.retry_frequency

Duration

Especifique a frequência com que o agente deve tentar novamente quando uma coleta falha. O valor padrão é "3600s".

sqlserver_configuration.remote_collection

Boolean

Especifique true para indicar que o agente está fazendo coleta de dados remota. O padrão é false.

Exemplo: arquivo de configuração

Confira um exemplo de configuração que permite que o Agente para cargas de trabalho computacionais se conecte a uma instância do SQL Server:

Coleta local

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

Coleta 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
}
}

Verificar a versão do agente

Para acessar a versão do agente, siga estas etapas:

Windows

  1. Use o RDP para se conectar à máquina host.
  2. Como administrador, emita o seguinte comando no PowerShell:
    googet installed google-cloud-workload-agent

RHEL

  1. Use o SSH para se conectar à máquina host.
  2. Execute este comando:
    yum info google-cloud-workload-agent

SUSE

  1. Use o SSH para se conectar à máquina host.
  2. Execute este comando:
    zypper info google-cloud-workload-agent

Debian

  1. Use o SSH para se conectar à máquina host.
  2. Execute este comando:
    dpkg -s google-cloud-workload-agent | grep version

Reinicie o agente.

Se o Agente para cargas de trabalho computacionais parar de funcionar ou você atualizar a configuração, reinicie o agente.

Selecione seu sistema operacional e siga estas etapas:

Windows

  1. Use o RDP para se conectar à máquina host.
  2. Como administrador, emita o seguinte comando no PowerShell:
    Restart-Service -Name 'google-cloud-workload-agent' -Force

Linux

  1. Use o SSH para se conectar à máquina host.
  2. Execute este comando:
    sudo systemctl restart google-cloud-workload-agent

Atualizar o agente

Para garantir que você tenha a versão mais recente do agente, é preciso verificar as atualizações periodicamente e atualizar o agente.

Verificar se há atualizações

Selecione seu sistema operacional e siga estas etapas:

Windows

  1. Use o RDP para se conectar à máquina host.
  2. Como administrador, emita o seguinte comando no PowerShell:
    googet latest google-cloud-workload-agent

RHEL

  1. Use o SSH para se conectar à máquina host.
  2. Execute este comando:
    sudo yum check-update google-cloud-workload-agent

SLES

  1. Use o SSH para se conectar à máquina host.
  2. Execute este comando:
    sudo zypper list-updates -r google-cloud-workload-agent

Debian

  1. Use o SSH para se conectar à máquina host.
  2. Execute este comando:
    sudo apt list google-cloud-workload-agent

Instalar uma atualização

Selecione seu sistema operacional e siga estas etapas:

Windows

  1. Use o RDP para se conectar à máquina host.
  2. Como administrador, emita o seguinte comando no PowerShell:
    googet install google-cloud-workload-agent

RHEL

  1. Use o SSH para se conectar à máquina host.
  2. Execute este comando:
    sudo yum --nogpgcheck update google-cloud-workload-agent

SLES

  1. Use o SSH para se conectar à máquina host.
  2. Execute este comando:
    sudo zypper --no-gpg-checks update google-cloud-workload-agent

Debian

  1. Use o SSH para se conectar à máquina host.
  2. Execute este comando:
    sudo apt-get install google-cloud-workload-agent

Ver os registros do agente no Cloud Logging

Por padrão, os registros do Agente para Cargas de Trabalho Computacionais são redirecionados das instâncias de VM para o Cloud Logging.

Para ver os registros do agente no Logging, siga estas etapas:

  1. No console do Google Cloud , acesse a página Análise de registros.

    Acessar o "Explorador de registros"

  2. Acesse o painel Consulta.

  3. No menu suspenso Recursos, selecione Global e clique em Aplicar.

  4. No editor de consultas, insira google-cloud-workload-agent.

  5. Clique em Executar consulta.

    Você vai encontrar os registros gerados pelas instâncias do agente em execução em todas as instâncias de VM. Para filtrar os registros de uma máquina específica, use os filtros disponíveis na interface.

Desativar os registros do agente no Cloud Logging

Para desativar o redirecionamento padrão dos registros do agente para o Cloud Logging, siga estas etapas:

  1. Estabeleça uma conexão RDP ou SSH com a instância de VM do host.

  2. Abra o arquivo de configuração do agente:

    Windows

    %ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.json

    Linux

    /etc/google-cloud-workload-agent/configuration.json

  3. Para a propriedade log_to_cloud, atualize o valor para false.

  4. Salve o arquivo de configuração.

  5. Reinicie o agente para que essa alteração entre em vigor.

Resolver problemas

As seções a seguir fornecem informações sobre problemas comuns relacionados ao uso do Agente para cargas de trabalho computacionais, as causas e a resolução deles.

Escopos de autenticação insuficientes

Problema:se você limitar os escopos de acesso na instância de VM do host, os registros do Agente para cargas de trabalho computacionais poderão mostrar um erro de permissões insuficientes do IAM.

  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:o Agente para cargas de trabalho computacionais exige escopos de acesso mínimos das APIs do Cloud na instância da VM do host.

Resolução:para resolver esse problema, ative os escopos de acesso necessários

Falha ao carregar o arquivo de configuração

Problema:se o arquivo de configuração tiver valores inválidos, você vai receber o seguinte erro.

"Failed to load configuration","pid":3524,"error":"proto: (line 19:42): unknown
field "{field_name}"

Resolução:para resolver esse problema, atualize o arquivo de configuração usando os detalhes em Parâmetros de configuração.

Falha ao inicializar a coleta de dados

Problema:depois de instalar o agente, se o arquivo de configuração não for atualizado, você vai receber o seguinte erro:

"Failed to initialize guest collection","pid":2112,"error":"invalid value for "user_name" "secret_name"

Resolução:para resolver esse problema, inicialize a configuração de credenciais usando os Parâmetros de configuração.

A seguir