Monitorização e registo de dados
Aplica-se a: AKS no Azure Local 22H2, 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 habilitado pelo Azure Arc. Você aprende a configurar e acessar o monitoramento local usando Prometheus
e Graphana
e como coletar e exibir logs usando Elasticsearch
, Fluent Bit
e 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 Arc facilita a implantaçã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. Você deve ter sua própria cópia licenciada do Grafana com o AKS Arc.
Visão geral da solução de monitoramento
Como parte da solução Prometheus no AKS habilitada pela Arc, 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 pontos de extremidade que a solução Prometheus raspa incluem os seguintes itens:
- 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 painéis do Grafana disponíveis no AKS Arc, consulte painéis do Grafana disponíveis no AKS Arc.
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 comando Uninstall-AksHciMonitoring
PowerShell para desinstalar a solução de monitoramento AKS Arc, da seguinte maneira:
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 habilitado pelo Arc.
Registo em instalações locais
O registro em log é crucial para a solução de problemas e diagnósticos. A solução de registro no AKS Arc é baseada em 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 .