Este documento mostra como instalar o agente para cargas de trabalho de computação em instâncias do Compute Engine e configurar o agente para estabelecer ligação a uma carga de trabalho do Redis 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 Redis 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 Redis 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:
- Implementou uma carga de trabalho do Redis numa ou mais instâncias de computação.
- Concedeu as funções de IAM necessárias para o agente.
- Ativou o acesso às APIs Cloud.
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:
-
Compute Viewer (
roles/compute.viewer): para recolher métricas da instância de computação. -
Workload Manager Insights Writer (
roles/workloadmanager.insightWriter): para escrever dados no data warehouse do Workload Manager. -
(Recomendado) Escritor de registos (
roles/logging.logWriter): para enviar registos do agente para o Cloud Logging. -
(Opcional) Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor): se estiver a usar o Secret Manager para armazenar a palavra-passe para se ligar à instância do Redis.
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 Redis 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 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 Redis 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
systemdpara o agente com o nomegoogle-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:
Estabeleça uma ligação SSH com a sua instância de computação.
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-agentAbra o ficheiro de configuração do agente:
/etc/google-cloud-workload-agent/configuration.jsonEspecifique valores para todos os parâmetros obrigatórios, conforme descrito em Parâmetros de configuração.
Guarde o ficheiro de configuração
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
systemdpara o agente com o nomegoogle-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:
Estabeleça uma ligação SSH com a sua instância de computação.
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-agentAbra o ficheiro de configuração do agente:
/etc/google-cloud-workload-agent/configuration.jsonEspecifique valores para todos os parâmetros obrigatórios, conforme descrito em Parâmetros de configuração.
Guarde o ficheiro de configuração
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
systemdpara o agente com o nomegoogle-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:
Estabeleça uma ligação SSH com a sua instância de computação.
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-agentAbra o ficheiro de configuração do agente:
/etc/google-cloud-workload-agent/configuration.jsonEspecifique valores para todos os parâmetros obrigatórios, conforme descrito em Parâmetros de configuração.
Guarde o ficheiro de configuração
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:
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.
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-agentAbra o ficheiro de configuração do agente:
%ProgramFiles%\Google\google-cloud-workload-agent\conf\configuration.jsonEspecifique valores para todos os parâmetros obrigatórios, conforme descrito em Parâmetros de configuração.
Guarde o ficheiro de configuração
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:
- Na documentação do Gestor de extensões de VMs, reveja a secção Antes de começar.
Configure as funções do IAM necessárias para criar e gerir políticas do VM Extension Manager. Para mais informações, consulte o seguinte:
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
Na Google Cloud consola, aceda à página Políticas de extensão de VMs.
Clique em Criar política de extensões.
No campo Nome, introduza um nome para a política.
Opcional: no campo Descrição, introduza uma descrição para a política.
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.Nas listas Região e Zona, selecione a zona onde quer aplicar esta política.
Na secção Extensões, clique em Adicionar extensão e, de seguida, faça o seguinte:
- Na lista Extensão, selecione Extensão do Google Cloud para cargas de trabalho de computação.
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.
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 Redis, consulte os Parâmetros de configuração.
Clique em Concluído.
Opcional: para limitar a implementação da política às VMs necessárias, faça o seguinte:
- Clique em Adicionar etiquetas e inclua as etiquetas que identificam as VMs necessárias.
- Clique em Concluído.
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 Redis.- Em alternativa, para fornecer a configuração como uma string inline, use a flag
--configem 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-fileou--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 Redis, consulte os Parâmetros de configuração.
- Em alternativa, para fornecer a configuração como uma string inline, use a flag
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-labelsvárias vezes, a política segmenta as MV que correspondem a qualquer um dos seletores fornecidos (ORlógico). Se omitir esta flag, a política segmenta todas as MV na zona especificada.
PRIORITY: um número inteiro de0a65535que 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
Estabeleça uma ligação SSH com a sua instância de computação.
Verifique o estado do pacote do agente:
systemctl status google-cloud-workload-agentSe 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
Estabeleça uma ligação SSH com a sua instância de computação.
Verifique o estado do pacote do agente:
systemctl status google-cloud-workload-agentSe 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
Estabeleça uma ligação SSH com a sua instância de computação.
Verifique o estado do pacote do agente:
systemctl status google-cloud-workload-agentSe 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
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.
Como administrador, execute o seguinte comando a partir do PowerShell:
$(Get-Service -Name 'google-cloud-workload-agent' -ErrorAction Ignore).StatusSe 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 de computação se ligue a uma instância do Redis. Para a autenticação, é usado um segredo do Secret Manager, que é armazenado no mesmo projeto Google Cloud onde a instância do Redis está a ser executada.
{
"log_level": "INFO",
"common_discovery": {
"collection_frequency": "10800s"
},
"redis_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 Redis:
| Parâmetros | |
|---|---|
log_level |
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:
O nível de registo predefinido é |
log_to_cloud |
Para redirecionar os registos do agente para o
Cloud Logging, especifique
|
agent_properties.log_usage_metrics |
Para ativar o registo das métricas de saúde do agente, defina o valor como
|
common_discovery.collection_frequency |
Especifique a frequência, em segundos, com que o serviço de deteção da carga de trabalho do agente é executado. O valor predefinido é Certifique-se de que o valor deste parâmetro termina com um |
redis_configuration.enabled
|
Para permitir que o agente recolha métricas da instância do Redis, defina o valor como |
redis_configuration.connection_parameters.username |
Especifique a conta de utilizador que o agente usa para consultar a instância do Redis. |
redis_configuration.connection_parameters.password |
Especifique a palavra-passe de texto simples da conta de utilizador que o agente usa para consultar a instância do Redis. Em vez de especificar uma palavra-passe de texto simples, recomendamos que use os parâmetros Para a autenticação, o agente usa a seguinte ordem de preferência: se
especificado, o |
redis_configuration.connection_parameters.secret.secret_name |
Opcional. Para fornecer em segurança a palavra-passe da conta de utilizador que o agente usa para consultar a instância do Redis, 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 |
redis_configuration.connection_parameters.secret.project_id |
Opcional. Para usar o parâmetro Se o segredo e a carga de trabalho estiverem no mesmo Google Cloud projeto,
defina o valor deste parâmetro como uma string vazia ( |
redis_configuration.connection_parameters.host |
Especifique o nome do anfitrião do Redis. |
redis_configuration.connection_parameters.port |
Especifique a porta na qual a sua instância do Redis aceita consultas. |
O que se segue?
- Crie e execute uma avaliação
- Saiba mais sobre as práticas recomendadas do Workload Manager para o Redis