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.
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:
- Ketan Chawda - Brasil | Engenheiro de Clientes Sênior
- Paolo Salvatori - Brasil | Engenheiro de Serviços Principal
- Laura Nicolas - Brasil | Engenheiro de Software Sênior
Outros contribuidores:
- Chade Kittel - Brasil | Engenheiro de Software Principal
- Ed Preço | Gerente de Programa de Conteúdo Sênior
- Theano Petersen - Brasil | Redator Técnico
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
- AKS para profissionais do Amazon EKS
- Gerenciamento de identidade e acesso do Kubernetes
- Acesso seguro à rede do Kubernetes
- Opções de armazenamento para um cluster Kubernetes
- Gestão de custos para Kubernetes
- Gerenciamento de nós e pool de nós do Kubernetes
- Governança de cluster
Recursos relacionados
- Usar o escopo do link privado do Azure Monitor
- Monitorar o Serviço Kubernetes do Azure (AKS) com o Azure Monitor
- Referência de dados de monitoramento do AKS
- Visão geral do Container Insights
- Habilitar o Container Insights
- Registos de recursos AKS
- Configurar a raspagem de métricas do Prometheus com o Container Insights
- Como consultar logs do Container Insights
- Fonte de dados do Azure Monitor para Grafana
- Monitorar e fazer backup de recursos do Azure
- Soluções de instrumentos para suportar o monitoramento e o registro em log
- Projetar uma solução para registrar e monitorar recursos do Azure
- Monitore o uso, o desempenho e a disponibilidade de recursos com o Azure Monitor