Monitorização e registo de dados

Aplica-se para: AKS no Windows Server

Este artigo descreve como monitorar sua implantação do Serviço Kubernetes do Azure (AKS) e coletar dados de log no AKS no Windows Server. Você aprende a configurar e acessar o monitoramento local usando Prometheus e Graphana, e como coletar e exibir logs usando Elasticsearch, Fluent Bite Kibana (EFK).

Dois tipos de soluções de monitoramento e registro estão disponíveis, conforme descrito na tabela a seguir:

Solução Conectividade do Azure Suporte e serviço Custo Implantação
Azure Monitor Requer conectar o cluster do Kubernetes ao Azure usando o Azure Arc for Kubernetes. Suporte e assistência completos da Microsoft. Requer a inscrição no serviço Azure Monitor. Use o Azure Arc para monitorizar clusters.
Monitoramento e registro em log no local Não requer conectividade do Azure. Suportado como software de código aberto pela Microsoft (sem contrato de suporte ou SLAs), pela comunidade e/ou por fornecedores externos. Dependente do fornecedor. Orientado para o cliente. Consulte Monitore clusters com monitoração local.

Para usar o Azure Monitor com clusters Kubernetes, consulte a visão geral do Azure Monitor.

Usar monitoramento local

É crucial que você monitore a integridade, o desempenho e o uso de recursos dos nós do plano de controle e das cargas de trabalho em seu cluster ao executar aplicativos em produção. A solução de monitorização recomendada inclui as duas ferramentas seguintes:

  • Prometheus é um kit de ferramentas de monitoramento e alerta que você pode usar para monitorar cargas de trabalho em contêineres. O Prometheus trabalha com diferentes tipos de coletores e agentes para coletar métricas e armazená-las em um banco de dados onde você pode consultar os dados e visualizar relatórios. O AKS facilita a implementação do Prometheus, que é descrito mais adiante neste artigo.
  • Grafana é uma ferramenta usada para visualizar, interrogar e exibir métricas nos painéis do Grafana. Você também pode configurar o Grafana para usar o Prometheus como fonte de dados. Deve ter a sua própria cópia licenciada do Grafana com AKS.

Visão geral da solução de monitoramento

Como parte da solução Prometheus no AKS no Windows Server, os seguintes componentes são implantados e configurados automaticamente:

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

Observação

Como o operador Prometheus, o Prometheus e os componentes de métricas de estado Kube são suportados apenas no Linux, deve fornecer pelo menos um nó Linux no seu cluster AKS para implementar esta solução.

Os objetos e endpoints que a solução Prometheus captura incluem os seguintes elementos:

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

Para visualizar os dashboards Grafana disponíveis no AKS, consulte dashboards Grafana disponíveis no AKS.

Implantar solução de monitoramento usando o PowerShell

Esta seção descreve as duas opções que você pode usar para implantar o monitoramento em um cluster de carga de trabalho.

Opção 1: Implantar a solução de monitoramento ao criar o cluster de carga de trabalho

Para habilitar o monitoramento, forneça o parâmetro -enableMonitoring ao usar New-AksHciCluster para criar o cluster de carga de trabalho, conforme mostrado no exemplo a seguir:

New-AksHciCluster -name mynewcluster -enableMonitoring

O monitoramento é instalado com a seguinte configuração padrão:

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

Opção 2: Implantar a solução de monitoramento em um cluster de carga de trabalho existente

Execute o comando Install-AksHciMonitoring para implantar a solução de monitoramento em um cluster de carga de trabalho existente, da seguinte maneira:

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

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

A solução de monitoramento é instalada em um namespace separado chamado monitoring e usa uma StorageClass chamada monitoring-sc. Prometheus é exposto num endpoint interno que é acessível apenas dentro do cluster em http://akshci-monitoring-prometheus-svc.monitoring:9090.

Desinstalar a solução de monitoramento usando o PowerShell

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

Uninstall-AksHciMonitoring -Name <target cluster name>

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

Implante o Grafana e configure-o para usar o Prometheus

Você pode seguir qualquer orientação para implantar o Grafana que esteja disponível publicamente. Você também pode visualizar as diretrizes de implantação da Microsoft para usar o Grafana, que detalha como implantar e configurar o Grafana para conectá-lo a uma instância do AKS Prometheus. Esta página do GitHub também descreve como adicionar painéis do Grafana que a Microsoft disponibiliza para o AKS no Windows Server.

Registo em instalações locais

O registro em log é crucial para a solução de problemas e diagnósticos. A solução de registo no AKS baseia-se no Elasticsearch, Fluent Bit e Kibana (EFK). Esses componentes são todos implantados como contêineres:

  • Fluent Bit é o processador de log e encaminhador que recolhe dados e logs de diferentes fontes. Em seguida, formata, unifica e armazena-os no Elasticsearch.
  • O Elasticsearch é um mecanismo de pesquisa e análise distribuído capaz de armazenar centralmente os logs para pesquisas rápidas e análise de dados. 
  • O Kibana fornece visualizações interativas em um painel da web. Essa ferramenta permite visualizar e consultar logs armazenados no Elasticsearch e, em seguida, visualizá-los por meio de gráficos e painéis.

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

Para obter as etapas de configuração avançadas, consulte o log do Windows .

Próximos passos