Monitorizar e registar dados

Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server

Este artigo descreve como monitorizar a implementação do Azure Kubernetes Service (AKS) e recolher dados de registo no AKS ativado pelo Azure Arc. Saiba como configurar e aceder à monitorização no local com Prometheus e Graphana, e como recolher e ver registos com Elasticsearch, Fluent Bite Kibana (EFK).

Estão disponíveis dois tipos de soluções de monitorização e registo, conforme descrito na tabela seguinte:

Solução Conectividade do Azure Suporte e serviço Custo Implementação
Azure Monitor É necessário ligar o cluster do Kubernetes ao Azure com o Azure Arc para Kubernetes. Suporte e manutenção completos da Microsoft. É necessário inscrever-se no serviço Azure Monitor. Utilize o Azure Arc para monitorizar clusters.
Monitorização e registo no local Não requer conectividade do Azure. Suportado como software open source pela Microsoft (sem contrato de suporte ou SLAs), pela comunidade e/ou por fornecedores externos. Dependente do fornecedor. Orientada pelo cliente. Veja Monitorizar clusters com a monitorização no local.

Para utilizar o Azure Monitor com clusters do Kubernetes, veja a Descrição geral do Azure Monitor.

Utilizar a monitorização no local

É fundamental monitorizar o estado de funcionamento, o desempenho e a utilização de recursos dos nós e cargas de trabalho do plano de controlo no cluster ao executar aplicações em produção. A solução de monitorização recomendada inclui as duas ferramentas seguintes:

  • O Prometheus é um toolkit de monitorização e alertas que pode utilizar para monitorizar cargas de trabalho em contentores. O Prometheus trabalha com diferentes tipos de recoletores e agentes para recolher métricas e armazená-las numa base de dados onde pode consultar os dados e ver relatórios. O AKS Arc facilita a implementação do Prometheus, que é descrito mais à frente neste artigo.
  • O Grafana é uma ferramenta utilizada para ver, consultar e visualizar métricas nos dashboards do Grafana. Também pode configurar o Grafana para utilizar o Prometheus como a origem de dados. Tem de ter a sua própria cópia licenciada do Grafana com o AKS Arc.

Descrição geral da solução de monitorização

Como parte da solução Prometheus no AKS ativada pelo Arc, os seguintes componentes são implementados e configurados automaticamente:

A implementação baseia-se no gráfico Helm do Kube-Prometheus-stack disponível publicamente, que é alargado para suportar o exportador do Windows e protege a extração de métricas entre o Prometheus e os agentes. Assim que a solução Prometheus for implementada, o exportador do Node é executado em cada nó do Linux e o exportador do Windows é executado em cada nó do Windows.

Nota

Uma vez que os componentes de métricas de estado do Prometheus, Prometheus e Kube só são suportados no Linux, tem de aprovisionar pelo menos um nó do Linux no cluster do AKS para implementar esta solução.

Os objetos e pontos finais que a solução Prometheus raspa incluem os seguintes itens:

  • Métricas de estado do Kube para recolher várias métricas fornecidas pelo Kubernetes
  • Servidor da API do Kubernetes
  • Kubelet
  • Exportador de nós para recolher métricas para nós do Linux
  • Exportador do Windows para recolher métricas para nós do Windows

Para ver os dashboards do Grafana disponíveis no AKS Arc, veja Dashboards do Grafana disponíveis no AKS Arc.

Implementar a solução de monitorização com o PowerShell

Esta secção descreve as duas opções que pode utilizar para implementar a monitorização num cluster de cargas de trabalho.

Opção 1: Implementar a solução de monitorização ao criar o cluster de cargas de trabalho

Para ativar a monitorização, forneça o -enableMonitoring parâmetro quando utilizar New-AksHciCluster para criar o cluster de cargas de trabalho, conforme mostrado no exemplo seguinte:

New-AksHciCluster -name mynewcluster -enableMonitoring

A monitorização é instalada com a seguinte configuração predefinida:

  • O tamanho do volume persistente aprovisionado para armazenar métricas (storageSizeGB) é de 100 GB.
  • O tempo de retenção das métricas recolhidas (retentionTimeHours) é de 240 horas (ou 10 dias).

Opção 2: Implementar a solução de monitorização num cluster de carga de trabalho existente

Execute o comando Install-AksHciMonitoring para implementar a solução de monitorização num cluster de cargas de trabalho existente, da seguinte forma:

Install-AksHciMonitoring -Name mycluster -storageSizeGB 100 -retentionTimeHours 240

O -storageSizeGB parâmetro define o tamanho do volume persistente que é aprovisionado para armazenar métricas e o -retentionTimeHours parâmetro define a quantidade de tempo que as métricas recolhidas são mantidas.

A solução de monitorização é instalada num espaço de nomes separado chamado monitoring e utiliza uma StorageClass chamada monitoring-sc. O Prometheus está exposto num ponto final interno acessível apenas no cluster em http://akshci-monitoring-prometheus-svc.monitoring:9090.

Desinstalar a solução de monitorização com o PowerShell

Execute o comando do Uninstall-AksHciMonitoring PowerShell para desinstalar a solução de monitorização do AKS Arc, da seguinte forma:

Uninstall-AksHciMonitoring -Name <target cluster name>

O processo de desinstalação remove tudo, incluindo o espaço de nomes, a StorageClass e os dados e métricas reais do volume persistente.

Implementar o Grafana e configurá-lo para utilizar o Prometheus

Pode seguir qualquer documentação de orientação para implementar o Grafana disponível publicamente. Também pode ver as orientações de implementação da Microsoft para utilizar o Grafana, que detalha como implementar e configurar o Grafana para ligá-lo a uma instância do Prometheus do AKS. Esta página do GitHub também descreve como adicionar dashboards do Grafana que a Microsoft disponibiliza para o AKS ativado pelo Arc.

Registo no local

O registo é crucial para a resolução de problemas e diagnósticos. A solução de registo no AKS Arc baseia-se em Elasticsearch, Fluent Bit e Kibana (EFK). Estes componentes são todos implementados como contentores:

  • Fluent Bit é o processador de registos e reencaminhador que recolhe dados e registos de diferentes origens. Em seguida, formata, unifica e armazena-os no Elasticsearch.
  • O Elasticsearch é um motor de pesquisa e análise distribuído capaz de armazenar centralmente os registos para pesquisas rápidas e análise de dados. 
  • O Kibana fornece visualizações interativas num dashboard Web. Esta ferramenta permite-lhe ver e consultar registos armazenados no Elasticsearch e, em seguida, pode visualizá-los através de gráficos e dashboards.

Para configurar uma solução de registo no local, veja os passos para configurar o registo para aceder ao Kibana. Este artigo inclui todos os componentes necessários para recolher, agregar e consultar registos de contentores em todo o cluster.

Para obter os passos de configuração avançados, veja Registo do Windows.

Passos seguintes