Editar

Partilhar via


Monitoramento e registro em log do Kubernetes

Azure Kubernetes Service (AKS)
Azure Log Analytics
Azure Monitor

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

Nota

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

Monitoramento e registro em log do Amazon EKS

Como qualquer serviço Kubernetes, o EKS tem dois componentes principais, o plano de controle e os nós de trabalho. Existem capacidades específicas para cada camada.

Monitoramento de plano de controle e cluster do Amazon EKS

O Amazon EKS integra-se ao Amazon CloudWatch Logs para fornecer registro em log e monitoramento para o plano de controle do Amazon EKS. Essa integração não está habilitada por padrão, mas quando configurada, ela reúne 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 /metrics plano de controle no endpoint, no formato de texto Prometheus. O CloudWatch Container Insights pode coletar e armazenar métricas do Prometheus. Você pode implantar e autogerenciar o Prometheus sobre seu cluster EKS ou usar o Amazon Managed Service for Prometheus.

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 de chamadas de API do Amazon EKS com o AWS CloudTrail.

Monitoramento da carga de trabalho do Amazon EKS

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

Monitorização e registo AKS

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

Diagrama mostrando o registro e monitoramento do AKS.

Transfira um ficheiro do Visio desta arquitetura.

Azure Monitor

O AKS integra-se nativamente com o Azure Monitor. O Azure Monitor armazena métricas e logs em um local central chamado espaço de trabalho do Log Analytics. Esses dados são processados e analisados para fornecer insights e alertas. Para obter mais informações, consulte Monitorar o Serviço 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 AKS. Você pode configurar o Container Insights para monitorar clusters Kubernetes gerenciados hospedados no AKS e outras configurações de cluster. O Container Insights pode monitorar a integridade e o desempenho do AKS com visualização adaptada aos ambientes Kubernetes. Semelhante ao EKS, habilitar o Container Insights para seu cluster AKS implanta uma versão em contêiner do agente do Log Analytics, que é responsável pelo envio de dados para seu espaço de trabalho do Log Analytics.

Microsoft Sentinel

O Microsoft Sentinel oferece análises de segurança inteligentes e inteligência contra ameaças em toda a empresa. Com o Microsoft Sentinel, você obtém uma única solução para deteção de ataques, visibilidade de ameaças, caça proativa e resposta a ameaças.

O Microsoft Sentinel deve estar conectado ao seu AKS. Esse conector permite que você transmita seus logs de diagnóstico do Serviço Kubernetes do Azure (AKS) para o Microsoft Sentinel, permitindo que você monitore continuamente a atividade em todas as suas instâncias.

Depois de conectar suas fontes de dados ao Microsoft Sentinel, você pode visualizar e monitorar os dados usando as Pastas de Trabalho do Microsoft Sentinel e do Azure Monitor, que fornecem versatilidade na criação de painéis personalizados.

Monitoramento de cluster e carga de trabalho do AKS

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

Level Description Requisitos de monitorização
Componentes de nível de cluster Conjuntos de escala de máquina virtual abstraídos como nós AKS e pools de nós Status do nó e utilização de recursos, incluindo CPU, memória, disco e rede
Componentes AKS gerenciados Componentes do plano de controle AKS, incluindo servidores API, controlador de nuvem e kubelet Controle logs e métricas de plano a partir do kube-system namespace
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
Aplicações Cargas de trabalho de aplicativos em execução no cluster AKS Monitoramento específico para arquitetura, mas incluindo logs de aplicativos e transações de serviço
Externa 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 sua integridade, prontidão, desempenho, utilização de recursos de CPU e memória e tendências.

  • Componentes AKS gerenciados: Você pode usar o Metrics Explorer para visualizar o contador de solicitações de bordo. 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 visualizações Nós e Controladores para exibir a integridade e o desempenho dos pods que estão sendo executados em nós e controladores, e seu consumo de recursos em termos de CPU e memória.

Na visualização Contêineres do Container Insights, 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 exibição e analisar a integridade e o desempenho do contêiner, consulte Monitorar o desempenho do cluster do Kubernetes com o Container Insights.

  • Aplicativos: Você pode usar o Application Insights para monitorar aplicativos que estão sendo executados 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 o Application Insights. 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 gerido para Prometheus do Azure Monitor

O 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 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 é vinculado a um espaço de trabalho do Grafana para que você possa analisar os dados com o Azure Managed Grafana.

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

Azure Managed Grafana

O Azure Managed Grafana é uma plataforma de visualização de dados criada sobre o Grafana. É um serviço do Azure totalmente gerido operado e suportado pela Microsoft. Vários painéis predefinidos do Grafana estão disponíveis para monitorar o Kubernetes e solucionar problemas de pilha completa.

O Azure Managed Grafana é otimizado para o ambiente do Azure e funciona com muitos serviços do Azure e fornece recursos de integração simples. Como alternativa, você também pode implantar o Grafana de forma independente como uma solução autogerenciada. Para obter mais informações, consulte Monitorar seus serviços do Azure no Grafana.

Custos de monitorização AKS

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

Antes de ativar o Container Insights, estime os custos e entenda como controlar a ingestão de dados e seus custos. Para obter orientações detalhadas, consulte Estimativa de custos para monitorar seu cluster AKS.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Principais autores:

Outros contribuidores:

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

Próximos passos