Editar

Compartilhar via


Monitoramento e registro em log do Kubernetes

AKS (Serviço de Kubernetes do Azure)
Azure Log Analytics
Azure Monitor

Este artigo compara o monitoramento do Serviço de Kubernetes do Azure (AKS) e do Amazon Elastic Kubernetes Service (Amazon EKS). Ele orienta sobre diferentes opções para monitorar e gerenciar os logs de um cluster do AKS e suas cargas de trabalho.

Observação

Este artigo faz parte de uma série de artigos que ajudam profissionais familiarizados com o Amazon EKS a entender o Serviço Azure Kubernetes (AKS).

Monitoramento e registro em log do Amazon EKS

Como qualquer serviço do Kubernetes, o EKS tem dois componentes principais: o plano de controle e os nós de trabalho. Há recursos específicos para cada camada.

Plano de controle e monitoramento de cluster do Amazon EKS

O Amazon EKS se integra ao Amazon CloudWatch Logs para fornecer registro e monitoramento para o plano de controle do Amazon EKS. Essa integração não é habilitada por padrão, mas, quando configurada, ela coleta logons:

  • Servidor de API e chamadas de API.
  • Logs de auditoria e interações do usuário.
  • Logs do autenticador.
  • Logs do agendador e do controlador.

O Amazon EKS expõe métricas de plano de controle no ponto de extremidade /metrics, no formato de texto da solução Prometheus. O CloudWatch Container Insights pode coletar e armazenar métricas da solução Prometheus. Você pode implantar e autogerenciar o Prometheus além do seu cluster do EKS ou usar serviço gerenciado para Prometheus da Amazon.

O Amazon EKS também se integra ao Amazon Web Services (AWS) CloudTrail para rastrear ações e chamadas de API. Para obter mais informações, consulte Registro em log de chamadas de API do Amazon EKS com o AWS CloudTrail.

Monitoramento de carga de trabalho do Amazon EKS

O CloudWatch Container Insights pode coletar e agregar métricas e logs de aplicativos conteinerizados implantados no EKS. Você pode implementar os Insights de Contêiner no Amazon EKS com uma versão conteinerizada do agente do CloudWatch ou usando o AWS Distro for OpenTelemetry como um DaemonSet. Você pode enviar logs com o FluentBit.

Monitoramento e registro em log do AKS

Assim como outros recursos do Azure, o AKS gera métricas de plataforma e logs de recursos que você pode usar para monitorar sua integridade e desempenho básicos.

Diagrama mostrando o registro e monitoramento do AKS.

Baixe um Arquivo Visio dessa arquitetura.

Azure Monitor

O AKS integra-se nativamente ao Azure Monitor. O Azure Monitor armazena métricas e logs em um local central chamado workspace do Log Analytics. Esses dados são processados e analisados para fornecer insights e alertas. Para obter mais informações, confira Monitorar o Serviço de Kubernetes do Azure (AKS) com o Azure Monitor.

O Container Insights é o recurso do Azure Monitor que coleta, indexa e armazena os dados gerados pelo cluster do AKS. Você pode configurar o Container Insights para monitorar clusters de Kubernetes gerenciado hospedados no AKS e em outras configurações de cluster. O Container Insights pode monitorar a integridade e o desempenho do AKS com visualização personalizada para ambientes do Kubernetes. Semelhante ao EKS, habilitar os Insights de Contêiner para seu cluster do AKS implanta uma versão em contêiner do agente do Log Analytics, que é responsável por enviar dados para seu workspace do Log Analytics.

Microsoft Sentinel

O Microsoft Sentinel oferece análise de segurança inteligente e inteligência contra ameaças em toda a empresa. Com o Microsoft Sentinel, você possui uma solução única para detecção de ataques, visibilidade de ameaças, busca proativa e resposta a ameaças.

O Microsoft Sentinel deve estar conectado ao AKS. Esse conector permite transmitir os logs de diagnóstico do AKS (Serviço de Kubernetes do Azure) ao Microsoft Sentinel, para você monitorar as atividades continuamente em todas as instâncias.

Depois conectar as fontes de dados ao Microsoft Azure Sentinel, será possível visualizar e monitorar os dados usando as Pastas de Trabalho do Azure Monitor com o Microsoft Sentinel, que oferece versatilidade na criação de painéis personalizados.

Monitoramento da carga de trabalho e do cluster do AKS

Uma implantação do AKS pode se dividir em componentes de nível de cluster, componentes gerenciados do AKS, objetos do Kubernetes e cargas de trabalho, aplicativos e recursos externos. A tabela a seguir mostra uma estratégia comum para monitorar um cluster do AKS e aplicativos de carga de trabalho. Cada nível tem requisitos de monitoramento distintos.

Nível Descrição Requisitos de monitoramento
Componentes de nível de cluster Conjuntos de dimensionamento de máquinas virtuais abstraídos como nós do AKS e pools de nós. Status do nó e utilização de recursos, incluindo CPU, memória, disco e rede
Componentes gerenciados do AKS Componentes do plano de controle do AKS, incluindo servidores de API, controlador de nuvem e kubelet Logs e métricas do plano de controle do namespace kube-system
Objetos e cargas de trabalho do Kubernetes Objetos do Kubernetes, como implantações, contêineres e conjuntos de réplicas Utilização de recursos e falhas
Aplicativos Cargas de trabalho de aplicativo em execução no cluster do AKS Monitoramento específico da arquitetura, mas incluindo logs de aplicativos e transações de serviço
Externo Recursos externos que não fazem parte do AKS, mas são necessários para escalabilidade e gerenciamento de cluster. Específico para cada componente
  • Componentes de nível de cluster: Você pode usar exibições e relatórios existentes do Container Insights para monitorar componentes de nível de cluster para entender a integridade, a preparação, o desempenho, a utilização de recursos de CPU e memória e tendências.

  • Componentes gerenciados do AKS: Você pode usar o Metrics Explorer para exibir o contador de Solicitações em andamento. Essa exibição inclui latência de solicitação e tempo de processamento da fila de trabalho.

  • Objetos e cargas de trabalho do Kubernetes: Você pode usar exibições e relatórios existentes do Container Insights para monitorar a implantação, controladores, pods e contêineres. Use as exibições de Nós e Controladores para exibir a integridade e o desempenho dos pods que estão em execução em nós e em controladores, e seu consumo de recursos em termos de CPU e memória.

Na visualização Contêiner dos Insights de Contêiner, você pode exibir a integridade e o desempenho dos contêineres ou selecionar um contêiner individual e monitorar seus eventos e logs em tempo real. Para obter detalhes sobre como usar essa visualização e analisar a integridade e o desempenho do contêiner, consulte Monitorar o desempenho do cluster do Kubernetes com os Insights de Contêiner.

  • Aplicativos: Você pode usar o Application Insights para monitorar aplicativos em execução no AKS e em outros ambientes. O Application Insights é uma ferramenta de gerenciamento de desempenho de aplicativos que fornece suporte para muitas linguagens de programação. Dependendo de suas necessidades, você pode instrumentar o código do aplicativo para capturar solicitações, rastreamentos, logs, exceções, métricas personalizadas e transações de ponta a ponta e enviar esses dados para os Insights de Aplicativo. Se você tiver um aplicativo Java, poderá fornecer monitoramento sem instrumentar seu código. Para obter mais informações, consulte Monitoramento de aplicativo de instrumentação zero para Kubernetes.

  • Componentes externos: Você pode usar os recursos do Azure Monitor para monitorar qualquer plataforma como serviço (PaaS) do Azure que seus aplicativos de carga de trabalho usam, como bancos de dados e outros recursos do Azure.

Serviço Gerenciado do Azure Monitor para Prometheus

Prometheus é uma popular solução de monitoramento de métricas de código aberto da Cloud Native Compute Foundation e a ferramenta mais comum usada para coletar e analisar dados métricos de clusters do Kubernetes. O serviço gerenciado do Azure Monitor para Prometheus é uma solução de monitoramento totalmente gerenciada compatível com Prometheus no Azure que armazena seus dados em um espaço de trabalho do Azure Monitor, que está vinculado a um espaço de trabalho do Grafana para que você possa analisar os dados com o Espaço Gerenciado do Azure para Grafana.

O Prometheus também pode ser implantado independentemente como uma solução autogerenciada nos clusters do Serviço de Kubernetes do Azure. Você pode integrar o Prometheus auto-hospedado com o Azure Monitor. O Insights do contêiner pode ser configurado para coletar métricas do Prometheus. Você pode expor o ponto de extremidade de métricas do Prometheus por meio de exportadores ou aplicativos de pod, e o agente em contêineres para Insights do Contêiner extrairá as métricas para você.

Espaço Gerenciado do Azure para Grafana

O Espaço Gerenciado do Azure para Grafana é uma plataforma de visualização de dados criada com base no software Grafana. Ele é criado como um serviço totalmente gerenciado do Azure operado e com suporte da Microsoft. Vários painéis predefinidos do Grafana estão disponíveis para monitorar o Kubernetes e a solução de problemas de pilha completa.

O Espaço Gerenciado do Azure para Grafana é otimizado para o ambiente do Azure e funciona com muitos serviços do Azure, fornecendo recursos de integração simples. Como alternativa, você também pode implantar o Grafana independentemente como uma solução autogerenciada. Para obter mais informações, confira Monitorar os serviços do Azure no Grafana.

Custos de monitoramento do AKS

O modelo de preços do Azure Monitor baseia-se principalmente na quantidade de dados ingeridos por dia no seu workspace do Log Analytics. O custo varia de acordo com o plano e os períodos de retenção selecionados.

Antes de habilitar os Insights de Contêiner, estime custos e entenda como controlar a ingestão de dados e seus custos. Para obter orientações detalhadas, consulte Estimar custos para monitorar seu cluster do AKS.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Principais autores:

Outros colaboradores:

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas