Configure o agente para cargas de trabalho do MySQL

Este documento mostra como instalar o agente para cargas de trabalho do Compute nas instâncias do Compute Engine e configurar o agente para se ligar a uma carga de trabalho do MySQL em execução nessas instâncias de computação.

Depois de instalar e configurar o agente, este recolhe métricas da sua carga de trabalho do MySQL e das instâncias de computação subjacentes, e envia-as para o Workload Manager. Em seguida, pode usar a avaliação do Workload Manager para analisar as suas cargas de trabalho do MySQL quanto a desvios das práticas recomendadas para configurações de infraestrutura, sistema operativo e carga de trabalho.

Antes de começar

Antes de instalar e configurar o agente para cargas de trabalho de computação, tem de se certificar de que os seguintes pré-requisitos são cumpridos:

Funções IAM necessárias 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 para aceder a Google Cloud recursos.

Para melhorar a segurança, recomendamos que use uma conta de serviço de finalidade única em vez de usar a conta de serviço predefinida do Compute Engine.

Para garantir que a conta de serviço tem as autorizações necessárias para permitir que o agente para cargas de trabalho do Compute se autentique com os recursosGoogle Cloud e aceda aos mesmos Google Cloud , peça ao seu administrador para conceder à conta de serviço as seguintes funções do IAM no seu projeto:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

O seu administrador também pode conceder à conta de serviço as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

Ative o acesso às APIs Cloud

O Compute Engine recomenda que configure as suas instâncias para permitir todos os âmbitos de acesso a todas as APIs Cloud e usar apenas as autorizações do IAM da conta de serviço da instância para controlar o acesso aosGoogle Cloud recursos. Para mais informações, consulte o artigo Crie uma VM que use uma conta de serviço gerida pelo utilizador.

Se limitar o acesso às APIs Cloud, o agente para cargas de trabalho de computação requer, no mínimo, os seguintes âmbitos de acesso às APIs Cloud na instância de computação do anfitrião:

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

Para mais informações, consulte o artigo Práticas recomendadas de âmbitos.

Se estiver a executar aplicações MySQL numa instância de computação que não tenha um endereço IP externo, tem de ativar o acesso privado à Google na sub-rede da instância para que o agente para cargas de trabalho de computação possa aceder às APIs e aos serviços Google. Para obter informações sobre como ativar o acesso privado à Google, consulte o artigo Configure o acesso privado à Google.

Instale e configure o agente através do gestor de pacotes

Esta secção mostra-lhe como instalar o agente para cargas de trabalho de computação na sua instância de computação e configurá-lo para estabelecer ligação a uma instância do MySQL através de um gestor de pacotes.

Para instalar o agente para cargas de trabalho de computação, conclua os seguintes passos:

RHEL

No Red Hat Enterprise Linux (RHEL), instala o agente para cargas de trabalho de computação com o comando de gestão de pacotes yum. Este comando conclui as seguintes tarefas:

  • Transfere a versão mais recente do agente.
  • Cria um serviço systemd para o agente com o nome google-cloud-workload-agent.
  • Ativa e inicia o serviço google-cloud-workload-agent.

Para instalar e configurar o agente para cargas de trabalho de computação numa instância de computação baseada no RHEL, conclua os seguintes passos:

  1. Estabeleça uma ligação SSH com a sua 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 ficheiro 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. Guarde o ficheiro de configuração

  6. Reinicie o agente para que as alterações entrem em vigor.

SLES

No SUSE Linux Enterprise Server (SLES), instala o agente para cargas de trabalho de computação com o comando de gestão de pacotes zypper. Este comando conclui as seguintes tarefas:

  • Transfere a versão mais recente do agente.
  • Cria um serviço systemd para o agente com o nome google-cloud-workload-agent.
  • Ativa e inicia o serviço google-cloud-workload-agent.

Para instalar e configurar o agente para cargas de trabalho de computação numa instância de computação baseada no SLES, conclua os seguintes passos:

  1. Estabeleça uma ligação SSH com a sua 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 ficheiro 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. Guarde o ficheiro de configuração

  6. Reinicie o agente para que as alterações entrem em vigor.

Debian

No Debian, instala o agente para cargas de trabalho de computação através do comando de gestão de pacotes.apt Este comando conclui as seguintes tarefas:

  • Transfere a versão mais recente do agente.
  • Cria um serviço systemd para o agente com o nome google-cloud-workload-agent.
  • Ativa e inicia o serviço google-cloud-workload-agent.

Para instalar e configurar o agente para cargas de trabalho de computação numa instância de computação baseada no Debian, conclua os seguintes passos:

  1. Estabeleça uma ligação SSH com a sua 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 ficheiro 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. Guarde o ficheiro de configuração

  6. Reinicie o agente para que as alterações entrem em vigor.

Windows

No Windows, instala o agente para cargas de trabalho de computação através do comando de gestão de pacotes.googet Este comando conclui as seguintes tarefas:

  • Transfere a versão mais recente do agente.
  • Cria um serviço do Windows com o nome google-cloud-workload-agent.
  • Cria uma tarefa agendada que é executada a cada minuto para verificar se o serviço está em execução e, se necessário, reinicia o serviço.
google-cloud-workload-agent

Para instalar e configurar o agente para cargas de trabalho de computação numa instância de computação baseada no Windows, conclua os seguintes passos:

  1. Estabeleça uma ligação com a sua instância de computação através do RDP.

    Para obter informações sobre como o fazer, consulte o artigo Estabeleça ligação a VMs do Windows através do RDP.

  2. Como administrador, execute os seguintes comandos a partir do 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 ficheiro 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. Guarde o ficheiro de configuração

  6. Reinicie o agente para que as alterações entrem em vigor.

Instale e faça a gestão do agente numa frota de VMs através do Gestor de extensões de VMs

Configure o VM Extension Manager

Para configurar o VM Extension Manager, conclua os seguintes passos:

Instale o agente numa frota de VMs

Para instalar a versão mais recente do agente para cargas de trabalho de computação na sua frota de VMs numa zona específica através de uma política do Gestor de extensões de VMs, conclua os seguintes passos:

Consola

  1. Na Google Cloud consola, aceda à página Políticas de extensão de VMs.

    Aceda às políticas de extensão de VMs

  2. Clique em Criar política de extensões.

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

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

  5. No campo Prioridade, especifique um número de prioridade para resolver conflitos entre políticas. Os números mais baixos indicam uma prioridade mais elevada. O valor predefinido é 1000.

  6. Nas listas Região e Zona, selecione a zona onde quer aplicar esta política.

  7. Na secção Extensões, clique em Adicionar extensão e, de seguida, 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 Version em branco.

      Esta ação direciona a política para instalar a versão mais recente do agente para cargas de trabalho de computação.

    3. No campo Conteúdo do ficheiro de configuração, introduza a configuração que quer aplicar ao agente.

      Para informações sobre os parâmetros de configuração suportados pelo agente para a sua carga de trabalho do MySQL, consulte o artigo Parâmetros de configuração.

    4. Clique em Concluído.

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

    1. Clique em Adicionar etiquetas e inclua as etiquetas 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 o seguinte:

  • 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 onde quer aplicar esta política.

  • CONFIG_FILE_PATH: o caminho local para o ficheiro JSON que contém a configuração do agente para cargas de trabalho de computação para se ligar à sua carga de trabalho do MySQL.

    • Em 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 use o --config-from-file.
    • Pode usar --config-from-file ou --config, mas não ambos no mesmo comando.
    • Para informações sobre os parâmetros de configuração suportados pelo agente para a sua carga de trabalho do MySQL, consulte o artigo 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 as etiquetas através das quais a política segmenta as VMs.

    • Para uma VM ser segmentada pela sua política, tem de ter todas as etiquetas especificadas.
    • Se especificar --inclusion-labels várias vezes, a política segmenta as MV que correspondem a qualquer um dos seletores fornecidos (OR lógico). Se omitir esta flag, a política segmenta todas as MV na zona especificada.
  • PRIORITY: um número inteiro de 0 a 65535 que define a prioridade da política. Os números mais baixos indicam uma prioridade mais elevada. O valor predefinido é 1000.

Exemplo:

O comando seguinte cria uma política denominada test-agent-policy no projeto denominado test-project, que instala a versão mais recente do agente para cargas de trabalho de computação em todas as VMs implementadas na zona us-centrail-f.Google Cloud 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"

Valide a instalação do agente

Para verificar se o agente está a ser executado conforme esperado, conclua os seguintes passos:

RHEL

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

  2. Verifique o estado do pacote do agente:

    systemctl status google-cloud-workload-agent
    

    Se o pacote do agente estiver a ser executado conforme esperado, o resultado contém active (running). Por 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 ligação SSH com a sua instância de computação.

  2. Verifique o estado do pacote do agente:

    systemctl status google-cloud-workload-agent
    

    Se o pacote do agente estiver a ser executado conforme esperado, o resultado contém active (running). Por 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 ligação SSH com a sua instância de computação.

  2. Verifique o estado do pacote do agente:

    systemctl status google-cloud-workload-agent
    

    Se o pacote do agente estiver a ser executado conforme esperado, o resultado contém active (running). Por 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 ligação com a sua instância de computação através do RDP.

    Para obter informações sobre como o fazer, consulte o artigo Estabeleça ligação a VMs do Windows através do RDP.

  2. Como administrador, execute o seguinte comando a partir do PowerShell:

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

    Se o agente estiver a ser executado como esperado, o estado é Running.

Exemplo de ficheiro de configuração

Segue-se um exemplo de configuração que permite que o agente para cargas de trabalho do Compute se ligue a uma instância do MySQL. Para a autenticação, é usado um segredo do Secret Manager, que é armazenado no mesmo projeto Google Cloud onde a instância do MySQL está a ser executada.

{
  "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 seguinte descreve os parâmetros de configuração do agente para cargas de trabalho de computação que suportam avaliações para cargas de trabalho do MySQL:

Parâmetros
log_level

String

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

  • DEBUG
  • INFO
  • WARNING
  • ERROR

O nível de registo predefinido é INFO. Não altere o nível de registo, a menos que receba instruções do apoio técnico ao cliente do Google Cloud.

log_to_cloud

Boolean

Para redirecionar os registos do agente para o Cloud Logging, especifique true. O valor predefinido é true.

agent_properties.log_usage_metrics

Boolean

Para ativar o registo das métricas de saúde do agente, defina o valor como true. O valor predefinido é false.

common_discovery.collection_frequency

Duration

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

Certifique-se de que o valor deste parâmetro termina com um s em minúsculas.

mysql_configuration.enabled

Boolean

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

mysql_configuration.connection_parameters.username

String

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

mysql_configuration.connection_parameters.password

String

Especifique a palavra-passe de texto simples da conta de utilizador que o agente usa para consultar a instância do MySQL.

Em vez de especificar uma palavra-passe de texto simples, recomendamos que use os parâmetros secret.name e secret.project_id.

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

mysql_configuration.connection_parameters.secret.secret_name

String

Opcional. Para fornecer em segurança a palavra-passe da conta de utilizador que o agente usa para consultar a instância do MySQL, especifique o nome do segredo do Secret Manager que contém a palavra-passe.

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

mysql_configuration.connection_parameters.secret.project_id

String

Opcional. Para usar o parâmetro secret.secret_name para autenticar a conta de utilizador especificada, especifique o ID do projeto do projeto Google Cloud onde o segredo do Secret Manager está armazenado.

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

mysql_configuration.connection_parameters.host

String

Especifique o nome do anfitrião do MySQL.

mysql_configuration.connection_parameters.port

Int

Especifique a porta na qual a sua instância do MySQL aceita consultas.

O que se segue?