Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo compara o monitoramento do Serviço Kubernetes do Azure (AKS) e o monitoramento do Amazon Elastic Kubernetes Service (EKS). Ele descreve as opções que você pode usar para monitorar e gerenciar os logs de um cluster AKS e suas cargas de trabalho.
Observação
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 outros serviços do Kubernetes, o Amazon EKS tem dois componentes principais, o plano de controle e os nós de trabalho. Cada camada tem capacidades específicas.
Monitorização do plano de controlo e do 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. Você deve configurar a integração para coletar logs nos seguintes componentes:
- Servidor de API e chamadas de API
- Registos de auditoria e interações de utilizador
- Processos de autenticação
- Atividades do agendador e do controlador
O Amazon EKS expõe métricas do plano de controle no endpoint, no formato de texto Prometheus. O CloudWatch Container Insights coleta e armazena 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 Registrar chamadas de API do Amazon EKS usando o AWS CloudTrail.
Monitoramento da carga de trabalho do Amazon EKS
O CloudWatch Container Insights coleta e agrega métricas e logs de aplicativos em contêineres implantados no EKS. Para implementar o Container Insights no Amazon EKS, use uma versão em contêiner do agente do CloudWatch ou use o AWS Distro for OpenTelemetry como um DaemonSet. Você pode usar o Fluent Bit para enviar logs.
Monitorização e registo de 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.
Descarregue 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 num local central chamado Espaço de Trabalho do Log Analytics. O Azure Monitor processa e analisa as métricas e os logs para fornecer informações e alertas. Para obter mais informações, consulte Monitorar AKS usando o Azure Monitor.
O Container insights é um recurso do Azure Monitor que coleta, indexa e armazena dados gerados pelo cluster AKS. Você pode configurar insights de contêiner para monitorar clusters Kubernetes gerenciados hospedados no AKS. Você também pode monitorar outras configurações de cluster. O Container insights monitora a integridade e o desempenho do AKS e apresenta esses dados por meio de visualizações adaptadas aos ambientes Kubernetes. Semelhante ao EKS, quando você habilita insights de contêiner para seu cluster AKS, ele implanta uma versão em contêiner do agente do Log Analytics. O agente envia dados para o espaço de trabalho do Log Analytics.
O Container insights usa dados de um espaço de trabalho do Log Analytics para potencializar as visualizações no portal do Azure. Considere mudar para o serviço gerenciado do Azure Monitor para Prometheus, que fornece uma abordagem mais barata e eficiente para a coleta de métricas. Você pode usar informações de contêiner para visualizar métricas usando apenas dados gerenciados do Prometheus. Para obter mais informações, consulte Alternar para visualizações gerenciadas do Prometheus para obter informações sobre contêineres.
Para ajudar a garantir o monitoramento abrangente de seus clusters Kubernetes, use os seguintes serviços e recursos do Azure Monitor:
- Serviço gerenciado para Prometheus para coleta de métricas eficaz
- Informações de contêiner para coletar logs
- Azure Managed Grafana para recursos avançados de visualização
Sentinela da Microsoft
O Microsoft Sentinel oferece análises de segurança inteligentes e inteligência contra ameaças em todas as empresas. O Microsoft Sentinel fornece uma solução única para deteção de ataques, visibilidade de ameaças, caça proativa e resposta a ameaças.
Você deve conectar o Microsoft Sentinel com o AKS usando o conector AKS. Em seguida, você pode transmitir seus logs de diagnóstico do AKS para o Microsoft Sentinel para monitorar continuamente a atividade em suas instâncias.
Depois de conectar suas fontes de dados ao Microsoft Sentinel, você pode visualizar e monitorar os dados. As pastas de trabalho do Microsoft Sentinel e do Azure Monitor fornecem versatilidade para criar painéis personalizados.
Monitorização do clúster e da carga de trabalho do AKS
Uma implantação do AKS consiste em componentes no nível de cluster, componentes AKS gerenciados, objetos e cargas de trabalho do Kubernetes, aplicativos e recursos externos. Uma estratégia comum para monitorar um cluster AKS e aplicativos de carga de trabalho consiste nos seguintes requisitos de monitoramento.
Nível | Descrição | Requisitos de monitorização |
---|---|---|
Componentes no nível de cluster | Os conjuntos de escalonamento de máquinas virtuais representam nós AKS e pools de nós | Status do nó e uso de recursos, incluindo CPU, memória, disco e rede |
Componentes AKS gerenciados | Componentes do plano de controle AKS, incluindo servidores API, o controlador de nuvem e kubelet |
Registos e métricas do plano de controlo do namespace kube-system |
Objetos e cargas de trabalho do Kubernetes | Objetos do Kubernetes, como implantações, contêineres e conjuntos de réplicas | Uso de recursos e falhas |
Aplicações | Cargas de trabalho de aplicativos que são executadas no cluster AKS | Monitoramento específico da arquitetura, 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 visualizações e relatórios de insights de contêiner existentes para monitorar componentes no nível de cluster para entender sua integridade, prontidão, desempenho, uso de recursos de CPU e memória e tendências.
Componentes AKS gerenciados: Você pode usar o explorador de métricas do Azure Monitor para exibir 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 visualizações e relatórios de insights de contêiner existentes para monitorar a implantação, controladores, pods e contêineres. Use as visualizações Nós e Controladores para ver a integridade e o desempenho dos pods executados em nós e controladores. Você também pode visualizar seu consumo de recursos em termos de CPU e memória.
A visualização Contêineres mostra a integridade e o desempenho dos contêineres. Ou você pode selecionar um contêiner individual e monitorar seus eventos e logs em tempo real. Para obter mais informações, consulte Monitorar o desempenho do cluster Kubernetes usando informações de contêiner.
Aplicações: Você pode usar o Application Insights para monitorar aplicativos que são 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. Em seguida, você pode 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 Autoinstrumentação para AKS.
Componentes externos: você pode usar os recursos do Azure Monitor para monitorar as soluções de 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 do Azure Monitor para Prometheus
O Prometheus é uma popular solução de monitoramento de métricas de código aberto da Cloud Native Computing Foundation. O Prometheus coleta e analisa 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. Ele armazena dados em um espaço de trabalho do Azure Monitor que se vincula a um espaço de trabalho do Azure Managed Grafana. Você pode usar o Azure Managed Grafana para analisar os dados.
Você pode implantar o Prometheus de forma independente como uma solução autogerenciada dentro de clusters AKS. Para integrar o Prometheus auto-hospedado com o Azure Monitor, configure informações de contêiner para coletar métricas do Prometheus. Você pode expor o endpoint de métricas Prometheus por meio de seus exportadores ou aplicativos pod. O agente conteinerizado para insights de contêiner coleta essas 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 gerenciado que a Microsoft opera e suporta. O Azure Managed Grafana tem painéis Grafana predefinidos para monitorar o Kubernetes e a solução de problemas de pilha completa.
O Azure Managed Grafana é otimizado para o ambiente do Azure, funciona com muitos serviços do Azure e fornece recursos de integração simples. Você também pode implantar o Grafana independentemente 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 que a área de trabalho do Log Analytics ingere todos os dias. O custo varia de acordo com o plano e os períodos de retenção escolhidos.
Antes de habilitar o Container Insights, estime os custos e entenda como controlar a ingestão de dados e seus custos. Para obter mais informações, consulte Estimar custos para monitorar seu cluster AKS.
Contribuidores
A Microsoft mantém este artigo. Os seguintes colaboradores escreveram este artigo.
Principais autores:
- Paolo Salvatori | Engenheiro de Serviço Principal
- Ketan Chawda | Engenheiro de Clientes Sénior
- Laura Nicolas | Arquiteto de Soluções Cloud Sênior
Outros contribuidores:
Chad Kittel | Engenheiro de Software Principal - Azure Patterns & Practices- Ed Price | Gerente de Programa de Conteúdo Senior
- Theano Petersen | Redator Técnico
Para ver perfis não públicos do LinkedIn, faça login no LinkedIn.
Próximos passos
- Usar o Escopo de Link Privado do Azure Monitor
- Habilitar o monitoramento para clusters Kubernetes
- Registos de consulta de informações sobre contenedores
- Fonte de dados do Azure Monitor para Grafana
- Treinamento: monitorar e fazer backup de recursos do Azure
- Treinamento: Solucionar problemas de soluções usando o Application Insights
- Treinamento: projetar uma solução para registrar e monitorar recursos do Azure
- Treinamento: Fundamentos do Azure Monitor