Configurar o Cloud Monitoring com um agente independente
O Cloud Monitoring ajuda você a ganhar visibilidade do desempenho, da disponibilidade e da integridade de seus aplicativos e infraestrutura. É possível usar o Cloud Monitoring e outras partes da Observabilidade do Google Cloud para monitorar, solucionar problemas e operar serviços do VMware Engine em grande escala.
Você define a configuração de encaminhamento de métricas separadamente para cada nuvem privada usando um agente independente. Cada nuvem privada requer um agente separado, hospedado em uma VM do Compute Engine ou em uma VM do VMware.
Depois de ativar o encaminhamento de métricas, você poderá vê-las no
explorador de métricas do Metrics Explorer no Cloud Monitoring. Os tipos de recursos e métricas do
VMware começam com external.googleapis.com/vmware/vcenter
,
e o FQDN do vCenter é marcado como parte do namespace.
Antes de começar
Nas etapas deste documento, presumimos que você fará o seguinte:
- Ative a API Cloud Monitoring.
- Identifique uma conta de usuário da solução para usar com o agente autônomo e defina uma senha forte para a conta de usuário da solução.
Crie uma VM do Compute Engine ou uma VM da VMware para usar como host do agente autônomo. As VMs do Compute Engine precisam estar em uma rede de nuvem privada virtual (VPC) que faz peering com a rede VPC de nuvem privada que contém os recursos que você quer monitorar.
Para ver um exemplo de como criar uma VM do Compute Engine, consulte o Guia de início rápido do Compute Engine usando uma VM do Linux. Veja um exemplo de como criar uma VM da VMware em Como criar uma VM da VMware.
Se você usa uma VM do Compute Engine para hospedar o agente independente, o Google gerencia a rotação de chaves da conta de serviço que você conecta. No entanto, pode ser mais econômico criar uma VM da VMware se você tiver capacidade não utilizada na nuvem privada e não se importar de gerenciar a rotação de chaves sozinho.
Independentemente de onde você cria a VM do host do agente, ela precisa atender aos seguintes requisitos:
Requisitos
A VM do host do agente precisa atender aos seguintes requisitos do sistema:
- Sistema operacionais 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
- Espaço de instalação de 300 MB disponível
- Diretório de instalação definido como
/opt/bpagent
- Utilitário de CLI
curl
instalado
A VM do host do agente também precisa acessar os seguintes endereços para coletar e enviar métricas e registros:
- Porta 443 (TCP) para a conexão HTTPS com o servidor vCenter (padrão)
monitoring.googleapis.com:443 (external access)
logging.googleapis.com:443 (external access)
Como ativar o encaminhamento de métricas
O processo de configuração da VM do host do agente e ativação do encaminhamento de métricas consiste nas seguintes etapas:
- Instalar o agente na VM
- Especificar uma conta de serviço
- Configurar o agente para acessar sua nuvem privada para métricas
- Configure o agente para acessar a conta de serviço para gerar relatórios
- Coletar métricas e registros
- Configure uma nuvem privada para o encaminhamento syslog
Como instalar o agente independente
Para instalar o agente na VM do host, faça o seguinte:
- Conecte-se à VM do host 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 host do agente talvez não tenha acesso de rede externa, faça o download do agente e do script de instalação usando os seguintes comandos:
Para conseguir o agente independente, 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 receber 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 host do agente:
sudo sh install.sh agent.tar.gz
Especificar uma conta de serviço
Para encaminhar dados do agente para o Cloud Monitoring, é necessário ter uma conta de serviço do seu projeto do Google Cloud. Essa conta de serviço precisa ter o papel Administrador do Monitoring para métricas e o papel Gravador de registros para registros.
Se você não tiver uma conta de serviço para monitorar e registrar aplicativos, crie uma:
No console do Google Cloud, acesse IAM e Administrador > Contas de serviço.
Clique em Criar conta de serviço.
Insira um nome, um ID e uma descrição para a conta do serviço. Recomendamos que você anote a conta usada na integração do BindPlane.
Clique em Criar e continuar.
Em Papel, selecione Administrador do Monitoring.
Em Papel, selecione Gravador de registros.
Clique em Continuar.
Clique em Concluído.
Se você criou uma VM da VMware como a VM do host do agente, recupere a chave privada da conta de serviço para que possa usá-la para configurar o agente:
No console do Google Cloud, acesse IAM e administrador > Contas de serviço.
Encontre sua conta de serviço na lista.
Na coluna Ações, clique no menu de ações da conta de serviço
e selecione Gerenciar chaves.Clique em Adicionar chave e selecione Criar nova chave.
Selecione o tipo de chave JSON e clique em Criar.
Abra o arquivo JSON gerado e copie todo o conteúdo dele. As métricas e a coleta de registros usam o mesmo arquivo de chave JSON.
Na VM do host do agente, copie o arquivo de chave JSON para o diretório
/opt/bpagent/config/destinations/google_cloud
.
Configurar o agente para acessar sua nuvem privada para métricas
O agente independente precisa acessar sua nuvem privada para coletar métricas. Na
VM do agente, configure o acesso copiando e configurando o
arquivo 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:
VCSA_FQDN
: o nome de domínio totalmente qualificado (FQDN, na sigla em inglês) do vCenter Server Appliance na nuvem privadaSOLUTION_USER_PASSWORD
: a senha que corresponde à conta de usuário da solução que está sendo usadaSOLUTION_USER_ACCOUNT
: a conta de usuário da solução que o agente usa para relatar informações
Configurar o agente para acessar a conta de serviço para gerar relatórios
O agente autônomo precisa de acesso à observabilidade do Google Cloud para enviar métricas e registros. Configure o agente para acessar o projeto usado para a geração de relatórios usando conta de serviço que tem permissões de monitoramento e geração de registros.
Na VM do host do agente, copie e configure o arquivo 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
, insira o nome do projeto e o caminho completo para o arquivo de chave JSON. Para VMs de host de agente criadas no Compute Engine, é possível remover ou comentar 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:
PROJECT_ID
: ID do projeto em que você quer gerar registros.JSON_KEY_FILE
: nome do arquivo de chave privada da conta de serviço. Remova ou comente essa linha para as VMs do host do agente criadas no Compute Engine.
Se você precisar encaminhar o syslog do ESXi, no agente de registro independente, faça o seguinte para alterar a porta padrão de
5142
para514
:- Navegue até
/opt/bpagent/config
. - Atualize o número da porta para
514
da seguinte maneira:
- 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
Coletar métricas e registros
Para coletar métricas ou registros, o agente autônomo precisa estar em execução na VM do host do agente. Conecte-se à VM do host do agente e use os seguintes comandos para iniciar ou interromper o agente:
Para iniciar o agente na VM do host, execute o seguinte:
systemctl start bpagent
Para interromper o agente na VM do host, execute o seguinte:
systemctl stop bpagent
Configurar uma nuvem privada para o encaminhamento de syslog
O VMware Engine integra-se ao Cloud Logging encaminhando mensagens syslog do vCenter e NSX-T para o agente independente. O agente independente é configurado para analisar os registros do vCenter e do NSX-T para leitura do Cloud Logging.
Para encaminhar mensagens syslog do VMware Engine, faça o seguinte:
- Para o encaminhamento syslog do vCenter, siga as etapas em Encaminhar mensagens syslog do vCenter.
No campo Servidor, insira o endereço IP ou o nome do host da VM do host
do agente. O agente autônomo usa o protocolo de comunicação TCP e detecta na
porta
5142
. O agente independente precisa estar em execução para que a configuração do syslog se conecte com êxito. - Para o encaminhamento de syslog NSX-T, siga as etapas em Encaminhar mensagens syslog NSX-T.
No campo FQDN ou endereço IP, insira o endereço IP ou o nome do host da
VM do host do agente. O agente autônomo usa o protocolo de comunicação TCP
e detecta na porta
5142
.
Para encaminhar o syslog dos ESXi Hosts, altere a porta padrão em que
o agente de registro detecta de 5142
a 514
. Nesse caso, use a mesma porta
(514
) para encaminhar o syslog do vCenter e do NSX-T.
Como desinstalar o agente
Para remover o agente de uma VM, conecte-se à VM do agente e execute os seguintes comandos na linha de comando:
Interrompa e desative o agente independente:
systemctl stop bpagent
systemctl disable bpagent
Execute os seguintes comandos para remover o serviço do agente independente:
rm /etc/systemd/system/bpagent.service
rm -rf /opt/bpagent
Atualize a configuração do sistema com base nas alterações do serviço e limpe as unidades com falha:
systemctl daemon-reload
systemctl reset-failed
Painéis do Cloud Monitoring
Depois de ativar o encaminhamento de métricas, instale painéis predefinidos para o VMware Engine. Os painéis a seguir fornecem informações agregadas em todas as fontes que você especificar:
- Painel de visão geral: visualização de alto nível que lista os principais recursos, como data centers, clusters e VMs.
- Painel de contenção: utilização de recursos para armazenamento, CPU, memória e rede para ajudar você a localizar as principais VMs e hosts por demanda de recursos.
- Painel de desempenho de máquina virtual: indicadores de desempenho de instância de máquina virtual (VM) que podem ser filtrados por nome de instância e usados para comparar o desempenho de várias VMs entre si.
Para acessar um painel do VMware Engine, faça o seguinte:
No console do Google Cloud, acesse Monitoring > Painéis.
Na guia Biblioteca de amostra, selecione a categoria VMware.
Selecione o painel de interesse e clique em file_downloadImportar.
As definições desses painéis estão armazenadas no GitHub. Para ver as etapas de instalação ou visualização das definições como painéis personalizados, consulte Instalar painéis de amostra.
Alertas do Cloud Monitoring
Use as métricas da integração para acionar alertas e notificações com base em limites personalizados e incidentes. Por exemplo, é possível fazer com que o Cloud Monitoring envie uma notificação por SMS quando alguém criar uma nova VM na nuvem privada.
Para saber mais detalhes, consulte Introdução aos alertas.
Lista de métricas coletadas
Depois de ativar o encaminhamento de métricas, você poderá vê-las no
explorador de métricas do Metrics Explorer no Cloud Monitoring. Os tipos de recursos e métricas do
VMware Engine começam com o prefixo
external.googleapis.com/vmware/vcenter.
no Metrics Explorer.
Esta é a lista completa de métricas coletadas para o VMware Engine, com o prefixo omitido:
Tipo de recurso e métrica | Descrição |
---|---|
cluster.cpu.available |
CPU disponível em um cluster, em megahertz |
cluster.memory.available |
Memória disponível em clusters em bytes |
cluster.cpu.threads |
Número de threads de CPU em um cluster |
cluster.cpu.effective |
CPU efetiva em um cluster de todos os hosts em execução. Os hosts que não respondem ou no modo de manutenção não são contados. |
cluster.effective_hosts |
Número de hosts efetivos em um cluster. Os hosts que não respondem ou no modo de manutenção não são contados. |
cluster.memory.effective |
Memória efetiva em um cluster de todos os hosts em execução. Os hosts que não respondem ou no modo de manutenção não são contados. |
cluster.hosts |
Número de hosts em um cluster |
cluster.vsan.latency |
Latência vSAN de um cluster, em microssegundos |
cluster.vsan.throughput |
Capacidade de leitura e gravação da vSAN de um cluster, em bytes |
cluster.vsan.iops |
IOPS vSAN de um cluster |
cluster.vsan.congestions |
Valor de congestionamento vSAN de um cluster |
cluster.vsan.oio |
E/S pendente do vSAN (oio) em um cluster |
datacenter.cpu.average_host_utilization |
Utilização média de host de um data center, como porcentagem |
datacenter.clusters |
Número de clusters em um data center |
datacenter.datastores |
Número de armazenamentos de dados em um data center |
datacenter.hosts |
Número de hosts em um data center |
datacenter.host_systems |
Número de sistemas host em um data center |
datacenter.hosts/powered_on |
Número de hosts ativados em um data center |
datacenter.hosts/powered_off |
Número de hosts desligados em um data center |
datacenter.disk/space |
Espaço total em disco em um data center, em terabytes |
datastore.capacity_bytes |
Capacidade de um armazenamento de dados, em bytes |
datastore.capacity_utilization |
Utilização da capacidade de um armazenamento de dados, como porcentagem |
host_system.network.transmitted_packets |
Número de pacotes de rede transmitidos pelo sistema host |
host_system.network.received_packets |
Número de pacotes de rede recebidos pelo sistema host |
host_system.dropped_packets |
Número de pacotes de rede descartados pelo sistema host |
host_system.network.adapters |
Número de adaptadores de rede do sistema host |
host_system.memory.utilization |
Utilização de memória do sistema host, como uma porcentagem |
host_system.memory.utilization_ratio |
Proporção de utilização de memória do sistema host |
host_system.memory.used |
Memória usada pelo sistema host, em megabytes |
host_system.disk.read |
Leitura de disco do sistema host, em kilobytes por segundo |
host_system.disk_latency |
Latência do disco do sistema host em milissegundos |
host_system.cpu.usage |
Uso de CPU do sistema host, como uma porcentagem |
host_system.cpu.utilization_ratio |
Proporção de utilização da CPU do sistema host |
host_system.cpu.capacity |
Capacidade de CPU do sistema host, em megahertz |
host_system.cpu.reserved_capacity |
Capacidade reservada da CPU do sistema host, em megahertz |
host_system.cpu.average_speed |
Velocidade média da CPU do sistema host, em megahertz |
host_system.cpu.used |
CPU usada pelo sistema host, em megahertz |
host_system.vsan.throughput |
Capacidade de leitura/gravação da vSAN do sistema host, em bytes |
host_system.vsan.iops |
IOPS vSAN do sistema host |
host_system.vsan.latency |
Latência da vSAN do sistema host, em microssegundos |
host_system.vsan.client_cache_hits |
Ocorrências em cache do cliente da vSAN do sistema host |
host_system.vsan.client_cache_hit_rate |
Taxa de ocorrência em cache do cliente da vSAN do sistema host, como uma porcentagem |
host_system.vsan.congestions |
Valor de congestionamento da vSAN do sistema host |
resource_pool.memory.swapped_bytes |
Memória trocada pelo vCenter, em megabytes |
resource_pool.memory.shared_bytes |
Memória compartilhada do vCenter, em megabytes |
resource_pool.memory.private_bytes |
Memória privada do vCenter, em megabytes |
resource_pool.memory.shares |
Número de compartilhamentos de memória do vCenter |
resource_pool.memory.overhead_usage_bytes |
Uso de sobrecarga de memória do vCenter, em megabytes |
resource_pool.memory.host_usage_bytes |
Uso do host de memória do vCenter, em megabytes |
resource_pool.memory.active_guest_usage_bytes |
Uso de convidado ativo da memória do vCenter, em megabytes |
resource_pool.memory.balloon_size |
Tamanho da memória do balão do vCenter, em megabytes |
resource_pool.cpu.usage |
CPU usada pelo vCenter, em megahertz |
resource_pool.cpu.shares |
Número de compartilhamentos da CPU no pool de recursos em megabytes |
vm.memory.ballooned |
Tamanho da memória do balão da VM, em megabytes |
vm.network.throughput_bytes |
Capacidade de rede da VM, em kilobytes por segundo |
vm.memory.used_percent |
Memória usada pela VM, como porcentagem da memória disponível |
vm.memory.usage_bytes |
Memória usada pela VM, em megabytes |
vm.disk.throughput_bytes |
Capacidade de leitura e gravação do disco da VM, em kilobytes por segundo |
vm.disk.used_percent |
Uso de disco da VM, como uma porcentagem do armazenamento disponível |
vm.disk.usage_bytes |
Uso do disco da VM, em bytes |
vm.disk.free_bytes |
Espaço em disco disponível da VM, em bytes |
vm.cpu.used_percent |
Uso da CPU da VM como uma porcentagem da CPU disponível |
vm.cpu.usage |
Uso de CPU da VM, em megahertz |
vm.cpu.ready_percent |
CPU da VM que está pronta, mas não pode ser executada, como uma porcentagem |
vm.vsan.throughput |
Capacidade de leitura/gravação da vSAN da VM, em bytes |
vm.vsan.iops |
IOPS da vSAN da VM |
vm.vsan.latency |
Latência da vSAN da VM, em microssegundos |
vm.vsan.readCount |
Contagem de leitura da vSAN da VM |
vm.vsan.writeCount |
Contagem de gravação da vSAN da VM |
vsphere.cpu.available |
CPU disponível em clusters gerenciados pelo vSphere, em gigahertz |
vsphere.memory.available |
Memória disponível em clusters gerenciados pelo vSphere, em gigabytes |
vsphere.clusters.total |
Número de clusters gerenciados pelo vSphere |
vsphere.clusters |
Contagem de clusters gerenciados pelo vSphere com o código de cores dor status do cluster (como verde, cinza, vermelho ou amarelo) |
vsphere.cpu.cpus |
Número total de núcleos de CPU do sistema host gerenciados pelo vSphere |
vsphere.datacenters |
Número de data centers gerenciados pelo vSphere |
vsphere.datastores.total |
Número de armazenamentos de dados no vSphere |
vsphere.datastores |
Contagem de armazenamentos de dados gerenciados pelo vSphere com o código de cores do status do armazenamento de dados (como verde, cinza, vermelho ou amarelo) |
vsphere.disk.space |
Espaço total em disco anexado no vSphere, em terabytes |
vsphere.host_systems |
Número de sistemas host no vSphere |
vsphere.hosts |
Contagem de sistemas host gerenciados pelo vSphere com o código de cores do status do sistema host (como verde, cinza, vermelho ou amarelo) |
vsphere.network.adapters |
Número de adaptadores de rede no vSphere |
vsphere.hosts.powered_off |
Número de hosts desativados no vSphere |
vsphere.hosts.powered_on |
Número de hosts ativados no vSphere |
vsphere.virtual_machines.total |
Número de VMs em todos os clusters do vSphere |
vsphere.virtual_machines |
Contagem de VMs gerenciadas pelo vSphere com o código de cores do status da VM (como verde, cinza, vermelho ou amarelo). |