Como gerar registros e monitorar

Os clusters do Anthos no VMware (GKE no local) incluem várias opções para geração de registros e monitoramento de clusters, incluindo serviços gerenciados baseados em nuvem, ferramentas de código aberto e validação de compatibilidade com soluções comerciais de terceiros. Neste documento, explicamos essas opções e fornecemos algumas orientações básicas sobre como selecionar a solução adequada para seu ambiente.

Opções para clusters do Anthos no VMware

Há várias opções de geração de registros e monitoramento para os clusters do Anthos em clusters da VMware:

  • Cloud Logging e Cloud Monitoring, ativados por agentes no cluster implantados com os clusters do Anthos no VMware.
  • Prometheus e Grafana, desativados por padrão
  • Configurações validadas com soluções de terceiros

Cloud Logging e Cloud Monitoring

O pacote de operações do Google Cloud (antigo Stackdriver) é a solução de observabilidade integrada do Google Cloud. Ele oferece uma solução de geração de registros totalmente gerenciada, coleta de métricas, monitoramento, uso de painéis e emissão de alertas. O Cloud Monitoring monitora os clusters do Anthos em clusters VMware de maneira semelhante aos clusters do GKE baseados em nuvem.

É possível configurar os agentes no cluster para o escopo de monitoramento e geração de registros, bem como o nível de métricas coletadas:

  • O escopo de geração de registros e monitoramento só pode ser definido como componentes do sistema (padrão) ou para componentes e aplicativos do sistema.
  • O nível das métricas coletadas pode ser configurado para um conjunto otimizado de métricas ou para métricas completas.

Consulte Como configurar agentes do Logging e Monitoring para clusters do Anthos no VMware neste documento para mais informações.

O Cloud Logging e o Cloud Monitoring são ideais para os clientes que querem uma solução de observabilidade única, eficiente, fácil de configurar e baseada na nuvem. É altamente recomendável usar o Logging e o Monitoring ao executar cargas de trabalho apenas em clusters do Anthos no VMware ou nas cargas de trabalho do GKE e do Anthos no VMware. Para aplicativos com componentes em execução nos clusters do Anthos no VMware e na infraestrutura local tradicional, considere outras soluções para uma visualização completa desses aplicativos.

Prometheus e Grafana

O Prometheus e o Grafana são dois produtos de monitoramento de código aberto conhecidos:

  • O Prometheus coleta métricas de aplicativo e sistema.

  • O Alertmanager manipula o envio de alertas com vários mecanismos de alerta diferentes.

  • Grafana é uma ferramenta de painéis.

É possível ativar o Prometheus e o Grafana em cada cluster de administrador e cluster de usuário. Ambos são recomendados para equipes de aplicativos que tenham experiência anterior com esses produtos ou equipes operacionais que preferem manter as métricas de aplicativo dentro do cluster, bem como para solucionar problemas em caso de perda de conectividade da rede.

Soluções de terceiros

O Google trabalhou com vários provedores de soluções de monitoramento e geração de registros de terceiros para ajudar seus produtos a funcionarem bem com os clusters do Anthos no VMware. Entre eles, Datadog, Elastic e Splunk. Outros terceiros validados serão adicionados no futuro.

Para mais informações sobre o uso de soluções de terceiros com clusters do Anthos no VMware, consulte:

Como o Logging e o Monitoring funcionam para clusters do Anthos no VMware

Os agentes do Logging e de métricas são instalados e ativados em cada cluster quando você cria um novo cluster de administrador ou usuário. Os agentes coletam dados sobre os componentes do sistema, ou seja, o escopo dos quais você pode configurar.

Para acessar os dados coletados no console do Google Cloud, configure o projeto do Google Cloud que armazena os registros e as métricas que você quer visualizar.

Os agentes do Logging e do Monitoring em cada cluster incluem:

  • Agente de métricas do GKE (gke-metrics-agent). Um DaemonSet que envia métricas para a API Cloud Monitoring.

  • Encaminhamento de registros (stackdriver-log-forwarder). Um DaemonSet do Fluent Bit que encaminha os registros de cada máquina para o Cloud Logging. O encaminhador de registros armazena em buffer as entradas de registro no nó localmente e as reenvia por até quatro horas. Se o buffer ficar cheio ou se o encaminhador de registros não conseguir acessar a API Cloud Logging por mais de quatro horas, os registros serão descartados.

  • Agente de métricas globais do GKE (gke-metrics-agent-global). Uma implantação que envia métricas para a API Cloud Monitoring.

  • Agente de metadados (stackdriver-metadata-agent). Uma implantação que envia metadados de recursos do Kubernetes, como pods, implantações ou nós, para a API Stackdriver Resource Metadata. Esses dados são usados para enriquecer consultas de métricas ao permitir que você consulte por nome da implantação, nome do nó ou até pelo nome do serviço do Kubernetes.

É possível ver todos os agentes de implantação executando o comando:

  kubectl --kubeconfig CLUSTER_KUBECONFIG get deployments -l "managed-by=stackdriver" --all-namespaces

CLUSTER_KUBECONFIG é o caminho para o arquivo kubeconfig do cluster.

A saída deste comando é semelhante a:

gke-metrics-agent-global                      1/1     Running   0   4h31m
stackdriver-metadata-agent-cluster-level      1/1     Running   0   4h31m

É possível ver todos os agentes DaemonSet executando o comando:

  kubectl --kubeconfig CLUSTER_KUBECONFIG get daemonsets -l "managed-by=stackdriver" --all-namespaces

A saída deste comando é semelhante a:

gke-metrics-agent                             1/1     Running   0   4h31m
stackdriver-log-forwarder                     1/1     Running   0   4h31m

Como configurar agentes do Logging e Monitoring para clusters do Anthos no VMware

Os agentes instalados com clusters do Anthos no VMware coletam dados sobre componentes do sistema, sujeitos às suas definições e configurações, para fins de manutenção e solução de problemas com os clusters.

Somente componentes do sistema (escopo padrão)

Após a instalação, os agentes coletam registros e métricas, incluindo detalhes de desempenho (por exemplo, uso da CPU e da memória) e metadados semelhantes, para os componentes do sistema fornecidos pelo Google. Isso inclui todas as cargas de trabalho no cluster de administrador e, para clusters de usuário, as cargas de trabalho nos namespaces kube-system, gke-system, gke-connect, istio-system e config-management-system. É possível configurar ou desativar os agentes conforme descrito nas seções a seguir.

O escopo dos registros e das métricas coletadas também pode ser expandido para incluir aplicativos. Para instruções sobre como ativar a geração de registros e o monitoramento de aplicativos, consulte Como ativar a geração de registros e o monitoramento para aplicativos do usuário.

Métricas otimizadas (métricas padrão)

Por padrão, os agentes de métricas em execução no cluster coletam e informam um conjunto otimizado de métricas de contêiner, kubelet e kube-state-metrics ao pacote de operações do Google Cloud (antigo Stackdriver).

Menos recursos são necessários para coletar esse conjunto otimizado de métricas, o que melhora o desempenho e a escalonabilidade geral. Isso é especialmente importante para métricas no nível do contêiner e do kube, devido à grande quantidade de objetos a serem monitorados.

Para desativar as métricas otimizadas do kube-state-metrics (não recomendado), defina o campo optimizedMetrics como false no recurso personalizado do Stackdriver. Para mais informações sobre como alterar o recurso personalizado do Stackdriver, consulte Como configurar recursos de componentes do Stackdriver. Todas as métricas dos clusters do Anthos no VMware, incluindo as excluídos por padrão, são descritas em Métricas do Anthos.

Ativar e desativar o Stackdriver

É possível ativar ou desativar completamente os agentes de geração de registros e monitoramento ativando ou desativando o recurso personalizado do Stackdriver. Esse recurso está na visualização.

Antes de desativar os agentes do Logging e do Monitoring, consulte a página de suporte para detalhes sobre como isso afeta os SLAs de Suporte do Google Cloud.

Os agentes do Logging e Monitoring capturam dados armazenados localmente, dependendo da configuração de armazenamento e retenção. A replicação dos dados no projeto do Google Cloud especificado na instalação é feita com uma conta de serviço autorizada a gravar dados nesse projeto. É possível desativar esses agentes a qualquer momento, conforme descrito anteriormente.

Também é possível gerenciar e excluir dados que os agentes do Logging e do Monitoring enviaram para o Cloud Logging e o Cloud Monitoring. Para mais informações, consulte a documentação do Cloud Monitoring.

Requisitos de configuração do Logging e do Monitoring

Para visualizar os dados do Cloud Logging e do Cloud Monitoring, configure o projeto do Cloud que armazena os registros e as métricas que você quer visualizar. Esse projeto do Cloud é chamado de projeto de geração de registros.

  1. Ative as seguintes APIs em seu projeto de monitoramento de registros:

  2. Conceda os papéis do IAM a sua conta de serviço de monitoramento de registros no projeto de monitoramento de registros.

    • logging.logWriter
    • monitoring.metricWriter
    • stackdriver.resourceMetadata.writer
    • monitoring.dashboardEditor
    • opsconfigmonitoring.resourceMetadata.writer

Preços

Não há cobrança para registros e métricas do sistema do Anthos.

Em clusters do Anthos no cluster do VMware, os registros e as métricas de sistema do Anthos incluem o seguinte:

  • Registros e métricas de todos os componentes em um cluster de administrador
  • Registros e métricas de componentes nesses namespaces em um cluster de usuário: kube-system, gke-system, gke-connect, knative-serving, istio-system, monitoring-system, config-management-system, gatekeeper-system, cnrm-system

Para mais informações, consulte Preços do pacote de operações do Google Cloud.

Para saber mais sobre o crédito para métricas do Cloud Logging, entre em contato com a equipe de vendas e receba mais informações sobre preços.

Como funcionam os clusters do Prometheus e do Grafana para Anthos no VMware

Cada cluster do Anthos no cluster VMware é criado com o Prometheus e o Grafana desativados por padrão. Siga o guia de instalação para ativá-los.

O servidor Prometheus é configurado com alta disponibilidade, tendo duas réplicas em execução em dois nós separados. Os requisitos de recursos são ajustados para aceitar clusters que executam até cinco nós, cada um manipulando até 30 pods que exibem métricas personalizadas. O Prometheus tem um PersistentVolume dedicado com espaço em disco pré-alocado para ajustar os dados por um período de armazenamento de quatro dias, além de um buffer de segurança extra.

O plano de controle do administrador, assim como cada cluster de usuário, tem uma pilha de monitoramento dedicada que pode ser configurada de forma independente. Cada cluster de administrador e usuário inclui uma pilha de monitoramento que oferece um conjunto completo de recursos: servidor Prometheus para monitoramento, Grafana para observabilidade e Prometheus Alertmanager para alertas.

Todos os endpoints de monitoramento, dados de métricas transferidos e APIs de monitoramento são protegidos com componentes do Istio, usando regras mTLS e RBAC. O acesso aos dados de monitoramento é restrito apenas aos administradores do cluster.

Métricas coletadas pelo Prometheus

O Prometheus coleta as métricas e os metadados a seguir do plano de controle do administrador e dos clusters de usuário:

  • Uso de recursos, como CPU, em pods e nós
  • Métricas do plano de controle do Kubernetes
  • Métricas de complementos e componentes de sistema do Kubernetes em execução nos nós, como kubelet
  • Estado do cluster, como integridade dos pods em uma implantação
  • Métricas de aplicação
  • Métricas de máquina, como rede, entropia e inodes

Monitoramento de vários clusters

A instância do Prometheus e do Grafana, instalada no cluster de administrador, é configurada especialmente para fornecer insight em toda a instância do GKE On-Prem, incluindo o cluster de administração e cada cluster de usuário. Isso permite:

  • usar um painel do Grafana para acessar métricas de todos os clusters de usuário e de administrador;
  • ver as métricas de clusters de usuário individuais nos painéis do Grafana (métricas disponíveis para consultas diretas em resolução total);
  • acessar métricas de carga de trabalho e nível de nó dos clusters de usuário para consultas, painéis e alertas agregados (as métricas de carga de trabalho são limitadas a cargas de trabalho em execução no namespace kube-system);
  • configurar alertas de clusters específicos.

A seguir