Partilhar via


Monitorar clusters Kubernetes usando serviços do Azure e ferramentas nativas da nuvem

Este artigo descreve como monitorar a integridade e o desempenho de seus clusters Kubernetes e as cargas de trabalho em execução neles usando o Azure Monitor e os serviços nativos do Azure e da nuvem relacionados. Isso inclui clusters em execução no Serviço Kubernetes do Azure (AKS) ou em outras nuvens, como AWS e GCP. Diferentes conjuntos de orientação são fornecidos para as diferentes funções que normalmente gerenciam componentes exclusivos que compõem um ambiente Kubernetes.

Importante

Este artigo fornece orientação completa sobre como monitorar as diferentes camadas do seu ambiente Kubernetes com base no Serviço Kubernetes do Azure (AKS) ou clusters Kubernetes em outras nuvens. Se você está apenas começando a usar o AKS ou o Azure Monitor, consulte Monitorando o AKS para obter informações básicas sobre como começar a monitorar um cluster AKS.

Camadas e funções do ambiente Kubernetes

A seguir está uma ilustração de um modelo comum de um ambiente Kubernetes típico, começando da camada de infraestrutura até os aplicativos. Cada camada tem requisitos de monitoramento distintos que são abordados por diferentes serviços e normalmente gerenciados por diferentes funções na organização.

Diagrama de camadas do ambiente Kubernetes com funções administrativas relacionadas.

A responsabilidade pelas diferentes camadas de um ambiente Kubernetes e os aplicativos que dependem dele geralmente são abordados por várias funções. Dependendo do tamanho da sua organização, essas funções podem ser desempenhadas por pessoas diferentes ou até mesmo equipes diferentes. A tabela a seguir descreve as diferentes funções, enquanto as seções abaixo fornecem os cenários de monitoramento que cada um normalmente encontrará.

Funções Description
Programador Desenvolver e manter o aplicativo em execução no cluster. Responsável pelo tráfego específico da aplicação, incluindo desempenho e falhas da aplicação. Mantém a confiabilidade da aplicação de acordo com SLAs.
Engenheiro de plataforma Responsável pelo cluster Kubernetes. Provisiona e mantém a plataforma utilizada pelo desenvolvedor.
Engenheiro de redes Responsável pelo tráfego entre cargas de trabalho e qualquer entrada/saída com o cluster. Analisa o tráfego de rede e realiza análise de ameaças.

Seleção de ferramentas de monitorização

O Azure fornece um conjunto completo de serviços com base no Azure Monitor para monitorar a integridade e o desempenho de diferentes camadas de sua infraestrutura do Kubernetes e os aplicativos que dependem dela. Esses serviços trabalham em conjunto para fornecer uma solução de monitoramento completa e são recomendados tanto para o AKS quanto para seus clusters Kubernetes executados em outras nuvens. Você pode ter um investimento existente em tecnologias nativas da nuvem endossado pela Cloud Native Computing Foundation, caso em que você pode optar por integrar as ferramentas do Azure em seu ambiente existente.

Sua escolha de quais ferramentas implantar e sua configuração dependerá dos requisitos de seu ambiente específico. Por exemplo, você pode usar as ofertas gerenciadas no Azure para Prometheus e Grafana, ou pode optar por usar sua instalação existente dessas ferramentas com seus clusters Kubernetes no Azure. Sua organização também pode usar ferramentas alternativas aos insights do Container para coletar e analisar logs do Kubernetes, como Splunk ou Datadog.

Importante

O monitoramento de um ambiente complexo como o Kubernetes envolve a coleta de uma quantidade significativa de telemetria, grande parte da qual incorre em um custo. Você deve coletar apenas dados suficientes para atender às suas necessidades. Isto inclui a quantidade de dados recolhidos, a frequência da recolha e o período de retenção. Se você é muito consciente dos custos, você pode optar por implementar um subconjunto da funcionalidade completa, a fim de reduzir seus gastos com monitoramento.

Engenheiro de redes

O engenheiro de rede é responsável pelo tráfego entre cargas de trabalho e qualquer entrada/saída com o cluster. Eles analisam o tráfego de rede e realizam análises de ameaças.

Diagrama de camadas do ambiente Kubernetes para engenheiro de redes.

Serviços do Azure para administrador de rede

A tabela a seguir lista os serviços que são comumente usados pelo engenheiro de rede para monitorar a integridade e o desempenho da rede que suporta o cluster Kubernetes.

Serviço Description
Observador de rede Conjunto de ferramentas no Azure para monitorar as redes virtuais usadas por seus clusters Kubernetes e diagnosticar problemas detetados.
Análise de tráfego Recurso do Network Watcher que analisa logs de fluxo para fornecer informações sobre o fluxo de tráfego.
Insights da rede Recurso do Azure Monitor que inclui uma representação visual do desempenho e da integridade de diferentes componentes de rede e fornece acesso às ferramentas de monitoramento de rede que fazem parte do Inspetor de Rede.

O Network Insights é habilitado por padrão e não requer configuração. Normalmente, o Inspetor de Rede também é habilitado por padrão em cada região do Azure.

Monitor nível 1 - Rede

A seguir estão os cenários comuns para monitorar a rede.

  • Crie logs de fluxo para registrar informações sobre o tráfego IP que flui através dos grupos de segurança de rede usados pelo cluster e, em seguida, use a análise de tráfego para analisar e fornecer informações sobre esses dados. Você provavelmente usará o mesmo espaço de trabalho do Log Analytics para análise de tráfego que usa para insights de contêiner e seus logs de plano de controle.
  • Usando a análise de tráfego, você pode determinar se algum tráfego está fluindo de ou para quaisquer portas inesperadas usadas pelo cluster e também se algum tráfego está fluindo sobre IPs públicos que não devem ser expostos. Use essas informações para determinar se as regras de rede precisam ser modificadas.
  • Para clusters AKS, use o complemento Network Observability para AKS (visualização) para monitorar e observar o acesso entre serviços no cluster (tráfego leste-oeste).

Engenheiro de plataforma

O engenheiro de plataforma, também conhecido como administrador de cluster, é responsável pelo cluster do Kubernetes em si. Eles provisionam e mantêm a plataforma usada pelos desenvolvedores. Eles precisam entender a integridade do cluster e seus componentes e ser capazes de solucionar quaisquer problemas detetados. Eles também precisam entender o custo para operar o cluster e, potencialmente, ser capazes de alocar custos para diferentes equipes.

Diagrama de camadas do ambiente Kubernetes para engenheiro de plataforma.

Grandes organizações também podem ter um arquiteto de frota, que é semelhante ao engenheiro de plataforma, mas é responsável por vários clusters. Eles precisam de visibilidade em todo o ambiente e devem executar tarefas administrativas em escala. As recomendações à escala estão incluídas nas orientações abaixo. Consulte O que é o Azure Kubernetes Fleet Manager? para obter detalhes sobre como criar um recurso de frota para cenários de vários clusters e em escala.

Serviços do Azure para engenheiro de plataforma

A tabela a seguir lista os serviços do Azure para o engenheiro de plataforma monitorar a integridade e o desempenho do cluster Kubernetes e seus componentes.

Serviço Description
Container Insights Serviço do Azure para clusters Kubernetes habilitados para AKS e Azure Arc que usam uma versão conteinerizada do agente do Azure Monitor para coletar logs stdout/stderr, métricas de desempenho e eventos Kubernetes de cada nó do cluster. Você pode exibir os dados no portal do Azure ou consultá-los usando o Log Analytics. Configure a experiência do Prometheus para usar as visualizações do Container insights com os dados do Prometheus.
Serviço gerenciado do Azure Monitor para Prometheus O Prometheus é uma solução de métricas nativa da nuvem 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 totalmente gerenciada que é compatível com a linguagem de consulta Prometheus (PromQL) e alertas Prometheus e se integra ao Azure Managed Grafana para visualização. Este serviço suporta o seu investimento em ferramentas de código aberto sem a complexidade de gerir o seu próprio ambiente Prometheus.
Kubernetes habilitado para Azure Arc Permite anexar clusters Kubernetes em execução em outras nuvens para que você possa gerenciá-los e configurá-los no Azure. Com o agente Arc instalado, você pode monitorar AKS e clusters híbridos juntos usando os mesmos métodos e ferramentas, incluindo Container insights e Prometheus.
Azure Managed Grafana Implementação totalmente gerenciada do Grafana, que é uma plataforma de visualização de dados de código aberto comumente usada para apresentar Prometheus e outros dados. Vários painéis predefinidos do Grafana estão disponíveis para monitorar o Kubernetes e solucionar problemas de pilha completa.

Configurar o monitoramento para engenheiro de plataforma

As seções abaixo identificam as etapas para o monitoramento completo do seu ambiente Kubernetes usando os serviços do Azure na tabela acima. Opções de funcionalidade e integração são fornecidas para cada uma para ajudá-lo a determinar onde você pode precisar modificar essa configuração para atender às suas necessidades específicas.

O Onboarding Container insights e o Managed Prometheus podem fazer parte da mesma experiência descrita em Habilitar monitoramento para clusters Kubernetes. As seções a seguir descrevem cada uma separadamente para que você possa considerar todas as suas opções de integração e configuração para cada uma.

Habilitar a raspagem de métricas do Prometheus

Importante

Para usar o serviço gerenciado do Azure Monitor para Prometheus, você precisa ter um espaço de trabalho do Azure Monitor. Para obter informações sobre considerações de design para uma configuração de espaço de trabalho, consulte Arquitetura de espaço de trabalho do Azure Monitor.

Habilite a raspagem de métricas do Prometheus pelo serviço gerenciado do Azure Monitor para Prometheus do seu cluster usando um dos seguintes métodos:

  • Selecione a opção Ativar métricas Prometheus ao criar um cluster AKS.
  • Selecione a opção Habilitar métricas do Prometheus ao habilitar Insights de contêiner em um cluster AKS existente ou cluster Kubernetes habilitado para Azure Arc.
  • Habilite para um cluster AKS existente ou cluster Kubernetes habilitado para Arc.

Se você já tiver um ambiente Prometheus que deseja usar para seus clusters AKS, habilite o serviço gerenciado do Azure Monitor para Prometheus e, em seguida, use a gravação remota para enviar dados para seu ambiente Prometheus existente. Você também pode usar a gravação remota para enviar dados do seu ambiente Prometheus autogerenciado existente para o serviço gerenciado do Azure Monitor para Prometheus.

Consulte Configuração de métricas padrão do Prometheus no Azure Monitor para obter detalhes sobre as métricas coletadas por padrão e sua frequência de coleta. Se você quiser personalizar a configuração, consulte Personalizar a raspagem de métricas do Prometheus no serviço gerenciado do Azure Monitor para Prometheus.

Habilitar o Grafana para análise de dados do Prometheus

Nota

Use o Grafana para monitorar seu ambiente Kubernetes se você tiver um investimento existente no Grafana ou se preferir usar painéis do Grafana em vez de insights do Container para analisar seus dados do Prometheus. Se você não quiser usar o Grafana, habilite a experiência do Prometheus no Container insights para que você possa usar as visualizações do Container insights com seus dados do Prometheus.

Crie uma instância do Managed Grafana e vincule-a ao seu espaço de trabalho do Azure Monitor para que você possa usar seus dados do Prometheus como uma fonte de dados. Você também pode executar manualmente essa configuração usando adicionar o serviço gerenciado do Azure Monitor para Prometheus como fonte de dados. Uma variedade de painéis pré-construídos estão disponíveis para monitorar clusters do Kubernetes, incluindo vários que apresentam informações semelhantes às visualizações de insights do contêiner.

Se você tiver um ambiente Grafana existente, poderá continuar a usá-lo e adicionar o serviço gerenciado do Azure Monitor para Prometheus como uma fonte de dados. Você também pode adicionar a fonte de dados do Azure Monitor ao Grafana para usar dados coletados pelo Container insights em painéis personalizados do Grafana. Execute essa configuração se quiser se concentrar nos painéis do Grafana em vez de usar as visualizações e relatórios de insights do contêiner.

Habilitar o Container Insights para coleta de logs

Quando você habilita o Container Insights para seu cluster Kubernetes, ele implanta uma versão em contêiner do agente do Azure Monitor que envia dados para um espaço de trabalho do Log Analytics no Azure Monitor. O Container Insights coleta stdout/stderr de contêiner, logs de infraestrutura e dados de desempenho. Todos os dados de log são armazenados em um espaço de trabalho do Log Analytics, onde podem ser analisados usando Kusto Query Language (KQL).

Consulte Habilitar insights de contêiner para obter pré-requisitos e opções de configuração para integrar seus clusters Kubernetes. Integre usando a Política do Azure para garantir que todos os clusters mantenham uma configuração consistente.

Quando o Container insights estiver habilitado para um cluster, execute as seguintes ações para otimizar sua instalação.

  • Habilite a experiência do Prometheus no Container insights para que você possa usar as visualizações do Container insights com seus dados do Prometheus.
  • Para melhorar sua experiência de consulta com dados coletados pelo Container insights e reduzir os custos de coleta, habilite o esquema ContainerLogV2 para cada cluster. Se você usar logs apenas para solução de problemas ocasionais, considere configurar esta tabela como logs básicos.
  • Use as predefinições de custo descritas em Habilitar configurações de otimização de custos no Container insights para reduzir o custo da ingestão de dados do Container insights, reduzindo a quantidade de dados coletados. Desative a coleta de métricas configurando insights de contêiner para coletar apenas logs e eventos , já que muitos dos mesmos valores de métrica que Prometheus.

Se você tiver uma solução existente para coleta de logs, siga as orientações para essa ferramenta ou habilite o Container insights e use o recurso de exportação de dados do espaço de trabalho do Log Analytics para enviar dados aos Hubs de Eventos do Azure para encaminhar para o sistema alternativo.

Coletar logs de plano de controle para clusters AKS

Os logs para componentes do plano de controle AKS são implementados no Azure como logs de recursos. O Container Insights não usa esses logs, portanto, você precisa criar suas próprias consultas de log para visualizá-las e analisá-las. Para obter detalhes sobre a estrutura e as consultas de log, consulte Como consultar logs do Container Insights.

Crie uma configuração de diagnóstico para cada cluster AKS para enviar logs de recursos para um espaço de trabalho do Log Analytics. Use a Política do Azure para garantir uma configuração consistente em vários clusters.

Há um custo para enviar logs de recursos para um espaço de trabalho, portanto, você deve coletar apenas as categorias de log que pretende usar. Para obter uma descrição das categorias disponíveis para o AKS, consulte Logs de recursos. Comece coletando um número mínimo de categorias e, em seguida, modifique a configuração de diagnóstico para coletar categorias adicionais à medida que suas necessidades aumentam e conforme você entende seus custos associados. Você pode enviar logs para uma conta de armazenamento do Azure para reduzir custos se precisar reter as informações por motivos de conformidade. Para obter detalhes sobre o custo de ingestão e retenção de dados de log, consulte Detalhes de preços do Azure Monitor Logs.

Se você não tiver certeza de quais logs de recursos habilitar inicialmente, use as recomendações a seguir, que se baseiam nos requisitos mais comuns do cliente. Você pode habilitar outras categorias mais tarde, se necessário.

Categoria Habilitar? Destino
kube-apiserver Ativar Área de trabalho do Log Analytics
kube-auditoria Ativar Armazenamento do Azure. Isso mantém os custos a um mínimo, mas mantém os logs de auditoria se forem exigidos por um auditor.
kube-audit-admin Ativar Área de trabalho do Log Analytics
kube-controller-manager Ativar Área de trabalho do Log Analytics
kube-scheduler Desativar
Cluster-Autoscaler Ativar se o dimensionamento automático estiver ativado Área de trabalho do Log Analytics
guarda Ativar se o Microsoft Entra ID estiver ativado Área de trabalho do Log Analytics
Todas as Métricas Desativar, pois as métricas são coletadas no Managed Prometheus Área de trabalho do Log Analytics

Se você tiver uma solução existente para coleta de logs, siga as orientações para essa ferramenta ou habilite o Container insights e use o recurso de exportação de dados do espaço de trabalho do Log Analytics para enviar dados ao hub de eventos do Azure para encaminhar para o sistema alternativo.

Coletar registro de atividades para clusters AKS

As alterações de configuração em seus clusters AKS são armazenadas no registro de atividades. Crie uma configuração de diagnóstico para enviar esses dados para o espaço de trabalho do Log Analytics para analisá-los com outros dados de monitoramento. Não há custo para essa coleta de dados, e você pode analisar ou alertar sobre os dados usando o Log Analytics.

Monitor nível 2 - Componentes de nível de cluster

O nível de cluster inclui os seguintes componentes:

Componente Requisitos de monitorização
Compreenda o status de prontidão e o desempenho do uso de CPU, memória, disco e IP para cada nó e monitore proativamente suas tendências de uso antes de implantar quaisquer cargas de trabalho.

A seguir estão os cenários comuns para monitorar os componentes de nível de cluster.

Informações sobre contêineres

  • Use a visualização Cluster para ver o desempenho dos nós no cluster, incluindo a utilização da CPU e da memória.
  • Use a visualização Nós para ver a integridade de cada nó e a integridade e o desempenho dos pods em execução neles. Para obter mais informações sobre como analisar a integridade e o desempenho do nó, consulte Monitorar o desempenho do cluster Kubernetes com o Container Insights.
  • Em Relatórios, use as pastas de trabalho de Monitoramento de Nó para analisar a capacidade do disco, a E/S do disco e o uso da GPU. Para obter mais informações sobre essas pastas de trabalho, consulte Pastas de trabalho de monitoramento de nós.
  • Em Monitoramento, selecione Pastas de Trabalho e, em seguida , Uso de IP da Sub-rede para ver a alocação e atribuição de IP em cada nó para um intervalo de tempo selecionado.

Painéis Grafana

  • Use o painel pré-construído no Managed Grafana for Kubelet para ver a integridade e o desempenho de cada um.
  • Use painéis do Grafana com valores de métrica Prometheus relacionados ao disco, como node_disk_io_time_seconds_total e windows_logical_disk_free_bytes para monitorar o armazenamento anexado.
  • Vários painéis do Kubernetes estão disponíveis que visualizam o desempenho e a integridade de seus nós com base nos dados armazenados no Prometheus.

Log Analytics

Resolução de problemas

Análise de custos

  • Configure o OpenCost, que é um projeto de sandbox CNCF de código aberto e neutro do fornecedor para entender os custos do Kubernetes, para dar suporte à análise dos custos do cluster. Ele exporta dados de custos detalhados para o armazenamento do Azure.
  • Use dados do OpenCost para detalhar o uso relativo do cluster por diferentes equipes em sua organização para que você possa alocar o custo entre cada uma.
  • Use dados do OpenCost para garantir que o cluster esteja usando toda a capacidade de seus nós empacotando densamente cargas de trabalho, usando menos nós grandes em vez de muitos nós menores.

Monitor nível 3 - Componentes do Kubernetes gerenciados

O nível Kubernetes gerenciado inclui os seguintes componentes:

Componente Monitorização
Servidor de API Monitore o status do servidor de API e identifique qualquer aumento na carga de solicitações e gargalos se o serviço estiver inativo.
Kubelet Monitore o Kubelet para ajudar a solucionar problemas de gerenciamento de pods, pods não iniciando, nós não prontos ou pods sendo mortos.

A seguir estão os cenários comuns para monitorar seus componentes gerenciados do Kubernetes.

Informações sobre contêineres

  • Em Monitoramento, selecione Métricas para exibir o contador de solicitações a bordo.
  • Em Relatórios, use a pasta de trabalho do Kubelet para ver a integridade e o desempenho de cada kubelet. Para obter mais informações sobre essas pastas de trabalho, consulte Pastas de trabalho de monitoramento de recursos.

Grafana

  • Use o painel pré-construído no Managed Grafana for Kubelet para ver a integridade e o desempenho de cada kubelet.
  • Use um painel como o servidor de api do Kubernetes para obter uma visão completa do desempenho do servidor de API. Isso inclui valores como latência de solicitação e tempo de processamento da fila de trabalho.

Log Analytics

  • Use consultas de log com logs de recursos para analisar logs de plano de controle gerados por componentes do AKS.

  • Todas as atividades de configuração do AKS são registradas no registro de atividades. Ao enviar o log de atividades para um espaço de trabalho do Log Analytics, você pode analisá-lo com o Log Analytics. Por exemplo, a consulta de exemplo a seguir pode ser usada para retornar registros que identifiquem uma atualização bem-sucedida em todos os clusters AKS.

    AzureActivity
    | where CategoryValue == "Administrative"
    | where OperationNameValue == "MICROSOFT.CONTAINERSERVICE/MANAGEDCLUSTERS/WRITE"
    | extend properties=parse_json(Properties_d) 
    | where properties.message == "Upgrade Succeeded"
    | order by TimeGenerated desc
    

Resolução de problemas

  • Para cenários de solução de problemas, você pode acessar logs de kubelet usando o processo descrito em Obter logs de kubelet dos nós de cluster do Serviço Kubernetes do Azure (AKS).

Monitor nível 4 - Objetos e cargas de trabalho do Kubernetes

O nível de objetos e cargas de trabalho do Kubernetes inclui os seguintes componentes:

Componente Requisitos de monitorização
Implementações Monitore o estado real versus desejado da implantação e o status e a utilização de recursos dos pods em execução neles.
Pods Monitore o status e a utilização de recursos, incluindo CPU e memória, dos pods em execução no cluster AKS.
Contentores Monitore a utilização de recursos, incluindo CPU e memória, dos contêineres em execução no cluster AKS.

A seguir estão cenários comuns para monitorar seus objetos e cargas de trabalho do Kubernetes.

Informações sobre contêineres

  • Use as visualizações Nós e Controladores para ver a integridade e o desempenho dos pods em execução neles e analise detalhadamente a integridade e o desempenho de seus contêineres.
  • Use o modo de exibição Contêineres para ver a integridade e o desempenho dos contêineres. Para obter mais informações sobre como analisar a integridade e o desempenho do contêiner, consulte Monitorar o desempenho do cluster Kubernetes com o Container Insights.
  • Em Relatórios, use a pasta de trabalho Implantações para ver as métricas de implantação. Para obter mais informações, consulte Deployment & HPA metrics with Container Insights.

Painéis Grafana

  • Use os painéis pré-construídos no Managed Grafana for Nodes e Pods para visualizar sua integridade e desempenho.
  • Vários painéis do Kubernetes estão disponíveis que visualizam o desempenho e a integridade de seus nós com base nos dados armazenados no Prometheus.

Dados em tempo real

Alertas para o engenheiro da plataforma

Os alertas no Azure Monitor notificam proativamente sobre dados e padrões interessantes em seus dados de monitoramento. Permitem-lhe identificar e resolver problemas no seu sistema antes que os seus clientes reparem neles. Se você tiver uma solução ITSM existente para alertas, poderá integrá-la ao Azure Monitor. Você também pode exportar dados do espaço de trabalho para enviar dados do espaço de trabalho do Log Analytics para outro local que ofereça suporte à sua solução de alerta atual.

Tipos de alerta

A tabela a seguir descreve os diferentes tipos de regras de alerta personalizadas que você pode criar com base nos dados coletados pelos serviços descritos acima.

Tipo de alerta Description
Alertas do Prometheus Os alertas do Prometheus são escritos em Prometheus Query Language (Prom QL) e aplicados nas métricas do Prometheus armazenadas nos serviços gerenciados do Azure Monitor para Prometheus. Os alertas recomendados já incluem os alertas Prometheus mais comuns e pode criar regras de alerta adicionais conforme necessário.
Regras de alerta de métricas As regras de alerta de métricas usam os mesmos valores de métrica que o explorador de métricas. Na verdade, você pode criar uma regra de alerta diretamente do explorador de métricas com os dados que está analisando no momento. As regras de alerta métrico podem ser úteis para alertar sobre o desempenho do AKS usando qualquer um dos valores nas métricas de referência de dados do AKS.
Regras de alerta de pesquisa de log Use regras de alerta de pesquisa de log para gerar um alerta a partir dos resultados de uma consulta de log. Para obter mais informações, consulte Como criar alertas de pesquisa de log do Container Insights e Como consultar logs do Container Insights.

Comece com um conjunto de alertas Prometheus recomendados das regras de alerta de métrica em Insights de contêiner (visualização), que incluem as condições de alerta mais comuns para um cluster do Kubernetes. Você pode adicionar mais regras de alerta mais tarde à medida que identifica condições de alerta adicionais.

Programador

Além de desenvolver o aplicativo, o desenvolvedor mantém o aplicativo em execução no cluster. Eles são responsáveis pelo tráfego específico do aplicativo, incluindo desempenho e falhas do aplicativo, e mantêm a confiabilidade do aplicativo de acordo com SLAs definidos pela empresa.

Diagrama de camadas do ambiente Kubernetes para desenvolvedor.

Serviços do Azure para desenvolvedores

A tabela a seguir lista os serviços que são comumente usados pelo desenvolvedor para monitorar a integridade e o desempenho do aplicativo em execução no cluster.

Serviço Description
Application Insights Recurso do Azure Monitor que fornece monitoramento de desempenho de aplicativos (APM) para monitorar aplicativos em execução em seu cluster Kubernetes desde o desenvolvimento, passando pelo teste e até a produção. Identifique e atenue rapidamente problemas de latência e confiabilidade usando rastreamentos distribuídos. Suporta OpenTelemetry para instrumentação neutra do fornecedor.

Consulte Noções básicas de coleta de dados do Azure Monitor Application Insights para obter opções sobre como configurar a coleta de dados do aplicativo em execução em seu cluster e critérios de decisão sobre o melhor método para seus requisitos específicos.

Monitor nível 5 - Aplicação

A seguir estão os cenários comuns para monitorar seu aplicativo.

Desempenho do aplicativo

  • Use a visualização Desempenho no Application insights para exibir o desempenho de diferentes operações em seu aplicativo.
  • Use o .NET Profiler para capturar e exibir rastreamentos de desempenho para seu aplicativo.
  • Use o Mapa do Aplicativo para exibir as dependências entre os componentes do aplicativo e identificar quaisquer gargalos.
  • Habilite o rastreamento distribuído, que fornece um criador de perfil de desempenho que funciona como pilhas de chamadas para arquiteturas de nuvem e microsserviços, para obter melhor observabilidade na interação entre serviços.

Falhas de aplicações

  • Use a guia Falhas do Application insights para exibir o número de solicitações com falha e as exceções mais comuns.
  • Certifique-se de que os alertas de anomalias de falha identificadas com a deteção inteligente estejam configurados corretamente.

Monitorização do estado de funcionamento

  • Crie um teste de disponibilidade no Application insights para criar um teste recorrente para monitorar a disponibilidade e a capacidade de resposta do seu aplicativo.
  • Use o relatório de SLA para calcular e relatar o SLA para testes da Web.
  • Use anotações para identificar quando uma nova compilação é implantada para que você possa inspecionar visualmente qualquer alteração no desempenho após a atualização.

Logs de aplicativos

  • O Container insights envia logs stdout/stderr para um espaço de trabalho do Log Analytics. Consulte Logs de recursos para obter uma descrição dos diferentes logs e Serviços do Kubernetes para obter uma lista das tabelas para as quais cada um é enviado.

Malha de serviço

  • Para clusters AKS, implante o complemento de malha de serviço baseado em Istio, que fornece observabilidade à sua arquitetura de microsserviços. O Istio é uma malha de serviço de código aberto que coloca camadas transparentes em aplicativos distribuídos existentes. O add-on auxilia na implantação e gerenciamento do Istio para AKS.

Consulte também

  • Consulte Monitoramento do AKS para obter orientações sobre o monitoramento específico do Serviço Kubernetes do Azure (AKS).