Como monitorar recursos locais com o BindPlane

Esse documento compõe uma série em duas partes sobre como estender o Cloud Logging e o Cloud Monitoring para incluir infraestrutura e apps no local.

  • Cloud Logging: leia sobre como o Cloud Logging oferece suporte para a geração de registros de recursos locais.
  • Cloud Monitoring (este documento): leia sobre como o Cloud Monitoring oferece suporte para o monitoramento de recursos locais.

Use o Loggin e o Monitoring para monitorar e gerar registros dos recursos locais pelos motivos a seguir:

  • Você precisa de uma solução temporária ao migrar a infraestrutura para o Google Cloud e quer monitorar seus recursos locais até que eles sejam desativados.
  • Talvez você tenha um ambiente de computação diversificado com várias nuvens e recursos locais.

Em ambos os casos, com a API do Loggin e do Monitoring e o BindPlane, é possível ter visibilidade de seus recursos locais. Esse documento é destinada a profissionais, gerentes e executivos de DevOps interessados em uma estratégia de monitoramento de recursos no Google Cloud, bem como na infraestrutura e nos aplicativos locais restantes.

Como ingerir métricas com o Monitoring

Veja métricas no Monitoring das duas maneiras a seguir:

  • Use a ferramenta BindPlane do observIQ para ingerir métricas de suas fontes locais ou de outras fontes na nuvem
  • Use o OpenCensus para gravar na API Cloud Monitoring.

Como usar o BindPlane para processar métricas

No diagrama a seguir, mostramos a arquitetura de como o BindPlane coleta métricas e, em seguida, como essas métricas são ingeridas no Monitoring.

Arquitetura de uso do Monitoring e do BindPlane para monitorar recursos locais.

O observIQ oferece várias versões do BindPlane: código aberto (auto-hospedado), SaaS e Enterprise. Para mais informações sobre essas versões, consulte a página de comparação do BindPlane.

Vantagens:

  • Requer configuração, não instrumentação dos seus aplicativos, o que reduz o tempo de implementação.
  • Incluído no custo de uso do Monitoring.
  • Configuração compatível com produtos e suporte do Monitoring.
  • Pode se estender para métricas não fornecidas pela configuração padrão.

Desvantagens:

  • Exige o uso da ferramenta observIQ BindPlane para redirecionar métricas para o Monitoring, o que pode aumentar a complexidade do sistema geral.

Essa opção é o método recomendado porque requer o menor esforço. Essa solução requer configuração em vez de desenvolvimento.

Como usar o OpenCensus para gravar na API Monitoring

No diagrama a seguir, mostramos a arquitetura de como o OpenCensus coleta métricas e como essas métricas são ingeridas no Monitoring.

Arquitetura de uso da API Monitoring para monitorar recursos locais diretamente.

Ao usar a API Monitoring diretamente, você precisa adicionar o código de instrumentação aos aplicativos para enviar métricas direto para a API. Isso pode ser feito de maneira direta usando a API Monitoring para gravar métricas ou instrumentando seu aplicativo com o exportador do Monitoring para OpenCensus. O OpenCensus é um projeto de código aberto que define uma estrutura de dados padrão para traces e métricas. Usar o OpenCensus tem a vantagem de oferecer suporte a vários back-ends, incluindo o Monitoring. Usar o OpenCensus também implementa todos os detalhes técnicos de baixo nível do uso da API Monitoring.

Vantagens:

  • Oferece flexibilidade, porque a instrumentação necessária é facilmente implementada com o uso do exportador do OpenCensus.

Desvantagens:

  • Requer uma solução separada para métricas de infraestrutura gravando um agente personalizado.
  • Requer instrumentação de aplicativo, o que pode significar maior custo para implementar.
  • Requer bibliotecas de código aberto.

Essa opção não é o método recomendado porque requer o maior esforço e não abrange métricas de infraestrutura.

Como usar o BindPlane

Neste documento, abordamos o uso da ferramenta BindPlane do observIQ para ingerir métricas no Monitoring. O serviço BindPlane funciona por meio da definição de uma série de fontes, ingerindo essas métricas e enviando-as para o Monitoring como o destino. O BindPlane oferece suporte a fontes de Compute Engine, Amazon Elastic Compute Cloud (Amazon EC2), Linux, Windows e Kubernetes.

Fontes, coletores e destinos

O BindPlane tem os recursos a seguir:

  • Fontes: itens que geram métricas como o Google Kubernetes Engine (GKE), o Amazon Elastic Container Service para Kubernetes (Amazon EKS) ou o Microsoft Azure Container Service.
  • Coletores: processos leves que monitoram seu ambiente de maneira remota e encaminham dados de métricas para o BindPlane.
  • Destinos: serviços para os quais o BindPlane encaminha as métricas. Nesse caso, o destino é o processo no BindPlane que usa a API Monitoring para gravar métricas no Monitoring.

Para informações mais detalhadas sobre fontes, coletores e destinos, veja a introdução ao BindPlane.

Exemplo de caso de uso:

Por exemplo, a ExampleOrganization tem recursos implantados no Google Cloud, no Microsoft Azure e em instalações locais implantadas com o vSphere. No Google Cloud, há um cluster do GKE e um aplicativo de demonstração simples implantado, que executa o site da empresa. No ambiente do Microsoft Azure, o Serviço de Kubernetes do Azure (AKS) está executando um conjunto de microsserviços, fornecendo um endpoint da API REST para desenvolvedores externos. No ambiente vSphere, o MySQL, o Oracle e o Microsoft SQL Server oferecem suporte a vários aplicativos corporativos.

Com recursos em cada ambiente, a ExampleOrganization quer monitorar cada componente, sem considerar o local em que o componente está implantado. O envio das métricas de cada ambiente para o Logging e o Monitoring com o BindPlane leva todas as métricas para um único local para fins de monitoramento e alerta.

Enviar métricas do BindPlane para o Monitoring

Depois que o BindPlane é configurado e começa a enviar métricas, elas são enviadas para o Monitoring Workspace. É possível, então, usar o Monitoring para visualizar, configurar, alertar e criar painéis a partir da série temporal, da mesma forma que para qualquer métrica ou série temporal no Monitoring. Para mais informações, consulte Métricas, séries temporais e recursos.

Usar métricas no Monitoring

No exemplo anterior, o BindPlane foi configurado para enviar métricas do Google Cloud, do Microsoft Azure e de fontes locais. As três métricas a seguir aparecem no Monitoring:

  • Métricas do cluster do GKE
  • Métricas do cluster do AKS
  • Métricas do banco de dados local do vSphere

Métricas do cluster do GKE

As métricas do cluster do GKE no Monitoring na página do Google Kubernetes Engine mostram três visualizações dos componentes do Kubernetes em execução no Monitoring Workspace, incluindo visualizações de infraestrutura, cargas de trabalho e serviços. Quatro serviços implantados no cluster são métricas de relatórios.

Visualização dos quatro serviços que estão sendo monitorados pelo Monitoring.

As métricas, registros e configurações estão disponíveis para cada pod.

Visualização de detalhes do pod de um serviço específico.

Métricas do cluster do AKS

No mesmo ambiente do Monitoring, as métricas do AKS são coletadas. As métricas aparecem no Monitoring e podem ser usadas para qualquer finalidade, incluindo painéis, alertas e o Metrics Explorer.

O Monitoring Metrics Explorer é uma maneira de localizar, filtrar e criar gráficos de métricas. Observe que as métricas enviadas pelo BindPlane têm o prefixo workload.googleapis.com/THIRD_PARTY_APP_NAME para o nome da métrica.

Metrics Explorer com o tipo de recurso "Nó Genérico" exibido.

O Metrics Explorer pode produzir um gráfico para a métrica.

Gráfico para a métrica de CPU usada.

Como todas as métricas do Monitoring, elas podem ser usadas para criar painéis como o da captura de tela a seguir. O painel representa as métricas produzidas pelo AKS, coletadas pelo BindPlane, armazenadas no Monitoring e exibidas em um painel.

Painel do AKS exibindo quatro gráficos.

Métricas do cluster local do vSphere

A última parte deste exemplo inclui métricas do banco de dados do vSphere. As métricas do vSphere aparecem no Monitoring e podem ser usadas da mesma forma que qualquer outra métrica do Monitoring. Veja que as métricas da Oracle do vSphere são exibidas no Metrics Explorer.

Métricas do vSphere no Monitoring.

Como todas as métricas do Monitoring, elas podem ser usadas para criar alertas como o da captura de tela a seguir.

Tela de configuração da criação de um alerta baseado em gatilhos.

O alerta representa as métricas produzidas pelo Oracle em execução no vSphere, coletadas pelo BindPlane, armazenadas no Monitoring e usadas para configurar um alerta.

Janela de política de alertas.

Conclusão

O Monitoring fornece painéis, alertas e resposta a incidentes para você ter insights sobre suas plataformas. Juntos, o monitoramento e o BindPlane fornecem a capacidade de ganhar visibilidade de seus recursos locais.

A seguir