Configurar o agente para cargas de trabalho do MySQL

Este documento mostra como instalar o agente para cargas de trabalho do Compute em instâncias do Compute Engine e configurar o agente para se conectar a uma carga de trabalho do MySQL 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 MySQL e das instâncias de computação subjacentes e as envia para o Workload Manager. Em seguida, use a avaliação do Gerenciador de cargas de trabalho para verificar se há desvios das práticas recomendadas de infraestrutura, sistema operacional e configurações de carga de trabalho nas suas cargas de trabalho do MySQL.

Antes de começar

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

Papéis do IAM necessários para o agente

O agente para cargas de trabalho de computação usa a conta de serviço anexada à instância de computação para autenticação e acesso aos recursos do 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 à conta de serviço os seguintes papéis do IAM 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 de computação 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 de escopos.

Se você estiver executando aplicativos MySQL em uma instância de computação que não tenha 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 do Compute 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.

Instalar e configurar o agente usando o gerenciador de pacotes

Esta seção mostra como instalar o agente para cargas de trabalho do Compute na sua instância de computação e configurá-lo para se conectar a uma instância do MySQL usando um gerenciador de pacotes.

Para instalar o agente para cargas de trabalho do Compute, siga estas etapas:

RHEL

No Red Hat Enterprise Linux (RHEL), instale o agente para cargas de trabalho do Compute 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 do Compute 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 do Compute 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 do Compute 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. Salve 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 do Compute 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 do Compute em uma instância de computação baseada no 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.

Windows

No Windows, instale o agente para cargas de trabalho do Compute 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 do Compute 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.

Instalar e gerenciar o agente em uma frota de VMs usando o VM Extension Manager

Configurar o VM Extension Manager

Para configurar o VM Extension Manager, siga estas etapas:

Instalar o agente em uma frota de VMs

Para instalar a versão mais recente do agente para cargas de trabalho do Compute na sua frota de VMs em uma zona específica 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, digite 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 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 do Compute.

    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 MySQL, 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 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]

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 do Compute se conectar à sua carga de trabalho do MySQL.

    • 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 que você use --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 MySQL, 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 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 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 do Compute em todas as VMs implantadas na zona us-centrail-f. A configuração especificada no agent-config.json é aplicada ao 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"

Verificar a instalação do agente

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

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

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 esperado, o status será Running.

Exemplo: arquivo de configuração

Confira a seguir um exemplo de configuração que permite que o agente para cargas de trabalho do Compute se conecte a uma instância do MySQL. Para autenticação, um secret do Secret Manager é usado, que é armazenado no mesmo projeto Google Cloud em que a instância do MySQL está em execução.

{
  "log_level": "INFO",
  "common_discovery": {
    "collection_frequency": "10800s"
  },
  "mysql_configuration": {
    "enabled": true,
    "connection_parameters": {
      "username": "db_user_name",
      "secret": {
        "secret_name": "db_pwd_secret_name",
        "project_id": ""
      },
      "host": "localhost",
      "port": 1433
    }
  }
}

Parâmetros de configuração

A tabela a seguir descreve os parâmetros de configuração do agente para cargas de trabalho do Compute que oferecem suporte a avaliações de cargas de trabalho do MySQL:

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 a geração de registros 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.

mysql_configuration.enabled

Boolean

Para permitir que o agente colete métricas da instância do MySQL, defina o valor como true. O valor padrão é false.

mysql_configuration.connection_parameters.username

String

Especifique a conta de usuário que o agente usa para consultar a instância do MySQL.

mysql_configuration.connection_parameters.password

String

Especifique a senha de texto simples para a conta de usuário que o agente usa para consultar a instância do MySQL.

Em vez de especificar uma senha de texto simples, recomendamos usar os parâmetros secret.name e secret.project_id.

Para autenticação, o agente usa a seguinte ordem de preferência: se especificado, o conjunto de parâmetros secret é preferido em relação ao parâmetro password. Recomendamos que você defina apenas uma opção de autenticação no arquivo de configuração do agente.

mysql_configuration.connection_parameters.secret.secret_name

String

Opcional. Para fornecer com segurança a senha da conta de usuário que o agente usa para consultar a instância do MySQL, especifique o nome do secret do Secret Manager que contém a senha.

Para autenticação, o agente usa a seguinte ordem de preferência: se especificado, o conjunto de parâmetros secret é preferido em relação ao parâmetro password. Recomendamos que você defina apenas uma opção de autenticação no arquivo de configuração do agente.

mysql_configuration.connection_parameters.secret.project_id

String

Opcional. Para usar o parâmetro secret.secret_name na autenticação da conta de usuário especificada, informe o ID do projeto Google Cloud em que o secret do Secret Manager está armazenado.

Se o secret e a carga de trabalho estiverem no mesmo projeto Google Cloud , defina o valor desse parâmetro como uma string vazia ("").

mysql_configuration.connection_parameters.host

String

Especifique o nome do host do MySQL.

mysql_configuration.connection_parameters.port

Int

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

A seguir