Monitoramento e registro em log de dados
Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server
Este artigo descreve como monitorar a implantação do AKS (Serviço de Kubernetes do Azure) e coletar dados de log no AKS habilitado pelo Azure Arc. Você aprenderá 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 em log estão disponíveis, conforme descrito na tabela a seguir:
Solução | Conectividade do Azure | Suporte e serviço | Cost | Implantação |
---|---|---|---|---|
Azure Monitor | Requer a conexão do cluster kubernetes ao Azure usando o Azure Arc para Kubernetes. | Suporte completo e manutenção da Microsoft. | Requer a inscrição para o serviço do Azure Monitor. | Use o Azure Arc para monitorar clusters. |
Monitoramento e registro em log local | Não requer conectividade do Azure. | Com suporte como software de software livre pela Microsoft (sem contrato de suporte ou SLAs), a comunidade e/ou fornecedores externos. | Dependente do fornecedor. | Controlado pelo cliente. Consulte Monitorar clusters usando o monitoramento local. |
Para usar o Azure Monitor com clusters kubernetes, consulte a visão geral do Azure Monitor.
Usar o monitoramento local
É crucial que você monitore a integridade, o desempenho e o uso de recursos dos nós e cargas de trabalho do painel de controle em seu cluster ao executar aplicativos em produção. A solução de monitoramento recomendada inclui as duas ferramentas a seguir:
- O Prometheus é um kit de ferramentas de monitoramento e alertas que você pode usar para monitorar cargas de trabalho conteinerizadas. 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 exibir relatórios. O AKS Arc facilita a implantação do Prometheus, que é descrito posteriormente neste artigo.
- O Grafana é uma ferramenta usada para exibir, consultar e visualizar métricas nos painéis do Grafana. Você também pode configurar o Grafana para usar o Prometheus como a 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 pelo Arc, os seguintes componentes são implantados e configurados automaticamente:
A implantação se baseia no gráfico do Helm do Kube-Prometheus-stack disponível publicamente, que é estendido para dar suporte ao exportador do Windows e garante a extração de métricas entre o Prometheus e os agentes. Depois que a solução Prometheus é implantada, o exportador de nós é executado em cada nó do Linux e o exportador do Windows é executado em cada nó do Windows.
Observação
Como os componentes de métricas de estado prometheus, Prometheus e Kube só têm suporte no Linux, você deve provisionar pelo menos um nó Linux no cluster do AKS para implantar essa solução.
Os objetos e pontos de extremidade que a solução Prometheus extrai 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 coletar métricas para nós do Linux
- Exportador do Windows para coletar métricas para nós do Windows
Para exibir os painéis do Grafana disponíveis no AKS Arc, confira Painéis do Grafana disponíveis no AKS Arc.
Implantar a 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 -enableMonitoring
parâmetro quando você 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 -storageSizeGB
parâmetro define o tamanho do volume persistente provisionado para armazenar métricas e o -retentionTimeHours
parâmetro define a quantidade de tempo que as métricas coletadas são retidas.
A solução de monitoramento é instalada em um namespace separado chamado monitoring
e usa um StorageClass chamado monitoring-sc
. O Prometheus é exposto em um ponto de extremidade interno acessível somente dentro do cluster em http://akshci-monitoring-prometheus-svc.monitoring:9090
.
Desinstalar a solução de monitoramento usando o PowerShell
Execute o comando do Uninstall-AksHciMonitoring
PowerShell para desinstalar a solução de monitoramento do 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 as métricas reais do volume persistente.
Implantar o Grafana e configurá-lo para usar o Prometheus
Você pode seguir todas as diretrizes para implantar o Grafana disponível publicamente. Você também pode exibir 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.
Registro em log local
O registro em log é crucial para solução de problemas e diagnóstico. A solução de registro em log 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 coleta 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 uma dashboard Web. Essa ferramenta permite exibir e consultar logs armazenados no Elasticsearch e, em seguida, você pode visualizá-los por meio de grafos e painéis.
Para configurar uma solução de registro em log local, confira as etapas para configurar o registro em log para acessar o Kibana. Este artigo inclui todos os componentes necessários para coletar, agregar e consultar logs de contêiner em todo o cluster.
Para obter etapas de configuração avançadas, consulte Registro em log do Windows.