Monitorar clusters do Kubernetes usando serviços do Azure e ferramentas nativas de nuvem
Esse artigo descreve como monitorar a integridade e o desempenho dos clusters do Kubernetes e as cargas de trabalho em execução neles usando o Azure Monitor e os serviços nativos de nuvem e do Azure relacionados. Isso inclui clusters em execução no Serviço de Kubernetes do Azure (AKS) ou em outras nuvens, como AWS e GCP. Diferentes conjuntos de diretrizes são fornecidos para as diferentes funções que normalmente gerenciam componentes exclusivos que compõem um ambiente do Kubernetes.
Importante
Este artigo fornece diretrizes completas sobre como monitorar as diferentes camadas do ambiente do Kubernetes com base em clusters de Serviço de Kubernetes do Azure (AKS) ou clusters Kubernetes em outras nuvens. Se você for iniciante no AKS ou no Azure Monitor, consulte Monitoramento do AKS para obter informações básicas para começar a monitorar um cluster do AKS.
Camadas e funções do ambiente do Kubernetes
Veja a seguir uma ilustração de um modelo comum de um ambiente típico do Kubernetes, começando da camada de infraestrutura por meio de 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.
A responsabilidade pelas diferentes camadas de um ambiente do Kubernetes e os aplicativos que dependem dele normalmente são abordadas por várias funções. Dependendo do tamanho da sua organização, essas funções podem ser executadas 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 deles normalmente encontrará.
Direitos | Descrição |
---|---|
Desenvolvedor | Desenvolva e mantenha o aplicativo em execução no cluster. Responsável pelo tráfego específico do aplicativo, incluindo o desempenho do aplicativo e falhas. Mantém a confiabilidade do aplicativo de acordo com os SLAs. |
Engenheiro de plataforma | Responsável pelo cluster do Kubernetes. Provisiona e mantém a plataforma usada pelo desenvolvedor. |
Engenheiro de rede | Responsável pelo tráfego entre cargas de trabalho e qualquer entrada/saída com o cluster. Analisa o tráfego de rede e executa a análise de ameaças. |
Seleção de ferramentas de monitoramento
O Azure fornece um conjunto completo de serviços com base no Azure Monitor para monitorar a integridade e o desempenho de diferentes camadas da infraestrutura do Kubernetes e os aplicativos que dependem dela. Esses serviços funcionam em conjunto uns com os outros para fornecer uma solução de monitoramento completa e são recomendados tanto para o AKS quanto para os clusters do Kubernetes em execução em outras nuvens. Você pode ter um investimento existente em tecnologias nativas de nuvem endossadas pela Cloud Native Computing Foundation. Nesse caso, você pode optar por integrar as ferramentas do Azure ao seu ambiente existente.
Sua escolha de quais ferramentas implantar e sua configuração dependerá dos requisitos do seu ambiente específico. Por exemplo, você pode usar as ofertas gerenciadas no Azure para Prometheus e Grafana ou pode optar por usar a instalação existente dessas ferramentas com os clusters do Kubernetes no Azure. Sua organização também pode usar ferramentas alternativas para insights de contêiner 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 delas incorrendo em um custo. Você deve coletar apenas dados suficientes para atender às suas necessidades. Isso inclui a quantidade de dados coletados, a frequência da coleta e o período de retenção. Se você estiver muito consciente do custo, poderá optar por implementar um subconjunto da funcionalidade completa para reduzir os gastos de monitoramento.
Engenheiro de rede
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 executam a análise de ameaças.
Serviços do Azure para administrador de rede
A tabela a seguir lista os serviços que normalmente são usados pelo engenheiro de rede para monitorar a integridade e o desempenho do cluster do Kubernetes e seus componentes.
Serviço | Descrição |
---|---|
Observador de Rede | Pacote de ferramentas no Azure para monitorar as redes virtuais usadas pelos clusters do Kubernetes e diagnosticar problemas detectados. |
Análise de tráfego | O recurso de Observador de Rede que analisa logs de fluxo para fornecer insights sobre o fluxo de tráfego. |
Insights de 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 Observador de Rede. |
Os Insights de rede são habilitados por padrão e não exigem nenhuma configuração. O Observador de Rede também normalmente está habilitado por padrão em cada região do Azure.
Nível de monitor 1: Rede
A seguir estão cenários comuns para monitorar a rede.
- Crie logs de fluxo para registrar informações sobre o tráfego IP que flui por meio de grupos de segurança de rede usados pelo cluster e, em seguida, use a análise de tráfego para analisar e fornecer insights sobre esses dados. Você provavelmente usará o mesmo workspace do Log Analytics para análise de tráfego que você usa para insights de contêiner e logs do painel de controle.
- Ao usar a análise de tráfego, você pode determinar se algum tráfego está fluindo para ou de alguma porta inesperada usada pelo cluster e também se algum tráfego está fluindo por IPs públicos que não deveriam ser expostos. Use essas informações para determinar se suas regras de rede precisam de modificação.
- Para clusters do AKS, use o complemento Observabilidade de Rede para AKS (versão prévia) 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 próprio cluster do Kubernetes. 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 problemas detectados. Eles também precisam entender o custo para operar o cluster e, potencialmente, poder alocar custos para equipes diferentes.
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 em escala estão incluídas nas diretrizes abaixo. Confira O que é o Gerenciador de Frota de Kubernetes do Azure? 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 que o engenheiro de plataforma monitore a integridade e o desempenho do cluster do Kubernetes e seus componentes.
Serviço | Descrição |
---|---|
Insights do contêiner | Serviço do Azure para clusters Kubernetes habilitados para AKS e Azure Arc que usam uma versão em contêiner do agente do Azure Monitor para coletar logs stdout/stderr, métricas de desempenho e eventos Kubernetes de cada nó em seu 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 visualizações de insights de contêiner com dados do Prometheus. |
Serviço Gerenciado do Azure Monitor para Prometheus | O Prometheus é uma solução de métricas nativas de nuvem do Cloud Native Compute Foundation e a ferramenta mais comum usada para coletar e analisar dados de métrica de clusters do Kubernetes. O serviço gerenciado para Prometheus do Azure Monitor é uma solução totalmente gerenciada que é compatível com a linguagem de consulta Prometheus (PromQL) e alertas Prometheus e se integra ao Espaço Gerenciado do Azure para Grafana para visualização. Esse serviço dá suporte ao seu investimento em ferramentas de código aberto sem a complexidade de gerenciar seu próprio ambiente do Prometheus. |
Kubernetes habilitado para Azure Arc | Permite anexar clusters do Kubernetes em execução em qualquer lugar para que você possa gerenciá-los e configurá-los no Azure. Com o agente do Arc instalado, você pode monitorar o AKS e os clusters híbridos juntos usando os mesmos métodos e ferramentas, incluindo insights de contêiner e do Prometheus. |
Espaço Gerenciado do Azure para Grafana | Implementação totalmente gerenciada do Grafana, que é uma plataforma de visualização de dados de software livre comumente usada para apresentar dados do Prometheus. Vários painéis predefinidos do Grafana estão disponíveis para monitorar o Kubernetes e a solução de problemas de pilha completa. |
Configurar o monitoramento para engenheiro de plataforma
As seções a seguir identificam as etapas para o monitoramento completo do ambiente do Kubernetes usando os serviços do Azure na tabela acima. As opções de funcionalidade e integração são fornecidas para cada um para ajudá-lo a determinar onde talvez seja necessário modificar essa configuração para atender aos seus requisitos específicos.
A integração de insights de contêiner e o Prometheus Gerenciado podem fazer parte da mesma experiência descrita em Habilitar o monitoramento para clusters do Kubernetes. As seções a seguir descreveram cada uma separadamente para que você possa considerar todas as opções de integração e configuração para cada uma delas.
Configurar a extração de métricas do Prometheus
Importante
Para utilizar o serviço gerenciado do Azure Monitor para o Prometheus, é necessário ter um workspace 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 extração de métricas do Prometheus pelo serviço gerenciado do Azure Monitor para Prometheus do cluster usando um dos seguintes métodos:
- Selecione a opção Habilitar métricas do Prometheus ao criar um cluster do AKS.
- Selecione a opção Habilitar métricas do Prometheus ao habilitar insights de contêiner em um cluster do AKS existente ou cluster do Kubernetes habilitado para Azure Arc.
- Habilitar para um cluster do AKS existente ou cluster do Kubernetes habilitado para Arc.
Se você já tiver um ambiente prometheus que deseja usar para seus clusters do 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 existente do Prometheus. Você também pode usar a gravação remota para enviar dados de seu ambiente do 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 a frequência da coleção. Se você quiser personalizar a configuração, consulte Personalizar a extração de métricas do Prometheus no serviço gerenciado do Azure Monitor para Prometheus.
Habilitar o Grafana para análise de dados do Prometheus
Observação
Use o Grafana para monitorar seu ambiente Kubernetes se você já tiver um investimento existente em Grafana ou se preferir usar painéis do Grafana em vez dos insights de contêiner para analisar seus dados do Prometheus. Se você não quiser usar o Grafana, habilite a experiência do Prometheus nos insights de contêiner para que possa utilizar as visualizações de insights de contêiner com seus dados do Prometheus.
Crie uma instância do Grafana Gerenciado e vincule-a ao workspace do Azure Monitor para que você possa usar seus dados do Prometheus como uma fonte de dados. Você também pode executar essa configuração manualmente usando adicionar o serviço gerenciado para Prometheus do Azure Monitor como fonte de dados. Uma variedade de painéis predefinidos estão disponíveis para monitorar clusters do Kubernetes, incluindo vários que apresentam informações semelhantes como exibições de Insights do contêiner.
Se você tiver um ambiente do Grafana existente, poderá continuar a usá-lo e adicionar o serviço gerenciado do Azure Monitor para o Prometheus como uma fonte de dados. Você também pode adicionar a fonte de dados do Azure Monitor ao Grafana para usar dados coletados por insights de contêiner em painéis personalizados do Grafana. Execute essa configuração se quiser se concentrar nos painéis do Grafana em vez de usar os relatórios e exibições de insights do contêiner.
Habilitar os Insights de Contêiner para coleta de logs
Quando você habilita os Insights de Contêiner para o cluster do Kubernetes, ele implanta uma versão em contêineres do agente do Azure Monitor que envia dados para um workspace do Log Analytics no Azure Monitor. Os insights de contêiner coletam stdout/stderr de contêiner, logs de infraestrutura e dados de desempenho. Todos os dados de log são armazenados em um workspace do Log Analytics em que podem ser analisados por meio da Linguagem de Consulta Kusto (KQL).
Consulte Habilitar insights de contêiner para pré-requisitos e opções de configuração para integrar seus clusters do Kubernetes. Integre usando Azure Policy para garantir que todos os clusters mantenham uma configuração consistente.
Depois que os insights de contêiner estiverem habilitados para um cluster, execute as seguintes ações para otimizar sua instalação.
- Habilite a experiência do Prometheus nos insights de contêiner para que você possa usar as visualizações de insights de contêiner com seus dados do Prometheus.
- Para melhorar sua experiência de consulta com os dados coletados pelos insights do contêiner e reduzir os custos de coleta, habilite o esquema ContainerLogV2 para cada cluster. Se você usar apenas logs para solução de problemas ocasionais, considere configurar essa tabela como logs básicos.
- Use as predefinições de custo descritas em Habilitar configurações de otimização de custo nos insights de contêiner para reduzir o custo da ingestão de dados de insights de contêiner, reduzindo a quantidade de dados coletados. Desabilite a coleta de métricas configurando insights de contêiner para coletar somente logs e eventos, uma vez que muitos dos valores das métricas são os mesmos que os do Prometheus.
Se você tiver uma solução existente para coleta de logs, siga as diretrizes para essa ferramenta ou habilite insights de contêiner e use o recurso de exportação de dados do workspace do Log Analytics para enviar dados para Hubs de Eventos do Azure encaminhar para o sistema alternativo.
Coletar logs do painel de controle para clusters do AKS
Os logs dos componentes do plano de controle do AKS são implementados no Azure como logs de recursos. Atualmente, o Insights do contêiner não usa esses logs e, portanto, você precisa criar suas próprias consultas de log para exibi-las e analisá-las. Para obter detalhes sobre a estrutura e as consultas de log, consulte Como consultar logs do Insights do contêiner.
Crie uma configuração de diagnóstico para que cada cluster do AKS envie os logs de recursos para um workspace do Log Analytics. Use o Azure Policy para garantir uma configuração consistente em vários clusters.
Há custos para enviar logs de recursos para um workspace, 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, depois modifique a configuração de diagnóstico para coletar categorias adicionais à medida que suas necessidades aumentam e conforme você entende os custos associados. Você pode enviar logs para uma conta de armazenamento do Azure a fim de reduzir custos se precisar manter as informações. Para obter detalhes sobre o custo de ingestão e retenção de dados de log, consulte Detalhes de preços dos Logs do Azure Monitor.
Caso não tenha certeza sobre quais logs de recursos habilitar inicialmente, use as recomendações presentes na tabela a seguir, que se baseiam nos requisitos mais comuns do cliente. Você pode habilitar outras categorias posteriormente, se necessário.
Categoria | Habilitar? | Destino |
---|---|---|
kube-apiserver | Habilitar | Espaço de trabalho do Log Analytics |
kube-audit | Habilitar | Armazenamento do Azure. Isso mantém os custos no mínimo, mas mantém os logs de auditoria caso eles sejam requeridos por um auditor. |
kube-audit-admin | Habilitar | Espaço de trabalho do Log Analytics |
kube-controller-manager | Habilitar | Espaço de trabalho do Log Analytics |
kube-scheduler | Desabilitar | |
cluster-autoscaler | Habilitar se o dimensionamento automático estiver habilitado | Espaço de trabalho do Log Analytics |
guard | Habilitar se o Microsoft Entra ID estiver habilitado | Espaço de trabalho do Log Analytics |
AllMetrics | Desabilitar uma vez que as métricas são coletadas no Prometheus Gerenciado | Espaço de trabalho do Log Analytics |
Se você tiver uma solução existente para coleta de logs, siga as diretrizes para essa ferramenta ou habilite insights de contêiner e use o recurso de exportação de dados do workspace do Log Analytics para enviar dados para Hubs de Eventos do Azure encaminhar para o sistema alternativo.
Coletar log de atividades para clusters do AKS
As alterações de configuração nos clusters do AKS são armazenadas no log de atividades. Crie uma configuração de diagnóstico para enviar esses dados ao workspace do Log Analytics para analisá-los com outros dados de monitoramento. Não há nenhum custo para essa coleta de dados e você pode analisar ou alertar sobre os dados usando o Log Analytics.
Monitorar o nível 2: componentes de nível de cluster
O nível do cluster inclui o componente a seguir:
Componente | Requisitos de monitoramento |
---|---|
Nó | Conheça o status de preparação e o desempenho da CPU, da memória, do disco e uso de IP para cada nó e monitore proativamente as tendências de uso deles antes de implantar uma carga de trabalho. |
FOLLOWINGA seguir estão cenários comuns para monitorar os componentes de nível de cluster.
Insights do contêiner
- Use a exibição do Cluster para ver o desempenho dos nós no cluster, incluindo a utilização da CPU e da memória.
- Use a exibiçã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ó, confira Monitorar o desempenho do cluster do Kubernetes com o Insights do contêiner.
- Em Relatórios, use as pastas de trabalho Monitoramento de nó para analisar a capacidade do disco, a E/S do disco e o uso de GPU. Para obter mais informações sobre essas pastas de trabalho, consulte Pastas de trabalho de monitoramento de nós.
- Em Monitoramento, você pode selecionar Pastas de trabalho e, em seguida, Uso de IP da Sub-redepara ver a alocação e a atribuição de IP em cada nó para um intervalo de tempo selecionado.
Painéis do Grafana
- Use o dashboard predefinido no Grafana Gerenciado para Kubelet para ver a integridade e o desempenho de cada um.
- Use painéis do Grafana com valores de métrica do Prometheus relacionados ao disco, como
node_disk_io_time_seconds_total
ewindows_logical_disk_free_bytes
para monitorar o armazenamento anexado. - Vários dashboards do Kubernetes estão disponíveis que visualizam o desempenho e a integridade dos nós com base nos dados armazenados no Prometheus.
Log Analytics
- Selecione a categoria Contêineres na caixa de diálogo consultas do workspace do Log Analytics para acessar consultas de log predefinidas para seu cluster, incluindo a consulta de log de inventário de imagens que recupera dados da tabela ContainerImageInventory preenchida pelos insights de contêiner.
Solução de problemas
- Para cenários de solução de problemas, talvez seja necessário acessar os nós do AKS diretamente para a manutenção ou coleta de log imediata. Para fins de segurança, os nós do AKS não são expostos à Internet, mas você pode usar o comando
kubectl debug
para SSH para os nós do AKS. Para obter mais informações sobre esse processo, confira Conectar SSH aos nós de cluster do AKS (Serviço de Kubernetes do Azure) para manutenção ou solução de problemas.
Análise de custo
- Configure o OpenCost, que é um projeto de área restrita CNCF de código aberto e neutro para entender os custos do Kubernetes, para dar suporte à análise dos custos do cluster. Ele exporta dados de custo detalhados para o armazenamento do Azure.
- Use dados do OpenCost para detalhar o uso relativo do cluster por equipes diferentes em sua organização para que você possa alocar o custo entre cada um.
- Use dados do OpenCost para garantir que o cluster esteja usando a capacidade total de seus nós empacotando cargas de trabalho densamente, usando menos nós grandes em vez de muitos nós menores.
Monitorar o nível 3: componentes do Kubernetes gerenciado
O nível do Kubernetes gerenciado inclui os componentes a seguir:
Componente | Monitoramento |
---|---|
Servidor de API | Monitore o status do servidor da API e identifique qualquer aumento na carga de solicitação e gargalos se o serviço estiver inoperante. |
Kubelet | Monitore o Kubelet para ajudar na solução de problemas de gerenciamento de pods, como pods que não iniciam, nós não prontos ou pods sendo encerrados. |
A seguir estão cenários comuns para monitorar seus componentes do Kubernetes gerenciado.
Insights do contêiner
- Em Monitoramento, selecione Métricas para exibir o contador Solicitações de Voo.
- 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 dashboard predefinido no Grafana Gerenciado para Kubelet para ver a integridade e o desempenho de cada kubelet.
- Use um dashboard como o apiserver do Kubernetes para obter uma exibição completa do desempenho do servidor de API. Isso inclui valores como latência da solicitação e tempo de processamento da fila de trabalho.
Log Analytics
Use consultas de logs 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 log de atividades. Ao enviar o log de atividades para um workspace 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 identificam uma atualização bem-sucedida em todos os clusters do 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
Solução de problemas
- Para cenários de solução de problemas, você pode acessar logs do kubelet usando o processo descrito em Obter logs do kubelet de nós de cluster do AKS (Serviço de Kubernetes do Azure).
Monitorar o nível 4: objetos e cargas de trabalho do Kubernetes
Os objetos do Kubernetes e os níveis de carga de trabalho incluem os componentes a seguir:
Componente | Requisitos de monitoramento |
---|---|
Implantações | Monitore o estado real vs. desejado da implantação e o status e a utilização de recursos dos pods sendo executados neles. |
Pods | Monitore o status e a utilização de recursos, incluindo a CPU e a memória, dos pods sendo executados no cluster do AKS. |
Contêineres | Monitore a utilização de recursos, incluindo a CPU e a memória, dos contêineres sendo executados no cluster do AKS. |
A seguir estão cenários comuns para monitorar seus objetos e cargas de trabalho do Kubernetes.
Insights do contêiner
- Use as exibições Nós e Controladores para ver a integridade e o desempenho dos pods em execução no cluster e para analisar detalhadamente a integridade e o desempenho de seus contêineres.
- Use a 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, confira Monitorar o desempenho do cluster do Kubernetes com o Insights do contêiner.
- Em Relatórios, use a pasta de trabalho Implantações para ver as métricas de implantação. Para obter mais informações, consulte Implantação e métricas de HPA com o Insights do Contêiner.
Painéis do Grafana
- Use os painéis predefinidos no Grafana Gerenciado para Nós e Pods para exibir sua integridade e desempenho.
- Vários dashboards do Kubernetes estão disponíveis que visualizam o desempenho e a integridade dos nós com base nos dados armazenados no Prometheus.
Dados reais
- Em cenários de solução de problemas, os Insights de contêiner fornecem acesso aos logs de contêiner AKS em tempo real (stdout/stderror), eventos e métricas do pod. Para obter mais informações sobre esse recurso, confira Como exibir logs, eventos e métricas de pods do Kubernetes em tempo real.
Alertas para o engenheiro de plataforma
Os Alertas no Azure Monitor notificam você proativamente a respeito de dados e padrões interessantes em seus dados de monitoramento. Eles permitem que você identifique e resolva problemas no seu sistema antes que os clientes os percebam. Se você tiver uma solução ITSM existente para alertas, poderá integrá-la ao Azure Monitor. Você também pode exportar dados do workspace para enviar dados do workspace do Log Analytics para outro local que dê 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 | Descrição |
---|---|
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 o Prometheus. Os alertas recomendados já incluem os alertas mais comuns do Prometheus e você pode criar regras de alerta de adição conforme necessário. |
Regras de alerta de métrica | As regras de alerta de métrica usam os mesmos valores de métrica do Metrics Explorer. Na verdade, você pode criar uma regra de alerta diretamente do Metrics Explorer com os dados que estiver analisando no momento. As regras de alerta de métrica 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 logs | Use regras de alerta de pesquisa de logs para gerar um alerta dos resultados de uma consulta de log. Para obter mais informações, consulte Como criar alertas de pesquisa de logs do Insights do contêiner e Como consultar logs do Insights do contêiner. |
Alertas recomendados
Comece com um conjunto de alertas recomendados do Prometheus das regras de alerta de métrica em Insights de contêiner (versão prévia) 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.
Developer
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 o desempenho e as falhas do aplicativo e mantêm a confiabilidade do aplicativo de acordo com os SLAs definidos pela empresa.
Serviços do Azure para desenvolvedor
A tabela a seguir lista os serviços que são comumente utilizados pelo desenvolvedor para monitorar a integridade e o desempenho do cluster do Kubernetes e dos seus componentes.
Serviço | Descrição |
---|---|
Percepções sobre o aplicativo | Recurso do Azure Monitor que fornece o APM (monitoramento de desempenho do aplicativo) para monitorar aplicativos em execução no cluster do Kubernetes do desenvolvimento, por meio de teste e em produção. Identifique e reduza rapidamente problemas de latência e confiabilidade usando rastreamentos distribuídos. É compatível com OpenTelemetry para instrumentação neutra do fornecedor. |
Consulte Noções básicas de coleta de dados do Application Insights do Azure Monitor 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.
Monitorar o nível 5: Aplicativo
A seguir estão cenários comuns para monitorar seu aplicativo.
Desempenho do aplicativo
- Use o modo de exibição Desempenho no Application Insights para exibir o desempenho de diferentes operações em seu aplicativo.
- Use o .NET Profiler para capturar e visualizar rastreamentos de desempenho do seu aplicativo.
- Use o Mapa de Aplicativos para visualizar as dependências entre os componentes do seu 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 aplicativo
- Use a guia Falhas do Application Insights para exibir o número de solicitações com falha e as exceções mais comuns.
- Verifique se os alertas para anomalias de falha identificadas com detecção inteligente estão configurados corretamente.
Monitoramento de integridade
- Crie um teste de disponibilidade no Application Insights para criar um teste recorrente para monitorar a disponibilidade e a capacidade de resposta do aplicativo.
- Use o relatório de SLA para calcular e relatar o SLA para testes na Web.
- Use anotações para identificar quando um novo build é implantado para que você possa inspecionar visualmente qualquer alteração no desempenho após a atualização.
Logs de aplicativo
- Os insights de contêiner enviam logs stdout/stderr para um workspace do Log Analytics. Consulte os 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 uma é enviada.
Malha de serviço
- Para clusters do AKS, implante o complemento de malha de serviço baseado em Istio que fornece observabilidade à arquitetura de microsserviços. O Istio é uma malha de serviço de código aberto que se sobrepõe de forma transparente aos aplicativos distribuídos existentes. O complemento auxilia na implantação e no gerenciamento do Istio para AKS.
Confira também
- Consulte Monitoramento do AKS para obter diretrizes sobre o monitoramento específico do AKS (Serviço de Kubernetes do Azure).