Partilhar via


Monitorar o Serviço 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 Serviço Kubernetes do Azure (AKS) seja um serviço Kubernetes gerenciado, 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 AKS.

Gorjeta

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

Informações

Alguns serviços no Azure têm um painel de monitoramento interno 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.

As informações de contêiner no Azure Monitor coletam métricas personalizadas para nós, pods, contêineres e volumes persistentes. Para obter mais informações, consulte Métricas coletadas pelo Container 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 Azure Monitor OpenTelemetry. Para habilitar o Application Insights sem alterações de código, consulte Autoinstrumentação AKS. Para obter mais informações sobre instrumentação, saiba mais sobre as noções básicas de coleta de dados.

Monitorizar dados

O AKS gera os mesmos tipos de dados de monitoramento que outros recursos do Azure, conforme descrito em Monitorar dados de 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 coletam outros dados e habilitam outras opções de análise, conforme mostrado no diagrama e na tabela a seguir.

Diagrama de dados de monitorização que são recolhidos a partir de AKS.

Origem Descrição
Métricas de plataforma As métricas da plataforma são coletadas automaticamente para clusters AKS sem nenhum custo. Você pode analisar essas métricas usando o explorador de métricas ou usá-las para criar alertas de métricas.
Métricas Prometheus Quando você habilita a raspagem de métricas para seu cluster, o serviço gerenciado do Prometheus no Azure Monitor coleta métricas do Prometheus e as armazena em um espaço de trabalho do Azure Monitor. Analise essas métricas usando painéis predefinidos no Azure Managed Grafana e com alertas do Prometheus.
Registos de atividade O log de atividades do Azure Monitor coleta automaticamente alguns dados para clusters AKS sem nenhum custo. Esses arquivos de log rastreiam informações como quando um cluster é criado ou 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 os dados do log de atividades para um espaço de trabalho do Log Analytics.
Registos do recurso Os logs de plano de controle para AKS são implementados como logs de recursos. Crie uma configuração de diagnóstico para enviar os logs para um espaço de trabalho do Log Analytics. No espaço de trabalho, você pode analisar os logs usando consultas e configurar alertas com base nas informações de log.
Informações de contentores O Container insights coleta vários logs e dados de desempenho de um cluster e os armazena em um espaço de trabalho do Log Analytics e no Azure Monitor Metrics. Analise dados como stdout e stderr fluxos usando exibições e pastas de trabalho no Container insights ou por meio do Log Analytics e do explorador 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 espaço de trabalho do Log Analytics para análise no portal do Azure.

Tipos de recursos

O Azure usa o conceito de tipos de recursos e IDs para identificar tudo em uma assinatura. Os tipos de recursos 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 seus tipos de recursos associados, consulte Provedores de recursos.

O Azure Monitor organiza de forma semelhante os principais dados de monitoramento em métricas e logs com base em tipos de recursos, também chamados de namespaces. Diferentes métricas e logs 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 os 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 este armazenamento.
  • O log de atividades do Azure é um repositório separado com sua própria interface no portal do Azure.

Opcionalmente, você pode rotear dados de métricas e logs de atividades para o repositório de logs do Azure Monitor. Em seguida, você pode 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étrica e log para outros locais de armazenamento fora do Azure Monitor. Os exemplos incluem o Armazenamento do Azure, sistemas de parceiros hospedados e sistemas de parceiros que não são do Azure, usando Hubs de Eventos.

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

Métricas da plataforma Azure Monitor

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

  • Definido individualmente para cada namespace.
  • Armazenado no banco de dados de métricas de séries cronológicas do Azure Monitor.
  • Leve e capaz de suportar alertas quase em tempo real.
  • Usado para acompanhar o desempenho de um recurso ao longo do tempo.

Coleção: o Azure Monitor coleta métricas da plataforma automaticamente. Não é necessária qualquer configuração.

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

Para obter uma lista de todas as métricas que é possível reunir para todos os recursos no Azure Monitor, consulte Métricas suportadas 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 AKS. As métricas da plataforma são capturadas usando o servidor de métricas pré-configurado instalado no espaço de nomes kube-system, que periodicamente recolhe métricas de todos os nós AKS servidos pelo kubelet. Você também deve habilitar o serviço gerenciado para métricas do Prometheus para coletar métricas de contêiner e métricas de objeto do Kubernetes, incluindo o estado de implantação do objeto.

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

Para obter mais informações, consulte Coletar métricas de serviço gerenciado para Prometheus de um cluster AKS.

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

Métricas não baseadas no Azure Monitor

Este 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 AKS. Você habilita esses recursos ao criar um cluster AKS.

No portal do Azure, use o separador Integrações ou utilize a CLI do Azure, Terraform ou a Política do Azure. 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 custos, portanto, consulte as informações de preços de cada componente antes de ativá-lo.

Serviço ou funcionalidade Descrição
Informações sobre contêineres Usa uma versão conteinerizada do Azure Monitor Agent para coletar stdout e stderr registos e eventos do Kubernetes de cada nó no teu cluster. O recurso suporta uma variedade de cenários de monitoramento para clusters AKS. Você pode habilitar o monitoramento para um cluster AKS quando ele é criado usando a CLI do Azure, a Política do Azure, 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 cluster AKS para outras opções para habilitá-lo.

O Container insights armazena a maioria de seus dados em um espaço de trabalho do Log Analytics. Normalmente, você usa o mesmo espaço de trabalho do Log Analytics que os logs de recursos do cluster. Para obter orientação sobre quantos espaços de trabalho você deve usar e onde localizá-los, consulte Criar uma arquitetura de espaço de trabalho do Log Analytics.
Serviço gerenciado para Prometheus no Azure Monitor O Prometheus é uma solução de métricas nativa da nuvem da Cloud Native Computing Foundation. É a ferramenta mais comum a ser usada para coletar e analisar dados métricos 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 AKS para obter outras opções para habilitá-lo.

O serviço gerenciado do Prometheus no Azure Monitor armazena seus dados em um espaço de trabalho do Azure Monitorvinculado a um espaço de trabalho do Grafana. Você pode usar o Azure Managed Grafana para analisar os dados.
Azure Managed Grafana Uma implementação totalmente gerida do Grafana. Grafana é uma plataforma de visualização de dados de código aberto comumente usada para apresentar dados do Prometheus. Vários painéis predefinidos do Grafana estão disponíveis para monitorar o Kubernetes e solucionar problemas de pilha completa. Se você não habilitar o Azure Managed Grafana ao criar seu cluster, consulte Vincular um espaço de trabalho do Grafana. Você pode vinculá-lo ao seu espaço de trabalho do Azure Monitor para que ele possa acessar as métricas do Prometheus do seu cluster.

Monitorar métricas do plano de controle AKS (visualização)

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 para Prometheus no Azure Monitor. Atualmente, este recurso está em pré-visualização. Para obter mais informações, consulte Monitorar métricas do plano de controle AKS. Um subconjunto de métricas de plano de controle para o servidor de API e etcd está disponível gratuitamente por meio das métricas da plataforma 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 informações sobre operações que foram feitas por um recurso do Azure. Os logs são gerados automaticamente, mas você deve roteá-los para os logs do Azure Monitor para salvá-los ou consultá-los. Os logs são organizados em categorias. Um determinado namespace pode ter várias categorias de log de recursos.

Coleção: os logs de recursos não são coletados e armazenados até que você crie uma configuração de diagnóstico e roteie os logs para um ou mais locais. Ao criar uma definição de diagnóstico, especifica as categorias de registos que devem ser recolhidas. Há várias maneiras de criar e manter configurações de diagnóstico, incluindo o portal do Azure, programaticamente e por meio da Política do Azure.

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

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

Para obter uma lista de todas as categorias de log de recursos disponíveis no Azure Monitor, consulte 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 por campos específicos do serviço. O esquema comum é descrito no esquema de log de recursos do Azure Monitor.

Para consultar as categorias de log de recursos disponíveis, as suas tabelas de Log Analytics associadas e os esquemas de log para AKS, consulte a referência de dados de monitorização do AKS.

Logs de recursos do plano de controle AKS

Os logs de plano de controle para clusters 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ê envia logs de recursos para um espaço de trabalho do Log Analytics, onde a maioria dos dados para informações de contêiner é 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 definição de diagnóstico, especifica as categorias de registos que devem ser recolhidas. As categorias para AKS estão listadas na referência de dados de monitoramento AKS.

Advertência

Você pode incorrer em custos consideráveis ao coletar logs de recursos para o AKS, particularmente para logs kube-audit. Considere as seguintes recomendações para reduzir a quantidade de dados coletados:

  • Desative o kube-audit registro quando não for necessário.
  • Habilite a coleta de kube-audit-admin, que exclui os eventos de auditoria get e list.
  • Ative registos específicos de recursos conforme descrito neste artigo e configure a tabela AKSAudit como registos básicos.

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

O AKS suporta o modo de diagnóstico do Azure ou o modo específico de recursos para 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 espaço de trabalho 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 pelos seguintes motivos:

  • Os dados são mais fáceis de consultar porque estão em tabelas individuais dedicadas ao AKS.
  • O modo específico para recursos suporta a configuração como logs básicos para significativas poupanças de custos.

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

Nota

Você pode definir as configurações de diagnóstico usando a CLI do Azure. Não é garantido que essa abordagem seja 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 exemplo

Importante

Quando você seleciona Logs em um menu de cluster 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 Azure Monitor , selecione Logs. Para obter mais informações, consulte Escopo e intervalo de tempo da consulta de log 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
Logs de contagem para cada categoria
(Modo de diagnóstico do Azure)
AzureDiagnostics
| where ResourceType == "MANAGEDCLUSTERS"
| summarize count() by Category
Todos os logs do servidor de 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 de API
(modo específico do recurso)
AKSControlPlane
| where Category == "kube-apiserver"

Para acessar um conjunto de consultas pré-criadas no espaço de trabalho do Log Analytics, consulte a interface de consultas do Log Analytics e selecione o tipo de recurso Serviços Kubernetes . Para obter uma lista de consultas comuns para insights de contêiner, consulte Consultas de insights de contêiner.

Logs de insights do plano de dados AKS para contêineres

O Container insights coleta vários tipos de dados de telemetria de contêineres e clusters AKS para ajudá-lo a monitorar, solucionar problemas e obter informações sobre seus aplicativos em contêineres em execução em seus clusters AKS. Para obter uma lista de tabelas e suas descrições detalhadas usadas pelo Container insights, consulte a referência da tabela do Azure Monitor. Todas as tabelas estão disponíveis para consultas de log.

Use as configurações de otimização de custos 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 das DCRs (Regras de Coleta de Dados do Azure Monitor). Essas configurações controlam o volume de ingestão e reduzem os custos de monitoramento do Container insights. Você pode personalizar os dados coletados do Container insights no portal do Azure usando as seguintes opções. A seleção de quaisquer opções diferentes de Todas (Padrão) torna a experiência de insights do contêiner indisponível.

Agrupamento Tabelas Notas
Tudo (padrão) Todas as tabelas de insights de contêiner padrão Necessário para habilitar as visualizações padrão do Container insights.
Desempenho Perf, InsightsMetrics
Logs e eventos ContainerLog ou ContainerLogV2, KubeEvents, KubePodInventory Recomendado se activaste o serviço gerido para as métricas do Prometheus.
Cargas de trabalho, implantações e HPAs InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices
Volumes persistentes InsightsMetrics, KubePVInventory

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

Esquema ContainerLogV2

As informações 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 para exibir dados relacionados a clusters Kubernetes habilitados para AKS e Azure Arc:

  • Nome do contêiner
  • PodName
  • PodNamespace

Esse esquema é compatível com o plano de dados da tabela de logs básicos, que oferece uma alternativa de baixo custo aos logs de análise padrão. Use o plano de dados da tabela de logs Básicos para economizar no custo de ingestão e armazenamento de logs de alto volume, verbosos no seu espaço de trabalho do Log Analytics para depurar, solucionar problemas e auditar. Isso não afeta os custos de análises e alertas. Para obter mais informações, consulte Gerenciar tabelas em um espaço de trabalho do Log Analytics.

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

Registo de atividades do Azure

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

Coleção: os eventos do log de atividades são gerados e coletados automaticamente em um repositório separado para exibiçã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. Outros locais, como o Armazenamento do Azure, Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft também estão disponíveis. Para obter mais informações sobre como rotear o log de atividades, consulte Visão geral do log de atividades do Azure.

Visualize logs de contêineres, eventos e métricas de pod do AKS em tempo real

Use a funcionalidade de dados em tempo real no Container insights para visualizar logs, eventos e métricas de contentores do AKS. Obtenha acesso direto a kubectl logs -c, a eventos kubectl get e a kubectl top pods para ajudar a solucionar problemas em tempo real.

Nota

O AKS usa arquiteturas de log no nível de cluster do Kubernetes. Os logs de contêiner estão localizados no nó em /var/log/containers. Para aceder a um nó, consulte Ligar-se a nós do cluster AKS.

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

Ver registos em tempo real dos recursos AKS

Nota

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 AKS.
  2. Em Recursos do Kubernetes, selecione Cargas de trabalho.
  3. Para Deployment, Pod, Replica set, Stateful set, Job ou Cron Job, selecione um valor e, em seguida, selecione Live Logs.
  4. Selecione um log de recursos para exibir.

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

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

Ver registos em direto

Você pode visualizar dados de log em tempo real à medida que o motor de contentores os gera no separador Cluster, Nós, Controladores ou Contentores.

  1. No portal do Azure, vá para o cluster AKS.
  2. Em Monitorizar, selecione Informações.
  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.

Nota

Para visualizar os dados do seu espaço de trabalho do Log Analytics, selecione Exibir logs no Log Analytics. Para saber mais sobre como visualizar logs históricos, eventos e métricas, consulte Logs de consulta do Container Insights.

Após a autenticação bem-sucedida, se os dados puderem ser recuperados, eles começarão a ser transmitidos para a guia Live Logs . Os dados de log aparecem 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 Live Logs do contêiner para exibir dados.

Ver eventos ao vivo

Você pode visualizar dados de eventos em tempo real enquanto o motor de contentor os gera na guia Cluster, Nós, Controladores ou Contentores.

  1. No portal do Azure, vá para o cluster AKS.
  2. Em Monitorizar, selecione Informações.
  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.

Nota

Para visualizar os dados do seu espaço de trabalho do Log Analytics, selecione Exibir eventos no Log Analytics. Para saber mais sobre como exibir logs históricos, eventos e métricas, consulte Logs de consulta do Monitoramento de Contêineres.

Após a autenticação bem-sucedida, se os dados puderem ser recuperados, eles começarão a ser transmitidos 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.

Ver métricas

Você pode visualizar dados de métricas em tempo real enquanto o motor de contentores os gera na guia Nós ou Controladores ao selecionar um recurso do pod.

  1. No portal do Azure, vá para o cluster AKS.
  2. Em Monitorizar, selecione Informações.
  3. Selecione o separador Nós ou Controladores e, em seguida, selecione um objeto de pod.
  4. No painel Visão geral do recurso, selecione Métricas em tempo real.

Nota

Para visualizar os dados do seu espaço de trabalho do Log Analytics, selecione Exibir eventos no Log Analytics. Para saber mais sobre como exibir logs históricos, eventos e métricas, consulte Consultar logs de Container insights.

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

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

Analise os 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:

  • Explorador de métricas, uma ferramenta no portal do Azure que permite exibir e analisar métricas para recursos do Azure. Para obter mais informações, consulte Analisar métricas com o explorador de métricas do Azure Monitor.

  • Log Analytics, uma ferramenta no portal do Azure que permite consultar e analisar dados de log usando a linguagem de consulta Kusto (KQL). Para obter mais informações, consulte Introdução às consultas de log no Azure Monitor.

  • O log de atividades, que tem uma interface de usuário no portal do Azure para exibição e pesquisas básicas. Para fazer uma análise mais aprofundada, você precisa rotear os dados para os logs do Azure Monitor e executar consultas mais complexas no Log Analytics.

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

  • Painéis que permitem combinar 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 se destaca em dashboards operacionais. Você pode usar o Grafana para criar painéis que incluem dados de várias fontes diferentes do Azure Monitor.
  • Power BI, um serviço de análise de negócios que fornece visualizações interativas em várias fontes de dados. Você pode configurar o Power BI para importar automaticamente dados de log do Azure Monitor para aproveitar essas visualizações.

Ferramentas de exportação do Azure Monitor

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

  • Métricas: use a API REST para métricas para extrair dados de métricas do banco de dados de métricas do Azure Monitor. A API suporta expressões de filtro para refinar os dados recuperados. Para obter mais informações, consulte Referência da API REST do Azure Monitor.

  • Logs: use a API REST ou as bibliotecas de cliente associadas.

  • Outra opção é a exportação de dados do espaço de trabalho.

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

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

A guia Monitoramento no painel Visão geral do seu recurso de cluster AKS oferece uma maneira rápida de começar a exibir dados de monitoramento no portal do Azure. Esta guia inclui gráficos com métricas comuns para o cluster separados por pool de nós. Você pode selecionar qualquer um desses gráficos para analisar melhor os dados no explorador de métricas.

A guia Monitoramento também inclui links para o serviço gerenciado do Azure para Prometheus e informações de contêiner para o cluster. Você pode habilitar essas ferramentas na guia Monitoramento . Você também pode ver um banner na parte superior do painel que recomenda outros recursos para melhorar o monitoramento do cluster.

Gorjeta

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

Consultas do Kusto

Você pode analisar dados de monitoramento no repositório Azure Monitor Logs / 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 quiser executar uma consulta que inclua dados de outros serviços do Azure, selecione Logs no menu Azure Monitor . Consulte Escopo e intervalo de tempo da consulta de log no Azure Monitor Log Analytics para obter detalhes.

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

Alertas

Os alertas do Azure Monitor notificam proativamente quando condições específicas são encontradas em seus dados de monitoramento. Os alertas permitem-lhe identificar e resolver problemas no seu sistema antes que os seus clientes os percebam. Para obter mais informações, consulte Alertas do Azure Monitor.

Há muitas fontes de alertas comuns para recursos do Azure. Para obter exemplos de alertas comuns para recursos do Azure, consulte Consultas de alerta de log de exemplo. O site Azure Monitor Baseline Alerts (AMBA) fornece um método semiautomatizado de implementação de alertas métricos de plataforma, painéis e diretrizes importantes. O site aplica-se a um subconjunto em contínua expansão dos serviços do Azure, incluindo todos os serviços que fazem parte da Zona de Aterragem do Azure (ALZ).

O esquema de alerta comum padroniza o consumo de notificações de alerta do Azure Monitor. Para obter mais informações, consulte Esquema de alerta comum.

Tipos de alertas

Você pode alertar sobre qualquer fonte de dados de métrica ou log na plataforma de dados do Azure Monitor. Há 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 vários benefícios e desvantagens. Para obter mais informações, consulte Escolher o tipo de alerta de monitoramento correto.

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

  • Os alertas métricos avaliam as métricas de recursos em 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 métricos também podem aplicar várias condições e limites dinâmicos.
  • Os alertas de log permitem que os usuários usem uma consulta do Log Analytics para avaliar logs de recursos em uma frequência predefinida.
  • Os alertas do log de atividades são acionados quando ocorre um novo evento do log de atividades que corresponde às condições definidas. Os alertas de Integridade do Recurso e os alertas de Integridade do Serviço são alertas de log de atividades que relatam a integridade do serviço e do recurso.

Alguns serviços do Azure também suportam alertas de deteção inteligente, alertas Prometheus ou regras de alerta recomendadas.

Para alguns serviços, você pode monitorar em escala aplicando a mesma regra de alerta de métrica 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 serviços e nuvens do Azure com suporte, consulte Monitorar vários recursos com uma regra de alerta.

Para alguns serviços do Azure, você pode habilitar 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 de sinais importantes e limiares para monitorar o recurso.
  • Dados que informam o que os clientes normalmente alertam para esse recurso.

Nota

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

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

Alertas baseados em métricas Prometheus

Ao habilitar a coleta do serviço gerenciado para métricas do Prometheus para seu cluster, você pode baixar uma coleção de regras de alerta recomendadas do serviço gerenciado para o 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 log a partir de Insights de Contentores e Consultar logs de Insights de Contentores.

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

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

A maioria das consultas de log compara o valor DateTime com o tempo presente usando o operador now e voltando no tempo uma hora. Para saber como criar alertas baseados em log, consulte Criar alertas de log a partir de informações de contêiner.

Regras de alerta do AKS

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

Condição Descrição
Percentagem de Utilização da CPU>95 Alerta quando o uso médio da CPU em todos os nós excede o limite.
Percentagem 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, será exibido um alerta 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 Advisor em Monitoramento no menu à esquerda. Durante as operações normais, nenhuma recomendação do consultor é exibida.

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

Nota

Se você estiver criando ou executando um aplicativo executado em seu serviço, o Azure Monitor Application Insights pode oferecer mais tipos de alertas.

Métricas de rede de nós

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

No Kubernetes versão 1.29 e posterior, as métricas de rede do nó são habilitadas por padrão para todos os clusters que têm o Azure Monitor habilitado.

As métricas de rede dos nós seguintes são ativadas por padrão e são agregadas por cada nó. Todas as métricas incluem os rótulos: cluster e instância (nome do nó). Você pode facilmente visualizar essas métricas usando o painel do Managed Grafana em Azure Managed Prometheus>Kubernetes>Rede>Clusters.

Métricas no nível do nó

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

Todas as métricas incluem estes rótulos:

  • cluster
  • instance (nome do nó)

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

O Cilium expõe várias métricas que o Container Network Observability usa:

Nome da métrica Descrição Rótulos extras Linux Windows
cilium_forward_count_total Contagem total de pacotes encaminhados direction
cilium_forward_bytes_total Contagem total de bytes encaminhados direction
cilium_contagem_de_perdas_total Contagem total de pacotes descartados direction, reason
cilium_drop_bytes_total Total de bytes perdidos direction, reason

Para obter métricas detalhadas de nível de pod e DNS, consulte Advanced Container Networking Services.