Partilhar via


Monitorizar o Azure Kubernetes Service (AKS)

A monitorização AKS requer múltiplos níveis de observabilidade em métricas de plataforma, métricas Prometheus, registos de atividade, registos de recursos e informações sobre contentores. O AKS oferece capacidades de monitorização integradas e integra-se com o Azure Monitor, Container Insights, serviço gerido para Prometheus e Azure Managed Grafana para monitorização abrangente da saúde e desempenho do cluster.

Gorjeta

Pode usar o Azure Copilot para configurar a monitorização nos seus clusters AKS no portal Azure. Para mais informações, consulte Trabalhar com clusters AKS de forma eficiente usando o Azure Copilot.

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.

Dados de monitorização do AKS: métricas, registos, integrações

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. Pode analisar estas 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 estas métricas usando dashboards pré-construídos no Azure Managed Grafana e com alertas 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 registo de atividade com os seus outros dados, envie os dados do registo de atividade para um espaço de trabalho de Análise de Registos.
Registos do recurso Os logs de plano de controle para AKS são implementados como logs de recursos. Crie uma definição de diagnóstico para enviar os registos para um espaço de trabalho de Análise de Logs. No espaço de trabalho, pode analisar os registos através de consultas e configurar alertas com base na informação dos registos.
Informações de contentores O Container Insights recolhe vários logs e dados de desempenho de um cluster e armazena-os num espaço de trabalho Log Analytics e em métricas Azure Monitor. Analisa dados como stdout e stderr fluxos usando vistas e workbooks no Container Insights ou Log Analytics e no 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. 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.

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 pronto a usar instalado no kube-system namespace, que periodicamente extrai 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.

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. Podes ativar a monitorização de um cluster AKS quando este for criado usando o Azure CLI, Azure Policy, o portal 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.

Monitoramento das métricas do plano de controlo do AKS (versão prévia)

Pré-requisitos e âmbito: Esta funcionalidade de pré-visualização está disponível para clusters AKS a correr Kubernetes 1.27 ou posterior e requer que o serviço gerido do Prometheus esteja ativado no seu cluster. Atualmente, a funcionalidade suporta pools de nós Linux e Windows, mas não é compatível com Virtual Machine Availability Sets (VMAS).

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

Pré-requisitos: Requer um espaço de trabalho de Log Analytics na mesma subscrição do seu cluster AKS. Os registos de recursos geram custos de ingestão e retenção no espaço de trabalho de destino. Para otimização de custos, utilize o modo específico por recurso e configure o nível de registos básicos para tabelas de auditoria.

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 aprender a criar uma definição de diagnóstico usando o portal Azure, a CLI do Azure ou o Azure PowerShell, consulte Criar definiçõ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 mais recomendações de monitorização, consulte Monitorar clusters AKS usando serviços Azure e ferramentas cloud-native. 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

Pode configurar as definiçõ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 e exemplos de registos de recursos do AKS

Requisitos do âmbito da consulta: Quando seleciona Logs num menu de cluster AKS, o Log Analytics abre com o âmbito da consulta definido para o cluster atual. As consultas de log incluem dados somente desse recurso. Para executar consultas que incluam dados de outros clusters ou serviços Azure, selecione Logs no menu Azure Monitor .

Se as definições de diagnóstico do seu cluster usarem o modo de diagnóstico Azure, os registos de recursos do AKS sã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 Mode Consulta de log
Logs de contagem para cada categoria Azure modo de diagnóstico 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ósticos 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 de recurso AKSAudit
Todos os registos de auditoria, excluindo os eventos de auditoria get e list Modo específico de recurso AKSAuditAdmin
Todos os logs do servidor de API Modo específico de 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

Pré-requisitos e requisitos de configuração: O Container Insights requer um espaço de trabalho de Log Analytics para armazenamento de registos e suporta tanto identidade gerida como métodos de autenticação legados. Para novos clusters, recomenda-se a autenticação de identidade gerida. A recolha de dados pode ser personalizada utilizando as Regras de Recolha de Dados (DCRs) do Azure Monitor para controlar custos e reduzir o volume de ingestão.

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. Pode personalizar os dados recolhidos de insights do Container no portal 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 (predefinição) Todas as tabelas de insights de contêiner padrão Necessário para habilitar as visualizações padrão do Container insights.
Performance Perf, InsightsMetrics N/A
Logs e eventos ContainerLog ou ContainerLogV2, KubeEvents, KubePodInventory Recomendado se activaste o serviço gerido para as métricas do Prometheus.
Cargas de trabalho, implementações e HPAs InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices N/A
Volumes Persistentes InsightsMetrics, KubePVInventory N/A

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

Compatibilidade e requisitos de configuração: O esquema ContainerLogV2 é recomendado para novas implementações de insights de Container utilizando autenticação de identidade gerida através de templates Azure Resource Manager (ARM), Bicep, Terraform, Azure Policy ou o portal Azure. O esquema é compatível com o nível Basic logs para poupança de custos e não afeta a funcionalidade de análises ou alertas. Para obter mais informações sobre como habilitar o ContainerLogV2 por meio do DCR ou configmap do cluster, consulte Habilitar o 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

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

Pré-requisitos e requisitos de configuração: A funcionalidade de dados em tempo real exige que o Container Insights esteja ativado no seu cluster e utiliza acesso direto à API Kubernetes. Para clusters privados, o acesso requer um computador na mesma rede privada que o cluster. A autenticação segue o modelo Kubernetes RBAC e requer permissões apropriadas do cluster.

Pode visualizar registos de contentores, eventos e métricas de pod do AKS usando a funcionalidade de dados em tempo real no Container insights e resolver problemas em tempo real com acesso direto a kubectl logs -c, kubectl get eventos e kubectl top pods.

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

Requisitos de rede de cluster privado: Para aceder a registos de um cluster privado, deve usar um computador que esteja na mesma rede privada do 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.

Visualize registos em tempo real de contentores usando insights de contentores

Autenticação e transmissão de dados: Após a autenticação bem-sucedida, se os dados puderem ser recuperados, começam a ser transmitidos para o separador Live Logs . Os dados de registo aparecem num fluxo contínuo. O acesso alternativo aos registos está disponível através do Ver Registos no Log Analytics para análise histórica.

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.

    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.

Visualize eventos ao vivo no contentor usando o Insights de Contentores.

Streaming e acesso a eventos: Fluxos de dados de eventos em tempo real à medida que o motor de contentores os gera. Os eventos incluem criação de pods, eliminação, operações de escalonamento e condições de erro. Os dados históricos dos eventos estão acessíveis através do Ver Eventos no Log Analytics.

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.

    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.

Veja métricas em direto do pod usando insights do Container

Âmbito e disponibilidade de métricas: Métricas ao vivo estão disponíveis para recursos de pods nos separadores Nós ou Controladores. As métricas incluem utilização de CPU, consumo de memória, E/S de rede e estatísticas do sistema de ficheiros. Métricas históricas estão acessíveis através do View Events in Log Analytics.

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.

    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.

Monitorizar clusters AKS 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

Configurar alertas baseados em métricas Prometheus

Requisitos de download e configuração: As regras de alerta estão disponíveis como modelos ARM descarregáveis ou ficheiros Bicep. Antes de configurar alertas, certifique-se de que o serviço gerido do Prometheus está ativado no seu cluster e que um espaço de trabalho Azure Monitor está devidamente ligado ao seu cluster AKS.

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 um DateTime valor com o tempo presente usando o now operador e recuando 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.

Monitorização das métricas de rede de nós AKS

Requisitos de versão e habilitação: Na versão 1.29 do Kubernetes e posteriores, as métricas de rede de nós estão ativadas por defeito para todos os clusters que têm o Azure Monitor ativado. Para versões anteriores do Kubernetes, deve ativar manualmente a monitorização de rede através da configuração do cluster. Esta funcionalidade requer que o Azure Monitor ou Container Insights estejam configurados no seu cluster.

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.

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ó). Pode facilmente visualizar estas métricas usando o painel Managed Grafana em Azure Managed Prometheus>Kubernetes>Networking>Clusters.

Métricas de rede de nós AKS por tipo de plano de dados

Todas as métricas incluem estes rótulos:

  • cluster
  • instance (nome do nó)

Suporte e limitações do sistema operativo: Para cenários do plano de dados Cilium, a funcionalidade Container Network Observability fornece métricas apenas para pools de nós Linux. Atualmente, o Windows não é suportado para métricas de Observabilidade de Rede de Contêiner. Assegure que o seu cluster tem pools de nós Linux para garantir a disponibilidade total de métricas Cilium.

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 Suportado ✅ Não suportado ❌
cilium_forward_bytes_total Contagem total de bytes encaminhados direction Suportado ✅ Não suportado ❌
cilium_drop_count_total Contagem total de pacotes descartados direction, reason Suportado ✅ Não suportado ❌
cilium_drop_bytes_total Total de bytes perdidos direction, reason Suportado ✅ Não suportado ❌

Desativar a recolha de métricas de nós na rede AKS

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.

Nota

A retina tem uma tolerância operator: "Exists"effect: NoSchedule, por isso ignora NoSchedule defeitos. Portanto, rótulos são usados em vez de manchas para controlar o agendamento.

Se o cluster for autoprovisioning/autoscaling de nós, deve-se ativar manualmente a flag em cada um dos nós.

Importante

Esta funcionalidade não é aplicável se o Advanced Container Networking Services (ACNS) estiver ativado no seu cluster.

Para desabilitar a coleta de métricas em um nó:

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

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