Compartilhar via


Monitorar o Serviço de Kubernetes do Azure

A plataforma Kubernetes é um sistema complexo e distribuído. Você deve monitorar sua implantação do Kubernetes em vários níveis. Embora o AKS (Serviço de Kubernetes do Azure) seja um serviço gerenciado do Kubernetes, o mesmo rigor é necessário para monitorar sua implantação em vários níveis. Este artigo fornece informações de alto nível e práticas recomendadas para monitorar um cluster do AKS.

Dica

Você pode usar o Microsoft Copilot no Azure para configurar o monitoramento em seus clusters do AKS no portal do Azure. Para obter mais informações, consulte Trabalhar com clusters AKS com eficiência usando o Microsoft Copilot no Azure.

Inspirações

Alguns serviços no Azure têm um painel de monitoramento integrado no portal do Azure que fornece um ponto de partida para monitorar seu serviço. Esses painéis são chamados de insights e você pode encontrá-los no Hub de Insights do Azure Monitor no portal do Azure.

Os Insights de Contêiner do Azure Monitor coletam métricas personalizadas de nós, pods, contêineres e volumes persistentes. Para mais informações, consulte Métricas coletadas pelo Conteiner insights.

O Application Insights ajuda você a monitorar o desempenho do aplicativo. Para habilitar o Application Insights com alterações de código, consulte Habilitar o OpenTelemetry do Azure Monitor. Para habilitar o Application Insights sem alterações de código, consulte a Autoinstrumentação do AKS. Para obter mais informações sobre instrumentação, saiba mais sobre as noções básicas de coleta de dados.

Dados de monitoramento

O AKS gera os mesmos tipos de dados de monitoramento que outros recursos do Azure, conforme descrito nos dados do Monitor dos recursos do Azure. Para obter informações detalhadas sobre as métricas e logs criados pelo AKS, consulte a referência de dados de monitoramento do AKS.

Outros serviços e recursos do Azure coletar outros dados e habilitar outras opções de análise, conforme mostrado no diagrama e na tabela a seguir.

Diagrama de dados de monitoramento coletados do AKS.

Fonte Descrição
Métricas de plataforma As métricas de plataforma são coletadas automaticamente para clusters do AKS sem custo. Você pode analisar essas métricas usando o gerenciador de métricas ou usá-las para criar alertas de métrica.
Métricas do Prometheus Quando você habilita a coleta de métricas para seu cluster, o serviço gerenciado para o Prometheus no Azure Monitor coleta métricas do Prometheus e as armazena em um workspace do Azure Monitor. Analise essas métricas usando painéis predefinidos no Azure Managed Grafana junto com alertas do Prometheus.
Logs de atividade O log de atividades do Azure Monitor coleta automaticamente alguns dados para clusters AKS sem custo. Esses arquivos de log rastreiam informações como quando um cluster é criado ou as alterações são feitas em uma configuração de cluster. Para analisar os dados do log de atividades com seus outros dados de log, envie dados do log de atividades para um workspace do Log Analytics.
Logs de recursos Os logs do painel de controle para AKS são implementados como logs de recursos. Crie uma configuração de diagnóstico para enviar os logs para um workspace do Log Analytics. No workspace, você pode analisar os logs usando consultas e configurar alertas com base nas informações de log.
Insights do contêiner Os Insights de Contêiner coletam vários logs e dados de desempenho de um cluster, e os armazenam em um workspace do Log Analytics e nas Métricas do Azure Monitor. A análise de dados, como os fluxos stdout e stderr, usando exibições e pastas de trabalho em Insights de Contêiner ou por meio do Log Analytics e do gerenciador de métricas.
Application Insights O Application Insights, um recurso do Azure Monitor, coleta logs, métricas e rastreamentos distribuídos. A telemetria é armazenada em um workspace do Log Analytics para análise no portal do Azure.

Tipos de recurso

O Azure usa o conceito de tipos de recursos e IDs para identificar tudo em uma assinatura. Os tipos de recurso também fazem parte das IDs de recursos para cada recurso em execução no Azure. Por exemplo, um tipo de recurso para uma máquina virtual é Microsoft.Compute/virtualMachines. Para obter uma lista de serviços e os tipos de recursos associados a eles, confira Provedores de recursos.

O Azure Monitor organiza os principais dados de monitoramento de maneira similar em métricas e logs com base em tipos de recursos, também chamados de namespaces. Métricas e logs diferentes estão disponíveis para diferentes tipos de recursos. Seu serviço pode estar associado a mais de um tipo de recurso.

Para obter mais informações sobre tipos de recursos no AKS, consulte a referência de dados de monitoramento do AKS.

Armazenamento de dados

Para o Azure Monitor:

  • Os dados de métricas são armazenados no banco de dados de métricas do Azure Monitor.
  • Os dados de log são armazenados no repositório de logs do Azure Monitor. O Log Analytics é uma ferramenta no portal do Azure que pode consultar esse repositório.
  • O log de atividades do Azure é um repositório separado com sua própria interface no portal do Azure.

É possível rotear dados de logs de atividades e de métricas para o repositório de logs do Azure Monitor. Em seguida, é possível usar o Log Analytics para consultar os dados e correlacioná-los com outros dados de log.

Muitos serviços podem usar configurações de diagnóstico para enviar dados de métricas e de logs para outros locais de armazenamento fora do Azure Monitor. Os exemplos incluem o Armazenamento do Microsoft Azure, os sistemas de parceiros hospedados e os sistemas de parceiros que não são do Azure usando os Hubs de Eventos.

Para obter informações detalhadas sobre como o Azure Monitor armazena dados, confira Plataforma de dados do Azure Monitor.

Métricas de plataforma do Azure Monitor

O Azure Monitor fornece métricas de plataforma para a maioria dos serviços. Essas métricas são:

  • Definidas individualmente para cada namespace.
  • Armazenadas no banco de dados de métricas da série temporal do Azure Monitor.
  • Leves e capazes de dar suporte a alertas quase em tempo real.
  • Usadas para acompanhar o desempenho de um recurso ao longo do tempo.

Coleta: O Azure Monitor coleta as métricas da plataforma automaticamente. Nenhuma configuração é necessária.

Roteamento: você também pode rotear algumas métricas da plataforma para os logs do Azure Monitor/o Log Analytics para que você possa consultá-las com outros dados de log. Verifique a configuração Exportação de DS para cada métrica para ver se você pode usar uma configuração de diagnóstico para rotear a métrica para o Azure Monitor Logs/Log Analytics.

Para obter uma lista de todas as métricas que é possível coletar para todos os recursos no Azure Monitor, confira Métricas com suporte no Azure Monitor.

Para obter uma lista de métricas que você pode coletar para o AKS, consulte a referência de dados de monitoramento do AKS.

As métricas desempenham um papel importante no monitoramento de clusters, na identificação de problemas e na otimização do desempenho em clusters do AKS. As métricas de plataforma são capturadas usando o servidor de métricas pré-configurado instalado no namespace kube-system, que periodicamente coleta métricas de todos os nós do AKS atendidos pelo kubelet. Você também deve habilitar o serviço gerenciado para as métricas do Prometheus, a fim de coletar métricas de contêiner e métricas dos objetos do Kubernetes, incluindo o estado de implantação dos objetos.

Você pode exibir a lista de serviços gerenciados padrão para métricas do Prometheus.

Para obter mais informações, consulte Serviço Gerenciado para Coleta de Métricas do Prometheus em um Cluster do AKS.

O AKS também expõe métricas de componentes críticos do plano de controle, como o servidor de API etcd, e o agendador por meio do serviço gerenciado do Prometheus. Atualmente, esse recurso está em versão prévia. Para obter mais informações, consulte Monitorar métricas do plano de controle do AKS (versão prévia). Um subconjunto das métricas do plano de controle para o servidor de API e o etcd está disponível gratuitamente por meio das métricas da plataforma do Azure Monitor. As métricas são coletadas por padrão e você pode usar as métricas para criar alertas baseados em métricas.

Métricas não baseadas no Azure Monitor

Esse serviço fornece outras métricas que não estão incluídas no banco de dados de métricas do Azure Monitor.

Você pode usar os seguintes serviços do Azure e recursos do Azure Monitor para monitorar seus clusters do AKS. Você habilita esses recursos ao criar um cluster do AKS.

No portal do Azure, use a guia Integrações ou use a CLI do Azure, o Terraform ou o Azure Policy. Em alguns casos, você pode integrar seu cluster a um serviço ou recurso de monitoramento depois de criar o cluster. Cada serviço ou recurso pode incorrer em custo, portanto, consulte as informações de preço para cada componente antes de habilitá-lo.

Serviço ou recurso Descrição
Insights do contêiner Usa uma versão conteinerizada do Agente do Azure Monitor para coletar logs stdout e stderr, e eventos do Kubernetes de cada nó em seu cluster. O recurso dá suporte a uma variedade cenários de monitoramento para clusters do AKS. Você pode habilitar o monitoramento para um cluster do AKS quando ele for criado usando a CLI do Azure, o Azure Policy, o portal do Azure ou o Terraform. Se você não habilitar insights de contêiner ao criar seu cluster, consulte Habilitar insights de contêiner para o cluster do AKS para outras opções para habilitá-lo.

Os Insights de Contêiner armazenam seus dados em um workspace do Log Analytics. Normalmente, você usa o mesmo workspace do Log Analytics que os logs de recursos do cluster. Para obter diretrizes sobre quantos workspaces você deve usar e onde localizá-los, consulte Criar uma arquitetura de workspace do Log Analytics.
Serviço gerenciado para Prometheus no Azure Monitor O Prometheus é uma solução de métricas nativas de nuvem da Cloud Native Computing Foundation. É a ferramenta mais comum a ser usada para coletar e analisar dados de métrica de clusters do Kubernetes. O serviço gerenciado do Prometheus no Azure Monitor é uma solução de monitoramento totalmente gerenciada compatível com Prometheus. Se você não habilitar o serviço gerenciado para Prometheus ao criar seu cluster, consulte Coletar métricas do Prometheus de um cluster do AKS para obter outras opções para habilitá-lo.

O serviço gerenciado do Prometheus no Azure Monitor armazena seus dados em um workspace do Azure Monitorvinculado a um workspace do Grafana. Você pode usar o Grafana Gerenciado do Azure para analisar os dados.
Espaço Gerenciado do Azure para Grafana Uma implementação totalmente gerenciada do Grafana. O Grafana é 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. Se você não habilitar o Azure Managed Grafana ao criar seu cluster, consulte Vincule um espaço de trabalho Grafana. Você pode vinculá-lo ao workspace do Azure Monitor para que ele possa acessar as métricas do Prometheus do cluster.

Monitorar métricas do plano de controle do AKS (versão prévia)

O AKS também expõe métricas de componentes críticos do plano de controle, como o servidor de API etcd, e o agendador por meio do serviço gerenciado do Prometheus no Azure Monitor. Atualmente, esse recurso está em versão prévia. Para obter mais informações, consulte Monitorar as métricas do plano de controle do AKS. Um subconjunto das métricas do plano de controle para o servidor de API e o etcd está disponível gratuitamente por meio das métricas da plataforma do Azure Monitor. Essas métricas são coletadas por padrão. Você pode usar as métricas para criar alertas.

Logs de recursos do Azure Monitor

Os logs de recursos fornecem insights sobre as operações que foram executadas por um recurso do Azure. Os logs são gerados automaticamente, mas você precisa encaminhá-los para os logs do Azure Monitor para serem salvos ou consultados. Os logs são organizados em categorias. Um determinado namespace pode ter várias categorias de logs de recursos.

Coleta: os logs de recursos não serão coletados nem armazenados enquanto você não criar uma configuração de diagnóstico e encaminhar os logs para um ou mais locais. Ao criar uma configuração de diagnóstico, você especifica quais categorias de logs coletar. Há várias maneiras de criar e manter configurações de diagnóstico, incluindo o portal do Azure, programaticamente e por meio do Azure Policy.

Encaminhamento: O padrão sugerido é encaminhar os logs de recursos para os logs do Azure Monitor para que você possa consultá-los com outros dados de logs. Também estão disponíveis outros locais, como o Armazenamento do Microsoft Azure, os Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft. Para obter mais informações, confira Logs de recursos do Azure e Destinos de logs de recursos.

Para obter informações detalhadas sobre como coletar, armazenar e encaminhar logs de recursos, confira Configurações de diagnóstico no Azure Monitor.

Para obter uma lista de todas as categorias de logs de recursos disponíveis no Azure Monitor, confira Logs de recursos com suporte no Azure Monitor.

Todos os logs de recursos no Azure Monitor têm os mesmos campos de cabeçalho, seguidos de campos específicos do serviço. O esquema comum está descrito em Esquema do log de recursos do Azure Monitor.

Para obter informações sobre as categorias de log de recursos disponíveis, as tabelas do Log Analytics associadas e os esquemas de log para AKS, consulte a referência de dados de monitoramento do AKS.

Logs de recursos do painel de controle do AKS

Os logs do painel de controle para clusters do AKS são implementados como logs de recursos no Azure Monitor. Os logs de recursos não são coletados e armazenados até que você crie uma configuração de diagnóstico para roteá-los para pelo menos um local. Normalmente, você enviará logs de recursos para um workspace do Log Analytics, onde a maioria dos dados dos Insights de Contêiner será armazenada.

Para saber como criar uma configuração de diagnóstico usando o portal do Azure, a CLI do Azure ou o Azure PowerShell, consulte Criar configurações de diagnóstico. Ao criar uma configuração de diagnóstico, você especifica quais categorias de logs coletar. As categorias do AKS estão listadas na referência de dados de monitoramento do AKS.

Aviso

Você pode ter custos significativos ao coletar logs de recursos para o AKS, especialmente os logs de auditoria do Kubernetes kube-audit. Considere as seguintes recomendações para reduzir a quantidade de dados coletados:

  • Desabilite o registro em log kube-audit quando não for necessário.
  • Habilite a coleta de kube-audit-admin, que exclui os eventos de auditoria get e list.
  • Habilite logs específicos do recurso, conforme descrito neste artigo, e configure a tabela AKSAudit como Logs básicos.

Para obter mais recomendações de monitoramento, consulte Monitorar clusters do AKS usando serviços do Azure e ferramentas nativas de nuvem. Para obter estratégias para reduzir os custos de monitoramento, consulte a otimização de custo e o Azure Monitor.

O AKS dá suporte ao modo de diagnóstico do Azure ou ao modo específico do recurso para os logs de recursos. O modo de diagnóstico do Azure envia todos os dados para a tabela AzureDiagnostics. O modo específico do recurso especifica as tabelas no workspace do Log Analytics para onde os dados são enviados. Ele também envia dados para AKSAudit, AKSAuditAdmine AKSControlPlane conforme mostrado na tabela em logs de recursos.

Recomendamos que você use o modo específico de recursos para o AKS por os seguintes motivos:

  • Os dados são mais fáceis de consultar porque estão em tabelas individuais dedicadas ao AKS.
  • O modo específico do recurso dá suporte à configuração como logs básicos para uma economia significativa de custos.

Para obter mais informações sobre a diferença entre os modos de coleção, incluindo como alterar uma configuração existente, consulte Selecionar o modo de coleção.

Observação

Você pode definir as configurações de diagnóstico usando a CLI do Azure. Essa abordagem não tem garantia de ser bem-sucedida porque não verifica o estado de provisionamento do cluster. Depois de alterar as configurações de diagnóstico, verifique se o cluster reflete as alterações de configuração.

az monitor diagnostic-settings create --name AKS-Diagnostics --resource /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myresourcegroup/providers/Microsoft.ContainerService/managedClusters/my-cluster --logs '[{"category": "kube-audit","enabled": true}, {"category": "kube-audit-admin", "enabled": true}, {"category": "kube-apiserver", "enabled": true}, {"category": "kube-controller-manager", "enabled": true}, {"category": "kube-scheduler", "enabled": true}, {"category": "cluster-autoscaler", "enabled": true}, {"category": "cloud-controller-manager", "enabled": true}, {"category": "guard", "enabled": true}, {"category": "csi-azuredisk-controller", "enabled": true}, {"category": "csi-azurefile-controller", "enabled": true}, {"category": "csi-snapshot-controller", "enabled": true}]'  --workspace /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myresourcegroup/providers/microsoft.operationalinsights/workspaces/myworkspace --export-to-resource-specific true

Consultas de log de amostra

Importante

Quando você seleciona Logs em um menu de cluster do AKS, o Log Analytics é aberto com o escopo da consulta definido para o cluster atual. As consultas de log incluem dados somente desse recurso. Para executar uma consulta que inclua dados de outros clusters ou dados de outros serviços do Azure, no menu do Azure Monitor , selecione Logs. Para obter mais informações, consulte Escopo da consulta de log e intervalo de tempo no Log Analytics.

Se as configurações de diagnóstico do cluster usarem o modo de diagnóstico do Azure, os logs de recursos do AKS serão armazenados na tabela AzureDiagnostics . Identifique os logs por meio da coluna Categoria . Para obter uma descrição de cada categoria, consulte Logs de recursos de referência do AKS.

Descrição Consulta de log
Contar logs para cada categoria
(Modo de diagnóstico do Azure)
AzureDiagnostics
| where ResourceType == "MANAGEDCLUSTERS"
| summarize count() by Category
Todos os logs do servidor da API
(Modo de diagnóstico do Azure)
AzureDiagnostics
| where Category == "kube-apiserver"
Todos os logs kube-audit em um intervalo de tempo
(Modo de diagnóstico do Azure)
let starttime = datetime("2023-02-23");
let endtime = datetime("2023-02-24");
AzureDiagnostics
| where TimeGenerated between(starttime..endtime)
| where Category == "kube-audit"
| extend event = parse_json(log_s)
| extend HttpMethod = tostring(event.verb)
| extend User = tostring(event.user.username)
| extend Apiserver = pod_s
| extend SourceIP = tostring(event.sourceIPs[0])
| project TimeGenerated, Category, HttpMethod, User, Apiserver, SourceIP, OperationName, event
Todos os logs de auditoria
(modo específico do recurso)
AKSAudit
Todos os logs de auditoria, excluindo os eventos de auditoria get e list
(modo específico do recurso)
AKSAuditAdmin
Todos os logs do servidor da API
(modo específico do recurso)
AKSControlPlane
| where Category == "kube-apiserver"

Para acessar um conjunto de consultas predefinidas no workspace do Log Analytics, consulte a interface de consultas do Log Analytics e selecione o tipo de recurso do Kubernetes Services . Para obter uma lista de consultas comuns dos Insights de Contêiner, confira Consultas dos Insights de Contêiner.

Logs dos Insights de Contêiner do plano de dados do AKS

"Container insights coleta vários tipos de dados de telemetria de contêineres e clusters do AKS (Azure Kubernetes Service) para ajudá-lo a monitorar, solucionar problemas e obter insights sobre seus aplicativos em contêineres em execução nos clusters do AKS." Para obter uma lista de tabelas e suas descrições detalhadas usadas pelos insights do Contêiner, confira a Referência de tabela do Azure Monitor. Todas as tabelas estão disponíveis para consultas de log.

Use as configurações de otimização de custo para personalizar e controlar os dados de métricas coletados por meio do agente Container insights. Esse recurso dá suporte às configurações de coleta de dados para seleção de tabela individual, intervalos de coleta de dados e namespaces para excluir a coleta de dados por meio de DCRs (Regras de Coleta de Dados) do Azure Monitor. Essas configurações controlam o volume de entrada de dados e reduzem os custos de monitoramento do Container Insights. Você pode personalizar os dados coletados dos Insights de Contêiner no portal do Azure usando as opções a seguir. Selecionar qualquer opção diferente de Tudo (Padrão) fará com que a experiência dos Insights de Contêiner fique indisponível.

Agrupamento Tabelas Observações
Todos (padrão) Todas as tabelas dos Insights de Contêiner padrão Necessário para habilitar as visualizações de insights de contêiner padrão.
Desempenho Perf, InsightsMetrics
Logs e eventos ContainerLog ou ContainerLogV2, KubeEvents, KubePodInventory Recomendado se você habilitou o serviço gerenciado para métricas do Prometheus.
Cargas de trabalho, implantações e HPAs InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices
Volumes Persistentes InsightsMetrics, KubePVInventory

O agrupamento de logs e eventos captura os logs das tabelas ContainerLog ou ContainerLogV2, KubeEvents e KubePodInventory , mas não das métricas. O caminho recomendado para coletar métricas é habilitar o serviço gerenciado para Prometheus do cluster do AKS e usar o Grafana Gerenciado do Azure para visualização de dados. Para obter mais informações, consulte Gerenciar um workspace do Azure Monitor.

Esquema do ContainerLogV2

Os insights de contêiner no Azure Monitor fornecem um esquema recomendado para logs de contêiner , ContainerLogV2. O formato inclui os seguintes campos para consultas comuns que exibem dados relacionados aos clusters Kubernetes, habilitados por AKS e Azure Arc.

  • ContainerName
  • PodName
  • PodNamespace

Esse esquema é compatível com o plano de dados da tabela Basic logs, que oferece uma alternativa de custo reduzido aos logs de análise padrão. Use o plano de dados da tabela de logs básicos para economizar nos custos de ingestão e armazenamento de logs detalhados de alto volume em seu workspace do Log Analytics, usados para depuração, solução de problemas e auditoria. Isso não afeta os custos para análises e alertas. Para obter mais informações, consulte Gerenciar tabelas em um workspace do Log Analytics.

Recomendamos que você use o esquema padrão ContainerLogV2 se configurar o Container insights por meio da autenticação de identidade gerenciada usando um modelo do Azure Resource Manager (ARM template), Bicep, Terraform, Azure Policy ou o portal do Azure. Para obter mais informações sobre como habilitar ContainerLogV2 por meio do DCR ou do configmap do cluster, consulte Habilitar o esquema ContainerLogV2.

Log de atividades do Azure

O log de atividades contém eventos de nível de assinatura que acompanham as operações de cada recurso do Azure, conforme visto fora desse recurso, por exemplo, criar um recurso ou iniciar uma máquina virtual.

Coleta: Os eventos do log de atividades são gerados automaticamente e coletados em um armazenamento separado para visualização no portal do Azure.

Roteamento: você pode enviar dados de log de atividades para os Logs do Azure Monitor para analisá-los junto com outros dados de log. Também estão disponíveis outros locais, como o Armazenamento do Microsoft Azure, os Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft. Para obter mais informações sobre como encaminhar o log de atividades, confira Visão geral do log de atividades do Azure.

Exibir logs de contêiner do AKS, eventos e métricas de pods em tempo real

Use o recurso de dados dinâmicos nos Insights de Contêiner para exibir logs de contêiner do AKS, eventos e métricas de pod. Obtenha acesso direto a kubectl logs -c, eventos kubectl get e kubectl top pods para ajudar a solucionar problemas em tempo real.

Observação

O AKS usa arquiteturas de registro em log de cluster do Kubernetes. Os logs de contêiner estão localizados em /var/log/containers no nó. Para acessar um nó, consulte Conectar aos nós do cluster AKS.

Para saber como configurar esse recurso, consulte Configurar dados dinâmicos em insights de contêiner. O recurso acessa diretamente a API do Kubernetes. Para obter mais informações sobre o modelo de autenticação, consulte a API do Kubernetes.

Exibir logs dinâmicos de recursos do AKS

Observação

Para acessar logs de um cluster privado, você deve usar um computador que esteja na mesma rede privada que o cluster.

  1. No portal do Azure, vá para o cluster do AKS.
  2. Em Recursos do Kubernetes, selecione Cargas de trabalho.
  3. Para Implantação, Pod, Conjunto de Réplicas, Conjunto com Estado, Trabalho ou Trabalho Cron, selecione um valor e, em seguida, selecione Logs Dinâmicos.
  4. Selecione um log de recursos a ser exibido.

O exemplo a seguir mostra os logs de um recurso do pod:

Captura de tela que mostra a implantação de logs dinâmicos.

Exibir logs em tempo real

Você pode visualizar dados de logs em tempo real à medida que o mecanismo de contêiner os gera na guia de Cluster, Nós, Controladores ou Contêineres.

  1. No portal do Azure, vá para o cluster do AKS.
  2. Em Monitoramento, selecione Insights.
  3. Na guia Cluster, Nós, Controladores ou Contêineres , selecione um valor.
  4. No painel Visão geral do recurso, selecione Logs Dinâmicos.

Observação

Para exibir os dados do workspace do Log Analytics, selecione Exibir Logs no Log Analytics. Para saber mais sobre como exibir logs históricos, eventos e métricas, confira Logs de consulta dos Insights de Contêiner.

Após a autenticação bem-sucedida, se os dados puderem ser recuperados, eles começarão a ser transmitidos para a guia Logs Ao Vivo. Os dados de log são exibidos aqui em um fluxo contínuo.

A imagem a seguir mostra os logs de um recurso de contêiner:

Captura de tela que mostra a opção logs dinâmicos do contêiner para exibir dados.

Ver eventos ao vivo

Você pode visualizar dados de eventos em tempo real à medida que o mecanismo de contêiner os gera na guia de Cluster, Nós, Controladores ou Contêineres.

  1. No portal do Azure, vá para o cluster do AKS.
  2. Em Monitoramento, selecione Insights.
  3. Selecione a guia Cluster, Nós, Controladores ou Contêineres e selecione um objeto.
  4. No painel Visão geral do recurso, selecione Eventos Ao Vivo.

Observação

Para exibir os dados do workspace do Log Analytics, selecione Exibir Eventos no Log Analytics. Para saber mais sobre como exibir logs históricos, eventos e métricas, confira Logs de consulta dos Insights de Contêiner.

Após a autenticação bem-sucedida, se os dados puderem ser recuperados, ele começará a transmitir para a guia Eventos Ao Vivo . A imagem a seguir mostra os eventos de um recurso de contêiner:

Captura de tela que mostra a opção eventos ao vivo do contêiner para exibir dados.

Métricas de exibição

Você pode visualizar dados de métricas em tempo real à medida que o mecanismo de contêiner os gera na guia de Nós ou Controladores ao selecionar um recurso de pod.

  1. No portal do Azure, vá para o cluster do AKS.
  2. Em Monitoramento, selecione Insights.
  3. Selecione a guia Nós ou Controladores e, em seguida, selecione um objeto pod.
  4. No painel Visão geral do recurso, selecione Métricas Dinâmicas.

Observação

Para exibir os dados do workspace do Log Analytics, selecione Exibir Eventos no Log Analytics. Para saber mais sobre como exibir logs históricos, eventos e métricas, confira Logs de consulta dos Insights de Contêiner.

Após a autenticação bem-sucedida, se os dados puderem ser recuperados, eles começarão a transmitir para a guia Métricas ao Vivo. A imagem a seguir mostra as métricas de um recurso pod:

Captura de tela que mostra a opção pod Live Metrics para exibir dados.

Analisar dados de monitoramento

Existem muitas ferramentas para analisar dados de monitoramento.

Ferramentas do Azure Monitor

O Azure Monitor dá suporte às seguintes ferramentas básicas:

As ferramentas que permitem uma visualização mais complexa incluem:

  • Painéis, que permitem que você combine diferentes tipos de dados em um único painel no portal do Azure.
  • Pastas de Trabalho, relatórios personalizáveis que você pode criar no portal do Azure. As pastas de trabalho podem incluir texto, métricas e consultas de log.
  • Grafana, uma ferramenta de plataforma aberta que oferece excelência em termos de painéis operacionais. Você pode usar o Grafana para criar painéis que incluem dados de várias fontes além do Azure Monitor.
  • Power BI, um serviço de análises corporativas que fornece visualizações interativas nas diversas fontes de dados. Você pode configurar o Power BI para importar dados de log automaticamente do Azure Monitor a fim de aproveitar essas visualizações.

Ferramentas de exportação do Azure Monitor

Você pode obter dados do Azure Monitor em outras ferramentas usando os seguintes métodos:

Para começar a usar a API REST do Azure Monitor, confira o Passo a passo da API REST do monitoramento do Azure.

Monitorar por meio do painel de visão geral no portal do Azure

A guia Monitoramento no painel Visão Geral do recurso de cluster do AKS oferece uma maneira rápida de começar a exibir dados de monitoramento no portal do Azure. Essa guia inclui grafos com métricas comuns para o cluster separado por pool de nós. Você pode selecionar qualquer um desses grafos para analisar ainda mais os dados no Metrics Explorer.

A guia Monitoramento também inclui links para o serviço gerenciado do Azure para Prometheus e Contêiner Insights para o cluster. Você pode habilitar essas ferramentas na guia Monitoramento . Você também pode ver uma faixa na parte superior do painel que recomenda outros recursos para melhorar o monitoramento do cluster.

Dica

Para acessar recursos de monitoramento para todos os clusters do AKS em sua assinatura, na home page do portal do Azure, selecione o Azure Monitor.

Consultas do Kusto

Você pode analisar dados de monitoramento no repositório Logs do Azure Monitor / Log Analytics usando a Linguagem de Consulta Kusto (KQL).

Importante

Quando você seleciona Logs no menu do serviço no portal, o Log Analytics é aberto com o escopo da consulta definido para o serviço atual. Esse escopo significa que as consultas de log incluirão apenas dados desse tipo de recurso. Se você quiser executar uma consulta que inclua dados de outros serviços do Azure, selecione Logs no menu do Azure Monitor. Confira Escopo da consulta de log e intervalo de tempo no Log Analytics do Azure Monitor para obter detalhes.

Para obter uma lista de consultas comuns para qualquer serviço, confira a Interface de consultas do Log Analytics.

Alertas

Os alertas do Azure Monitor o notificam proativamente quando condições específicas são encontradas em seus dados de monitoramento. Os alertas permitem que você identifique e resolva problemas no seu sistema antes que os clientes os percebam. Para saber mais, confira Alertas do Azure Monitor.

Existem muitas fontes de alertas comuns para os recursos do Azure. Para obter exemplos de alertas comuns para recursos do Azure, confira Amostra de consultas de alerta de logs. O site do AMBA (Alertas de Linha de Base do Azure Monitor) fornece um método semi-automatizado para a implantação de alertas, painéis e diretrizes de métricas de plataforma importantes. O site se aplica a um subconjunto de serviços do Azure em contínua expansão, incluindo todos os serviços que fazem parte da Zona de Destino do Azure (ALZ).

O esquema de alerta comum padroniza a consumo do Azure Monitor para notificações de alerta no Azure. Para obter mais informações, confira Esquema de alertas comuns.

Tipos de alertas

Você pode receber alertas sobre qualquer fonte de dados de log ou métrica na plataforma de dados do Azure Monitor. Existem muitos tipos diferentes de alertas dependendo dos serviços que você está monitorando e dos dados de monitoramento que você está coletando. Diferentes tipos de alertas têm diversos benefícios e desvantagens. Para obter mais informações, confira Escolha o tipo de alerta de monitoramento correto para você.

A lista a seguir descreve os tipos de alertas do Azure Monitor que você pode criar:

  • Os Alertas de métricas avaliam as métricas de recursos a intervalos regulares. As métricas podem ser métricas de plataforma, métricas personalizadas, logs do Azure Monitor convertidos em métricas ou métricas do Application Insights. Os alertas de métrica também podem aplicar várias condições e limites dinâmicos.
  • Os alertas de logs permitem que os usuários usem uma consulta do Log Analytics para avaliar os logs de recursos com uma frequência predefinida.
  • Os Alertas do log de atividades são disparados quando ocorre um novo evento de log de atividades que corresponda às condições definidas. Os alertas de integridade de recursos e alertas de integridade de serviços são alertas de log de atividades que relatam a integridade do seu serviço e recurso.

Alguns serviços do Azure também dão suporte a alertas de detecção inteligentes, alertas do Prometheus ou regras de alerta recomendadas.

No caso de alguns serviços, você pode monitorar em larga escala aplicando a mesma regra de alerta de métricas a vários recursos do mesmo tipo que existem na mesma região do Azure. Notificações individuais são enviadas para cada recurso monitorado. Para ver os serviços e as nuvens do Azure com suporte, consulte Monitorar vários recursos com uma regra de alerta.

Para alguns serviços do Azure, você pode habilitar as regras de alerta prontas para uso recomendadas.

O sistema compila uma lista de regras de alerta recomendadas com base em:

  • O conhecimento do provedor de recursos sobre sinais e limites importantes para monitorar o recurso.
  • Dados que informam sobre o que os clientes costumam alertar para esse recurso.

Observação

As regras de alerta recomendadas estão disponíveis para:

  • Máquinas virtuais
  • Recursos do AKS (Serviço de Kubernetes do Azure)
  • Workspaces do Log Analytics

Alertas baseados em métricas do Prometheus

Ao habilitar a coleção do serviço gerenciado para métricas do Prometheus para seu cluster, você pode baixar uma coleção de serviços gerenciados recomendados para regras de alerta do Prometheus.

O download inclui as seguintes regras:

Nível Alertas
Nível do cluster KubeCPUQuotaOvercommit
KubeMemoryQuotaOvercommit
KubeContainerOOMKilledCount
KubeClientErrors
KubePersistentVolumeFillingUp
KubePersistentVolumeInodesFillingUp
KubePersistentVolumeErrors
KubeContainerWaiting
KubeDaemonSetNotScheduled
KubeDaemonSetMisScheduled
KubeQuotaAlmostFull
Nível do nó KubeNodeUnreachable
KubeNodeReadinessFlapping
Nível do pod KubePVUsageHigh
KubeDeploymentReplicasMismatch
KubeStatefulSetReplicasMismatch
KubeHpaReplicasMismatch
KubeHpaMaxedOut
KubePodCrashLooping
KubeJobStale
KubePodContainerRestart
KubePodReadyStateLow
KubePodFailedState
KubePodNotReadyByController
KubeStatefulSetGenerationMismatch
KubeJobFailed
KubeContainerAverageCPUHigh
KubeContainerAverageMemoryHigh
KubeletPodStartUpLatencyHigh

Para obter mais informações, consulte Criar alertas de registro do Container Insights e Consultar registros do Container Insights.

Os alertas de log podem medir dois tipos de informações para ajudá-lo a monitorar cenários diversos:

  • Contagem de resultados: conta o número de linhas retornadas pela consulta. Use essas informações para trabalhar com eventos como logs de eventos do Windows, eventos de syslog e exceções de aplicativo.
  • Cálculo de um valor: faz um cálculo com base em uma coluna numérica. Use essas informações para incluir recursos diversos. Um exemplo é o percentual de CPU.

A maioria das consultas de log compara um valor DateTime com o tempo presente usando o operador now e retrocedendo uma hora. Para saber como criar alertas baseados em log, consulte Criar alertas de log de insights de contêiner.

Regras de alerta do AKS

A tabela a seguir lista algumas regras de alerta sugeridas para o AKS. Esses alertas são apenas exemplos. Você pode definir alertas para qualquer métrica, entrada de log ou entrada de log de atividades listada na referência de dados de monitoramento do AKS.

Condição Descrição
Percentual >95 Alerta quando o uso médio de CPU em todos os nós excede o limite definido.
Porcentagem do conjunto de trabalho de memória>100 Alerta quando o conjunto de trabalho médio em todos os nós excede o limite.

Recomendações do Assistente

Para alguns serviços, se ocorrerem condições críticas ou alterações iminentes durante as operações de recursos, um alerta será exibido na página Visão Geral do serviço no portal. Você pode encontrar mais informações e correções recomendadas para o alerta em Recomendações do Assistente em Monitoramento no menu esquerdo. Durante as operações normais, nenhuma recomendação do assistente será exibida.

Para obter mais informações sobre o Assistente do Azure, confira Visão geral do Assistente do Azure.

Observação

Se você estiver criando ou executando um aplicativo que é executado no seu serviço, o Azure Monitor Application Insights poderá oferecer mais tipos de alertas.

Métricas de rede de nó

As métricas de rede de nós são cruciais para manter um cluster Kubernetes íntegro e com desempenho. Ao coletar e analisar dados sobre o tráfego de rede, você pode obter insights valiosos sobre a operação do cluster e identificar possíveis problemas antes que eles levem a interrupções ou perda de desempenho.

A partir da versão 1.29 do Kubernetes, as métricas de rede dos nós são habilitadas por padrão em todos os clusters que têm o Azure Monitor habilitado.

As métricas de rede de nó a seguir são habilitadas por padrão e são agregadas por nó. Todas as métricas incluem o cluster de rótulos e a instância (nome do nó). Você pode visualizar facilmente essas métricas usando o painel do Grafana Gerenciado, em Prometheus Gerenciado do Azure>Kubernetes>Rede>Clusters.

Métricas no nível do nó

As métricas a seguir são agregadas por nó.

Métricas no nível do nó

Todas as métricas incluem estes rótulos:

  • cluster
  • instance (nome do nó)

Para cenários de plano de dados do Cilium, o recurso de Observabilidade de Rede de Contêiner fornece métricas apenas para Linux. Atualmente, o Windows não tem suporte para métricas de Observabilidade de Rede de Contêiner.

O Cilium expõe várias métricas que a Observabilidade da Rede de Contêiner usa:

Nome da métrica Descrição Rótulos adicionais Linux Windows
cilium_forward_count_total Número total de pacotes encaminhados direction
cilium_forward_bytes_total Número total de bytes encaminhados direction
cilium_drop_count_total Número total de pacotes descartados direction, reason
cilium_drop_bytes_total Número total de bytes descartados direction, reason

Desabilitando a Coleção de Métricas de Rede do Nó

Você pode desabilitar a coleta de métricas de rede em nós específicos adicionando o rótulo networking.azure.com/node-network-metrics=disabled a esses nós.

Observação

A Retina tem uma tolerância operator: "Exists"effect: NoSchedule, então ignorará os taints de NoSchedule. Portanto, os rótulos são usados em vez de taints para controlar o agendamento.

Se o cluster estiver provisionando/dimensionando automaticamente os nós, o usuário precisará habilitar manualmente o sinalizador em cada nó.

Importante

Esse recurso não será aplicável se o ACNS (Serviços Avançados de Rede de Contêineres) estiver habilitado em seu cluster.

Para desabilitar a coleção de métricas em um nó:

kubectl label node <node-name> networking.azure.com/node-network-metrics=disabled

Para obter métricas detalhadas de pod e DNS, consulte Serviços avançados de rede de contêiner.