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:

  1. Ative a Cloud Monitoring API
  2. 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.
  3. 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:

  1. Instale o agente na VM
  2. Especifique uma conta de serviço
  3. Configure o agente para aceder à sua nuvem privada para métricas
  4. Configure o agente para aceder à conta de serviço para fins de relatórios
  5. Recolha métricas e registos
  6. 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:

  1. Estabeleça ligação à VM do anfitrião do agente.
  2. 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:

  1. Na Google Cloud consola, aceda a IAM e administrador > Contas de serviço.

    Aceda a Contas de serviço

  2. 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.

  3. Clique em Criar conta de serviço.

  4. 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.

  5. Clique em Criar e continuar.

  6. Para Função, selecione Administrador de monitorização.

  7. Em Função, selecione Escritor de registos.

  8. Clique em Continuar.

  9. 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:

  1. Na Google Cloud consola, aceda a IAM e administrador > Contas de serviço.

    Aceda a Contas de serviço

  2. 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.

  3. Encontre a sua conta de serviço na lista de contas de serviço.

  4. Na coluna Ações, clique no menu de ações da conta de serviço e selecione Gerir chaves.

  5. Clique em Adicionar chave e selecione Criar nova chave.

  6. Selecione o tipo de chave JSON e clique em Criar.

  7. 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.

  8. 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:

  1. Copie vmware_vcenter.yaml para o diretório config/metrics/sources:

    cp /opt/bpagent/config/metrics/examples/vmware_vcenter.yaml /opt/bpagent/config/metrics/sources
    
  2. 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 privada
    • SOLUTION_USER_PASSWORD: a palavra-passe que corresponde à conta de utilizador da solução que está a ser usada
    • SOLUTION_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:

  1. Copie log_agent.example.yaml para log_agent.yaml antes de editar:

    cp /opt/bpagent/config/log_agent.example.yaml /opt/bpagent/config/log_agent.yaml
    
  2. 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 linha credentials_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 registos
    • JSON_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 para 514:

    1. Navegue para /opt/bpagent/config.
    2. 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:

  1. Parar e desativar o agente autónomo:

    systemctl stop bpagent
    
    systemctl disable bpagent
    
  2. Execute os seguintes comandos para remover o serviço de agente autónomo:

    rm /etc/systemd/system/bpagent.service
    
    rm -rf /opt/bpagent
    
  3. 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:

  1. Na Google Cloud consola, aceda a Monitorização > Painéis de controlo.

    Aceder a Painéis de controlo

  2. No separador Biblioteca de amostras, selecione a categoria VMware.

  3. Selecione o painel de controlo de interesse e clique em Importar.

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)