Configure o Cloud Monitoring com um agente autónomo
O Cloud Monitoring ajuda a obter visibilidade do desempenho, da disponibilidade e do estado das suas aplicações e infraestrutura. Pode usar o Cloud Monitoring e outras partes do Google Cloud Observability para monitorizar, resolver problemas e operar serviços do VMware Engine em grande escala.
Define a configuração do encaminhamento de métricas separadamente para cada nuvem privada através de um agente autónomo. Cada nuvem privada requer um agente separado, alojado numa VM do Compute Engine ou numa VM do VMware.
Depois de ativar com êxito o encaminhamento de métricas, pode ver as métricas no Explorador de métricas do Cloud Monitoring. Os tipos de recursos e as métricas do VMware Engine começam por external.googleapis.com/vmware/vcenter
e o FQDN do vCenter é etiquetado como parte do espaço de nomes.
Antes de começar
Os passos neste documento pressupõem que faz primeiro o seguinte:
- Ative a Cloud Monitoring API
- Identifique uma conta de utilizador da solução para usar com o agente autónomo e defina uma palavra-passe forte para a conta de utilizador da solução.
Crie uma VM do Compute Engine ou uma VM do VMware para usar como anfitrião do agente autónomo. As VMs do Compute Engine têm de estar numa rede da nuvem virtual privada (VPC) que esteja em intercâmbio com a rede da VPC da nuvem privada que contém os recursos que quer monitorizar.
Para ver um exemplo de criação de uma VM do Compute Engine, consulte o Início rápido do Compute Engine com uma VM Linux. Para ver um exemplo de criação de uma VM do VMware, consulte o artigo Criar uma VM do VMware.
Se usar uma VM do Compute Engine para alojar o agente autónomo, a Google gere a rotação de chaves para a conta de serviço que associa. No entanto, pode ser rentável criar uma VM do VMware se tiver capacidade não utilizada na sua nuvem privada e não se importar de gerir a rotação de chaves por si.
Independentemente de onde criar a VM do anfitrião do agente, esta tem de cumprir os seguintes requisitos:
Requisitos
A VM do anfitrião do agente tem de cumprir os seguintes requisitos do sistema:
- Sistemas operativos Linux compatíveis:
- CentOS 6, 7 ou 8
- Red Hat Enterprise Linux 6, 7 ou 8
- SLES 12 ou 15
- Ubuntu 14, 16, 18 ou 19
- Pelo menos, 4 GB de RAM
- 300 MB de espaço de instalação disponível
- O diretório de instalação foi definido como
/opt/bpagent
- Utilitário da CLI
curl
instalado
A VM do anfitrião do agente também precisa de acesso aos seguintes endereços para recolher e enviar métricas e registos:
- Porta 443 (TCP) para a ligação HTTPS ao seu vCenter Server (predefinição)
monitoring.googleapis.com:443 (external access)
logging.googleapis.com:443 (external access)
Ativar o encaminhamento de métricas
O processo de configuração da VM do anfitrião do agente e de ativação do encaminhamento de métricas consiste nos seguintes passos:
- Instale o agente na VM
- Especifique uma conta de serviço
- Configure o agente para aceder à sua nuvem privada para métricas
- Configure o agente para aceder à conta de serviço para fins de relatórios
- Recolha métricas e registos
- Configure uma nuvem privada para o encaminhamento de syslog
Instalar o agente autónomo
Para instalar o agente na VM do anfitrião, faça o seguinte:
- Estabeleça ligação à VM do anfitrião do agente.
Execute o script de instalação remotamente:
sudo sh -c "$(curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh)"
Para sistemas em que a VM do anfitrião do agente pode não ter acesso à rede externa, pode transferir o agente e o script de instalação através dos seguintes comandos:
Para obter o agente autónomo, execute o seguinte:
curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/artifacts/bpagent-headless-vmware.tar.gz > agent.tar.gz
Para obter o script de instalação, execute o seguinte:
curl -S https://storage.googleapis.com/gcve-observability-agent/latest/vmware-linux-amd64/installer/install.sh > install.sh
Para instalar o agente, execute o seguinte na VM do anfitrião do agente:
sudo sh install.sh agent.tar.gz
Especifique uma conta de serviço
O encaminhamento de dados do agente para o Cloud Monitoring requer uma conta de serviço do seu Google Cloud projeto. Essa conta de serviço tem de ter a função de administrador de monitorização para métricas e a função de escritor de registos para registos.
Se não tiver uma conta de serviço para aplicações de monitorização e registo, crie uma:
Na Google Cloud consola, aceda a IAM e administrador > Contas de serviço.
Clique em Selecionar um projeto e, de seguida, selecione a organização, a pasta ou o projeto onde quer criar a conta de serviço.
Clique em Criar conta de serviço.
Introduza um nome, um ID e uma descrição para a conta de serviço. Recomendamos que tenha em atenção que a conta é usada para a integração do agente.
Clique em Criar e continuar.
Para Função, selecione Administrador de monitorização.
Em Função, selecione Escritor de registos.
Clique em Continuar.
Clique em Concluído.
Se criou uma VM VMware como VM anfitriã do agente, obtenha a chave privada da conta de serviço para a poder usar na configuração do agente:
Na Google Cloud consola, aceda a IAM e administrador > Contas de serviço.
Clique em Selecionar um projeto e, de seguida, selecione a organização, a pasta ou o projeto onde a sua conta de serviço está localizada.
Encontre a sua conta de serviço na lista de contas de serviço.
Na coluna Ações, clique no menu de ações da conta de serviço e selecione Gerir chaves.
Clique em Adicionar chave e selecione Criar nova chave.
Selecione o tipo de chave JSON e clique em Criar.
Abra o ficheiro JSON gerado e copie todo o conteúdo do ficheiro. As métricas e a recolha de registos usam o mesmo ficheiro de chave JSON.
Na VM do anfitrião do agente, copie o ficheiro de chave JSON para o diretório
/opt/bpagent/config/destinations/google_cloud
.
Configure o agente para aceder à sua nuvem privada para métricas
O agente autónomo precisa de acesso à sua nuvem privada para recolher métricas. Na VM do anfitrião do agente, configure o acesso copiando e configurando o ficheiro vmware_vcenter.yaml
:
Copie
vmware_vcenter.yaml
para o diretórioconfig/metrics/sources
:cp /opt/bpagent/config/metrics/examples/vmware_vcenter.yaml /opt/bpagent/config/metrics/sources
Edite o
vmware_vcenter.yaml
para corresponder às informações no seu ambiente do VMware Engine:collection_interval: 1m0s connection_info: connection_timeout: "30" enable_performance_counters: "true" host: VCSA_FQDN password: SOLUTION_USER_PASSWORD performance_counter_end_time: "" performance_counter_query_timeout: "15" performance_counter_start_time: "" port: "443" sdk_path: "" ssl_config: "No Verify" username: SOLUTION_USER_ACCOUNT
Substitua o seguinte:
VCSA_FQDN
: o nome do domínio totalmente qualificado (FQDN) do dispositivo do vCenter Server na sua nuvem privadaSOLUTION_USER_PASSWORD
: a palavra-passe que corresponde à conta de utilizador da solução que está a ser usadaSOLUTION_USER_ACCOUNT
: a conta de utilizador da solução que o agente usa para comunicar informações
Configure o agente para aceder à conta de serviço para relatórios
O agente autónomo precisa de acesso ao Google Cloud Observability para enviar métricas e registos. Configure o agente para aceder ao projeto usado para relatórios através da conta de serviço que tem autorizações de monitorização e registo.
Na VM do anfitrião do agente, copie e configure o ficheiro log_agent.yaml
:
Copie
log_agent.example.yaml
paralog_agent.yaml
antes de editar:cp /opt/bpagent/config/log_agent.example.yaml /opt/bpagent/config/log_agent.yaml
Na parte inferior de
log_agent.yaml
, introduza o nome do projeto e o caminho completo para o ficheiro de chave JSON. Para VMs de anfitriões de agentes criadas no Compute Engine, remova ou comente a linhacredentials_file
.... - id: my_project_destination project_id:
PROJECT_ID
type: google_cloud_output credentials_file: /opt/bpagent/config/destinations/google_cloud/JSON_KEY_FILE
Substitua o seguinte:
PROJECT_ID
: ID do projeto onde quer gerar registosJSON_KEY_FILE
: nome do ficheiro de chave privada da conta de serviço. Remova ou comente esta linha para VMs de anfitriões de agentes criadas no Compute Engine.
Se precisar de encaminhar o syslog do ESXi, no agente de registo autónomo, faça o seguinte para alterar a porta predefinida de
5142
para514
:- Navegue para
/opt/bpagent/config
. - Atualize o número da porta para
514
da seguinte forma:
- id: vmware-vcenter-logs # A syslog address of the form `
: ` listen_address: 0.0.0.0:514 # Enable TLS for the TCP listener enable_tls: false
Recolha métricas e registos
Para recolher métricas ou registos, o agente autónomo tem de estar em execução na VM do anfitrião do agente. Ligue-se à VM do anfitrião do agente e use os seguintes comandos para iniciar ou parar o agente:
Para iniciar o agente na VM anfitriã, execute o seguinte:
systemctl start bpagent
Para parar o agente na VM do anfitrião, execute o seguinte:
systemctl stop bpagent
Configure uma nuvem privada para o encaminhamento de syslog
O VMware Engine integra-se com o Cloud Logging encaminhando mensagens syslog do vCenter e do NSX para o agente autónomo. O agente autónomo está configurado para analisar os registos do vCenter e do NSX para o Cloud Logging ler.
Para encaminhar mensagens syslog do VMware Engine, faça o seguinte:
- Para o encaminhamento de syslog do vCenter, siga os passos em Encaminhe mensagens de syslog do vCenter.
No campo Servidor, introduza o endereço IP ou o nome do anfitrião da VM do agente. O agente autónomo usa o protocolo de comunicação TCP e ouve
na porta
5142
. O agente autónomo tem de estar em execução para que a configuração do syslog seja estabelecida com êxito. - Para o encaminhamento de syslog do NSX, siga os passos em Encaminhe mensagens de syslog do NSX.
No campo FQDN ou endereço IP, introduza o endereço IP ou o nome do anfitrião da VM do anfitrião do agente. O agente autónomo usa o protocolo de comunicação TCP e ouve na porta
5142
.
Se planeia encaminhar o syslog a partir de anfitriões ESXi, altere a porta predefinida na qual o agente de registo escuta de 5142
para 514
. Nesse caso, use a mesma porta (514
) para encaminhar o syslog do vCenter e do NSX.
Desinstalar o agente
Para remover o agente de uma VM, ligue-se à VM do agente e execute os seguintes comandos na linha de comandos:
Parar e desativar o agente autónomo:
systemctl stop bpagent
systemctl disable bpagent
Execute os seguintes comandos para remover o serviço de agente autónomo:
rm /etc/systemd/system/bpagent.service
rm -rf /opt/bpagent
Atualize a configuração do sistema com base nas alterações ao serviço e elimine todas as unidades com falhas:
systemctl daemon-reload
systemctl reset-failed
Painéis de controlo do Cloud Monitoring
Depois de ativar o encaminhamento de métricas, pode instalar painéis de controlo predefinidos para o VMware Engine. Os seguintes painéis de controlo fornecem informações agregadas em todas as fontes que especificar:
- Painel de controlo Vista geral: vista de alto nível que apresenta os principais recursos, como centros de dados, clusters e VMs.
- Painel de controlo de contenção: utilização de recursos para armazenamento, CPU, memória e rede para ajudar a localizar as principais VMs e anfitriões por procura de recursos.
- Painel de controlo do desempenho da máquina virtual: indicadores de desempenho da instância da máquina virtual (VM) que podem ser filtrados por nome da instância e usados para comparar o desempenho de várias VMs entre si.
Para aceder a um painel de controlo do VMware Engine, faça o seguinte:
Na Google Cloud consola, aceda a Monitorização > Painéis de controlo.
No separador Biblioteca de amostras, selecione a categoria VMware.
Selecione o painel de controlo de interesse e clique em file_downloadImportar.
As definições destes painéis de controlo também estão armazenadas no GitHub. Para ver os passos de instalação ou visualização das definições como painéis de controlo personalizados, consulte o artigo Instale painéis de controlo de exemplo.
Alertas do Cloud Monitoring
Pode usar métricas da sua integração para acionar alertas e notificações com base em limites personalizados e incidentes. Por exemplo, pode fazer com que o Cloud Monitoring lhe envie uma notificação por SMS quando alguém cria uma nova VM na sua nuvem privada.
Para mais detalhes, consulte o artigo Introdução aos alertas.
Lista de métricas recolhidas
Depois de ativar com êxito o encaminhamento de métricas, pode ver as métricas no Explorador de métricas do Cloud Monitoring. Os tipos de recursos e os tipos de métricas do
VMware Engine começam com o prefixo
external.googleapis.com/vmware/vcenter.
no explorador de métricas.
Segue-se a lista completa de métricas recolhidas para o VMware Engine, com o prefixo omitido:
Tipo de recurso e métrica | Descrição |
---|---|
cluster.cpu.available |
CPU disponível num cluster, em megahertz |
cluster.memory.available |
Memória disponível num cluster, em bytes |
cluster.cpu.threads |
Número de threads de CPU num cluster |
cluster.cpu.effective |
CPU eficaz num cluster de todos os anfitriões em execução. Os anfitriões que não respondem ou estão em modo de manutenção não são contabilizados. |
cluster.effective_hosts |
Número de anfitriões eficazes num cluster. Os anfitriões que não respondem ou estão em modo de manutenção não são contabilizados. |
cluster.memory.effective |
Memória eficaz num cluster de todos os anfitriões em execução. Os anfitriões que não respondem ou estão em modo de manutenção não são contabilizados. |
cluster.hosts |
Número de anfitriões num cluster |
cluster.vsan.latency |
Latência do vSAN de um cluster, em microssegundos |
cluster.vsan.throughput |
Débito de leitura/escrita do vSAN de um cluster, em bytes |
cluster.vsan.iops |
IOPS de vSAN de um cluster |
cluster.vsan.congestions |
Valor de congestionamento do vSAN de um cluster |
cluster.vsan.oio |
vSAN outstanding I/O (oio) num cluster |
datacenter.cpu.average_host_utilization |
Utilização média do anfitrião de um centro de dados, em percentagem |
datacenter.clusters |
Número de clusters num centro de dados |
datacenter.datastores |
Número de armazenamentos de dados num centro de dados |
datacenter.hosts |
Número de anfitriões num centro de dados |
datacenter.host_systems |
Número de sistemas anfitriões num centro de dados |
datacenter.hosts/powered_on |
Número de anfitriões ligados num centro de dados |
datacenter.hosts/powered_off |
Número de anfitriões desligados num centro de dados |
datacenter.disk/space |
Espaço em disco total num centro de dados, em terabytes |
datastore.capacity_bytes |
Capacidade de um arquivo de dados, em bytes |
datastore.capacity_utilization |
Utilização da capacidade de um arquivo de dados, em percentagem |
host_system.network.transmitted_packets |
Número de pacotes de rede transmitidos pelo sistema anfitrião |
host_system.network.received_packets |
Número de pacotes de rede recebidos pelo sistema anfitrião |
host_system.dropped_packets |
Número de pacotes de rede rejeitados pelo sistema anfitrião |
host_system.network.adapters |
Número de adaptadores de rede do sistema anfitrião |
host_system.memory.utilization |
Utilização da memória do sistema anfitrião, em percentagem |
host_system.memory.utilization_ratio |
Rácio de utilização da memória do sistema anfitrião |
host_system.memory.used |
Memória usada pelo sistema anfitrião, em megabytes |
host_system.disk.read |
Leitura do disco do sistema anfitrião, em kilobytes por segundo |
host_system.disk_latency |
Latência do disco do sistema anfitrião, em milissegundos |
host_system.cpu.usage |
Utilização da CPU do sistema anfitrião, como percentagem |
host_system.cpu.utilization_ratio |
Rácio de utilização da CPU do sistema anfitrião |
host_system.cpu.capacity |
Capacidade da CPU do sistema anfitrião, em megahertz |
host_system.cpu.reserved_capacity |
Capacidade da CPU reservada do sistema anfitrião, em megahertz |
host_system.cpu.average_speed |
Velocidade média da CPU do sistema anfitrião, em megahertz |
host_system.cpu.used |
CPU usada pelo sistema anfitrião, em megahertz |
host_system.vsan.throughput |
Débito de leitura/escrita do vSAN do sistema anfitrião, em bytes |
host_system.vsan.iops |
IOPS do vSAN do sistema anfitrião |
host_system.vsan.latency |
Latência do vSAN do sistema anfitrião, em microssegundos |
host_system.vsan.client_cache_hits |
Acertos da cache do cliente do vSAN do sistema anfitrião |
host_system.vsan.client_cache_hit_rate |
Taxa de resultados da cache do cliente do vSAN do sistema anfitrião, em percentagem |
host_system.vsan.congestions |
Valor de congestionamento do vSAN do sistema anfitrião |
resource_pool.memory.swapped_bytes |
Memória trocada do vCenter, em megabytes |
resource_pool.memory.shared_bytes |
Memória partilhada do vCenter, em megabytes |
resource_pool.memory.private_bytes |
Memória privada do vCenter, em megabytes |
resource_pool.memory.shares |
Número de ações de memória do vCenter |
resource_pool.memory.overhead_usage_bytes |
Utilização da sobrecarga de memória do vCenter, em megabytes |
resource_pool.memory.host_usage_bytes |
Utilização de memória do anfitrião do vCenter, em megabytes |
resource_pool.memory.active_guest_usage_bytes |
Utilização ativa de memória de convidados do vCenter, em megabytes |
resource_pool.memory.balloon_size |
Tamanho da memória de balão do vCenter, em megabytes |
resource_pool.cpu.usage |
CPU usada pelo vCenter, em megahertz |
resource_pool.cpu.shares |
Número de partilhas de CPU no conjunto de recursos, em megabytes |
vm.memory.ballooned |
Tamanho da memória de balão da VM, em megabytes |
vm.network.throughput_bytes |
Débito da rede da VM, em kilobytes por segundo |
vm.memory.used_percent |
Memória usada pela VM, como percentagem da memória disponível |
vm.memory.usage_bytes |
Memória utilizada pela VM, em megabytes |
vm.disk.throughput_bytes |
Débito de leitura/escrita no disco da VM, em kilobytes por segundo |
vm.disk.used_percent |
Utilização do disco da VM, como percentagem do armazenamento disponível |
vm.disk.usage_bytes |
Utilização do disco da VM, em bytes |
vm.disk.free_bytes |
Espaço em disco disponível da VM, em bytes |
vm.cpu.used_percent |
Utilização da CPU da VM, como percentagem da CPU disponível |
vm.cpu.usage |
Utilização da CPU da VM, em megahertz |
vm.cpu.ready_percent |
CPU da VM que está pronta, mas não consegue ser executada, em percentagem |
vm.vsan.throughput |
Débito de leitura/escrita do vSAN da VM, em bytes |
vm.vsan.iops |
IOPS do vSAN da VM |
vm.vsan.latency |
Latência do vSAN da VM, em microssegundos |
vm.vsan.readCount |
Contagem de leituras do vSAN da VM |
vm.vsan.writeCount |
Contagem de gravações do vSAN da VM |
vsphere.cpu.available |
CPU disponível em clusters geridos pelo vSphere, em gigahertz |
vsphere.memory.available |
Memória disponível nos clusters geridos pelo vSphere, em gigabytes |
vsphere.clusters.total |
Número de clusters geridos pelo vSphere |
vsphere.clusters |
Quantidade de clusters geridos pelo vSphere com o código de cor do estado do cluster (como verde, cinzento, vermelho ou amarelo) |
vsphere.cpu.cpus |
Número total de núcleos da CPU do sistema anfitrião geridos pelo vSphere |
vsphere.datacenters |
Número de centros de dados geridos pelo vSphere |
vsphere.datastores.total |
Número de arquivos de dados no vSphere |
vsphere.datastores |
Contagem de armazenamentos de dados geridos pelo vSphere com o código de cor do estado do armazenamento de dados (como verde, cinzento, vermelho ou amarelo) |
vsphere.disk.space |
Espaço em disco total associado no vSphere, em terabytes |
vsphere.host_systems |
Número de sistemas anfitriões no vSphere |
vsphere.hosts |
Quantidade de sistemas anfitriões geridos pelo vSphere com o código de cor do estado do sistema anfitrião (como verde, cinzento, vermelho ou amarelo) |
vsphere.network.adapters |
Número de adaptadores de rede no vSphere |
vsphere.hosts.powered_off |
Número de anfitriões desligados no vSphere |
vsphere.hosts.powered_on |
Número de anfitriões ligados no vSphere |
vsphere.virtual_machines.total |
Número de VMs em todos os clusters do vSphere |
vsphere.virtual_machines |
Contagem de VMs geridas pelo vSphere com o código de cores do estado da VM (como verde, cinzento, vermelho ou amarelo) |