Habilitar monitoramento para clusters do Kubernetes
Este artigo descreve como habilitar o monitoramento completo dos seus clusters do Kubernetes utilizando os seguintes recursos do Azure Monitor:
- Prometheus gerenciado para coleta de métricas
- Insights de contêineres para coleta de logs
- Grafana gerenciado para visualização.
Usando o portal do Azure, você pode habilitar todos os recursos ao mesmo tempo. Você também pode habilitá-los individualmente utilizando a CLI do Azure,o modelo do Azure Resource Manager, Terraform ou Azure Policy. Cada um desses métodos é descrito neste artigo.
Importante
Os clusters do Kubernetes geram muitos dados de log, o que pode resultar em custos significativos se você não for seletivo sobre os logs coletados. Antes de habilitar o monitoramento para seu cluster, consulte os seguintes artigos para garantir que seu ambiente seja otimizado para custo e que você limite sua coleção de logs apenas aos dados necessários:
- Configurar a coleta de dados e a otimização de custos em insights de contêiner usando a regra de coleta de dados
Detalhes sobre como personalizar a coleção de logs depois de habilitar o monitoramento, incluindo o uso de configurações de otimização de custo predefinidas. - Melhores práticas para monitorar o Kubernetes com o Azure Monitor
Práticas recomendadas para monitorar clusters Kubernetes organizados pelos cinco pilares do Azure Well-Architected Framework, incluindo otimização de custos. - Otimização de custos no Azure Monitor
Melhores práticas para configurar todas as funcionalidades do Azure Monitor para otimizar os seus custos e limitar a quantidade de dados que recolhe.
Clusters com suporte
Este artigo fornece orientações de integração para os seguintes tipos de clusters. As diferenças no processo para cada tipo estão destacadas nas seções relevantes.
Pré-requisitos
Permissões
- Para integração,é necessário ter pelo menos acesso de Colaborador ao cluster.
- Para visualizar os dados após o monitoramento ser habilitado, é necessário ter a função de Leitor de Monitoramento ou Colaborador de Monitoramento.
Pré-requisitos do Prometheus gerenciado
- O cluster deve usar a autenticação de identidade gerenciada.
- Os provedores de recursos a seguir devem ser registrados na assinatura do cluster do AKS e no espaço de trabalho do Azure Monitor:
- Microsoft.ContainerService
- Microsoft.insights
- Microsoft.AlertsManagement
- Microsoft.Monitor
- Os seguintes provedores de recursos devem ser registrados na assinatura da assinatura do workspace do Grafana:
- Microsoft.Dashboard
Pré-requisitos dos clusters do Kubernetes habilitados para Arc
- Pré-requisitos para extensões do cluster do Kubernetes habilitado para Azure Arc.
- Verifique os requisitos de firewall, além dos requisitos de rede do Kubernetes habilitados para o Azure Arc.
- Se você já instalou o monitoramento para AKS, verifique se desabilitou o monitoramento antes de continuar a fim de evitar problemas durante a instalação da extensão.
- Se você já instalou o monitoramento em um cluster usando um script sem extensões de cluster, siga as instruções descritas em Desabilitar o monitoramento do seu cluster do Kubernetes para excluir este gráfico do Helm.
Observação
A extensão Kubernetes Habilitada para Arc do Prometheus Gerenciado não é compatível com as seguintes configurações:
- Distribuições do Red Hat Openshift, incluindo o ARO (Red Hat OpenShift no Azure)
- Nós do Windows
Workspaces
A tabela a seguir descreve os workspaces necessários para suportar o Prometheus gerenciado e os Insights de contêiner. Você pode criar cada workspace como parte do processo de integração ou usar um workspace já existente. Confira Criar uma arquitetura de workspace do Log Analytics para obter diretrizes sobre quantos workspaces criar e onde posicioná-los.
Recurso | Workspace | Observações |
---|---|---|
Prometheus Gerenciado | Workspace do Azure Monitor | A permissão Contributor é suficiente para habilitar o complemento para enviar dados para o workspace do Azure Monitor. Você precisará de permissão no nível de Owner para vincular seu Workspace do Azure Monitor para exibir métricas no Espaço Gerenciado do Azure para Grafana. Isso é necessário porque o usuário que executa a etapa de integração precisa ser capaz de fornecer a função Monitoring Reader à Identidade do Sistema de Espaço Gerenciado do Azure para Grafana no Workspace do Azure Monitor para consultar as métricas. |
Insights do contêiner | Espaço de Trabalho do Log Analytics | Você pode anexar um cluster do AKS a um workspace do Log Analytics em uma assinatura diferente do Azure no mesmo locatário do Microsoft Entra, mas precisa usar a CLI do Azure ou um modelo do Azure Resource Manager. No momento, não é possível executar essa configuração com o portal do Azure. Caso esteja conectando um cluster do AKS existente a um workspace do Log Analytics em outra assinatura, o provedor de recursos Microsoft.ContainerService deverá ser registrado na assinatura do workspace do Log Analytics. Para saber mais, confira Registrar provedores de recursos. Para obter uma lista dos pares de mapeamento com suporte a serem usados para o workspace padrão, consulte Mapeamento de regiões para insights de contêiner. |
Grafana gerenciado | Workspace do Espaço Gerenciado do Azure para Grafana | Vincule seu workspace do Grafana ao seu workspace do Azure Monitor para disponibilizar as métricas do Prometheus coletadas do seu cluster nos painéis do Grafana. |
Habilitar Prometheus e Grafana
Use um dos métodos a seguir para habilitar a extração de métricas do Prometheus no seu cluster e ativar o Grafana gerenciado para visualizar as métricas. Confira Vincular um workspace do Grafana para opções de conectar seu workspace do Azure Monitor e o workspace do Espaço Gerenciado do Azure para Grafana.
Observação
Se você tiver um único Recurso do Azure Monitor vinculado a privado, a habilitação do Prometheus não funcionará se o cluster do AKS e o Workspace do Azure Monitor estiverem em regiões diferentes. A configuração necessária para o complemento do Prometheus não está disponível entre regiões devido à restrição de link privado. Para resolver isso, crie um novo DCE no local do cluster do AKS e uma nova DCRA (associação) na mesma região de cluster do AKS. Associe o novo DCE ao cluster do AKS e nomeie a nova associação (DCRA) como configurationAccessEndpoint. Para obter instruções completas sobre como configurar os DCEs associados ao workspace do Azure Monitor para usar um Link Privado para ingestão de dados, confira Habilitar o link privado para monitoramento do Kubernetes no Azure Monitor.
Se você não especificar um workspace do Azure Monitor já existente nos comandos a seguir, será usado o workspace padrão para o grupo de recursos. Se ainda não houver um workspace padrão na região do seu cluster, um novo será criado com um nome seguindo o formato DefaultAzureMonitorWorkspace-<mapped_region>
dentro de um grupo de recursos chamado DefaultRG-<cluster_region>
.
Pré-requisitos
- É necessária a versão 2.49.0 ou superior da CLI do Azure.
- É necessário desinstalar a extensão aks-preview dos clusters do AKS usando o comando
az extension remove --name aks-preview
. - Instale a extensão k8s-extension com o comando
az extension add --name k8s-extension
. - É necessária a extensão k8s versão 1.4.1 ou superior.
Cluster do AKS
Use a opção -enable-azure-monitor-metrics
, az aks create
ou az aks update
(dependendo se você estiver criando um novo cluster ou atualizando um cluster existente) para instalar o complemento de métricas que extrai as métricas do Prometheus.
Comandos de exemplo
### Use default Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group>
### Use existing Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <workspace-name-resource-id>
### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <azure-monitor-workspace-name-resource-id> --grafana-resource-id <grafana-workspace-name-resource-id>
### Use optional parameters
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --ksm-metric-labels-allow-list "namespaces=[k8s-label-1,k8s-label-n]" --ksm-metric-annotations-allow-list "pods=[k8s-annotation-1,k8s-annotation-n]"
Cluster habilitado para Arc
### Use default Azure Monitor workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics
## Use existing Azure Monitor workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id>
### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id>
### Use optional parameters
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id> AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList="pods=[k8s-annotation-1,k8s-annotation-n]" AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist "namespaces=[k8s-label-1,k8s-label-n]"
Qualquer um dos comandos pode usar os parâmetros opcionais a seguir:
- AKS:
--ksm-metric-annotations-allow-list
Arc:--AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList
Lista separada por vírgulas das chaves de anotações do Kubernetes usadas na métrica de kube_resource_annotations do recurso. Por exemplo, kube_pod_annotations é a métrica de anotações do recurso de pods. Por padrão, essa métrica contém apenas rótulos de nome e namespace. Para incluir mais anotações, forneça uma lista de nomes de recursos no plural e chaves de anotação do Kubernetes que você deseja permitir para elas. Um único*
pode ser fornecido para cada recurso para permitir anotações, mas isso tem sérias implicações de desempenho. Por exemplo,pods=[kubernetes.io/team,...],namespaces=[kubernetes.io/team],...
. - AKS:
--ksm-metric-labels-allow-list
Arc:--AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist
Lista separada por vírgulas de mais chaves de rótulo do Kubernetes usadas na métrica kube_resource_labels da métrica do recurso kube_resource_labels. Por exemplo, kube_pod_labels é a métrica de rótulos do recurso de pods. Por padrão, essa métrica contém apenas rótulos de nome e namespace. Para incluir mais rótulos, forneça uma lista dos nomes de recursos no seu formato plural e chaves de rótulo do Kubernetes que você quer permitir para eles. Um único*
pode ser fornecido para cada recurso para permitir rótulos, mas isso tem severas implicações de desempenho. Por exemplo,pods=[app],namespaces=[k8s-label-1,k8s-label-n,...],...
. - AKS:
--enable-windows-recording-rules
permite que você habilite os grupos de regras de gravação necessários para o funcionamento adequado dos painéis do Windows.
Habilitar os Insights do contêiner
Use um dos métodos a seguir para habilitar o Insights de contêiner. Depois de concluir, confira Configurar a coleta de dados do agente para obter Insights de contêiner para ajustar a configuração e assegurar que não esteja coletando mais dados do que o necessário.
Use um dos comandos a seguir para habilitar o monitoramento dos clusters habilitados para Arc e AKS. Se você não especificar um workspace do Log Analytics já existente nos comandos a seguir, será usado o workspace padrão para o grupo de recursos. Se um workspace padrão ainda não existir na região do cluster, um será criado com um nome no formato DefaultWorkspace-<GUID>-<Region>
.
Pré-requisitos
- CLI do Azure versão 2.43.0 ou posterior
- A autenticação de identidade gerenciada será padrão na versão 2.49.0 ou superior da CLI.
- Extensão k8s do Azure versão 1.3.7 ou superior
- A autenticação de identidade gerenciada é o padrão na versão de extensão1.43.0 ou superior da extensão k8s.
- Não há suporte para autenticação de identidade gerenciada para clusters do Kubernetes habilitados para Arc com Azure Red Hat Openshift (ARO) ou nós do Windows. Use a autenticação herdada.
- Para a CLI versão 2.54.0 ou superior, o esquema de registro em log será configurado para ContainerLogV2 usando o ConfigMap.
Observação
Você pode habilitar o esquema ContainerLogV2 para um cluster usando a REGRA de Coleta de Dados (DCR) ou o ConfigMap do cluster. Se ambas as configurações estiverem habilitadas, o ConfigMap terá precedência. Os logs stdout e stderr só serão ingeridos na tabela ContainerLog quando o DCR e o ConfigMap forem explicitamente definidos como desativados.
Cluster do AKS
### Use default Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name>
### Use existing Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id>
Exemplo
az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"
Cluster habilitado para Arc
### Use default Log Analytics workspace
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers
### Use existing Log Analytics workspace
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID=<workspace-resource-id>
### Use managed identity authentication (default as k8s-extension version 1.43.0)
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=true
### Use advanced configuration settings
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.resources.daemonset.limits.cpu=150m amalogs.resources.daemonset.limits.memory=600Mi amalogs.resources.deployment.limits.cpu=1 amalogs.resources.deployment.limits.memory=750Mi
### With custom mount path for container stdout & stderr logs
### Custom mount path not required for Azure Stack Edge version > 2318. Custom mount path must be /home/data/docker for Azure Stack Edge cluster with version <= 2318
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.logsettings.custommountpath=<customMountPath>
Confira a seção de solicitações e limites de recursos do gráfico Helm para as definições de configuração disponíveis.
Exemplo
az k8s-extension create --name azuremonitor-containers --cluster-name "my-cluster" --resource-group "my-resource-group" --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID="/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"
Cluster habilitado para Arc com proxy de encaminhamento
Se o cluster estiver configurado com um proxy de encaminhamento, as configurações de proxy serão aplicadas automaticamente à extensão. No caso de um cluster com AMPLS + proxy, a configuração de proxy deve ser ignorada. Integre a extensão com a definição de configuração amalogs.ignoreExtensionProxySettings=true
.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.ignoreExtensionProxySettings=true
Cluster habilitado para Arc com nós ARO, OpenShift ou Windows
Não há suporte para autenticação de identidade gerenciada para clusters Kubernetes habilitados para Arc com nós ARO (Red Hat OpenShift no Azure), OpenShift ou Windows. Use a autenticação herdada especificando amalogs.useAADAuth=false
como no exemplo a seguir.
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings amalogs.useAADAuth=false
Excluir instância de extensão
O comando a seguir exclui apenas a instância de extensão, mas não exclui o espaço de trabalho do Log Analytics. Os dados no recurso do Log Analytics permanecem intactos.
az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>
Habilite o monitoramento completo pelo portal Azure
Com o portal Azure, é possível ativar o Prometheus gerenciado e os Insights de contêiner simultaneamente.
Observação
Se quiser habilitar o Prometheus Gerenciado sem os Insights de contêiner, habilite-o a partir do workspace do Azure Monitor, conforme descrito abaixo.
Novo cluster do AKS (Prometheus e Insights de contêiner)
Ao criar um novo cluster do AKS no portal do Azure, você pode habilitar o Prometheus, o Insights de Contêiner e o Grafana na guia Integrações. Na seção do Azure Monitor, selecione a Configuração padrão, ou a Configuração personalizada se você quiser especificar quais workspaces serão usados. Você pode executar uma configuração adicional após o cluster ser criado.
Cluster existente (Prometheus e Insights de contêiner)
Esta opção habilita os Insights de contêiner e, opcionalmente, o Prometheus e o Grafana em um cluster do AKS já existente.
Selecione Insights no menu do cluster OU Contêineres no menu Monitor, na aba Clusters não monitorados, e clique em Habilitar ao lado do cluster.
- Se o recurso Insights de Contêiner não estiver habilitado para o cluster, você verá uma tela identificando quais dos recursos foram habilitados. Clique em Configurar monitoramento.
- Se o recurso Insights de Contêiner já tiver sido habilitado no cluster, selecione o botão Definições de Monitoramento para modificar a configuração.
O recurso Insights de Contêiner será habilitado. Selecione as caixas de seleção para Habilitar as métricas do Prometheus e Habilitar o Grafana, se você também quiser habilitá-los para o cluster. Se você tiver um workspace do Azure Monitor e um workspace do Grafana existentes, estes serão selecionados para você.
Clique em Configurações avançadas para selecionar workspaces alternativos ou criar novos. A configuração Predefinições de custos permite que você modifique os detalhes da coleta padrão para reduzir seus custos de monitoramento. Confira Habilitar configurações de otimização de custos no Insights de Contêiner para obter mais detalhes.
Clique em Configurar para modificar a configuração.
Cluster existente (somente Prometheus)
Essa opção habilita as métricas do Prometheus em um cluster sem habilitar insights de contêiner.
Abra o menu espaços de trabalho do Azure Monitor no portal do Azure e selecione seu espaço de trabalho.
Selecione Clusters monitorados na seção Prometheus Gerenciado para exibir uma lista de clusters do AKS.
Selecione Configurar ao lado do cluster que você deseja habilitar.
Cluster existente (Adicionar Prometheus)
- Selecione Contêineres no menu Monitor, na aba Clusters monitorados, e clique em Configurar ao lado de um cluster na coluna Prometheus gerenciado.
Habilitar a coleta de métricas do Windows (versão prévia)
Observação
Não há limite de CPU/memória no windows-exporter-daemonset.yaml, portanto, ele pode provisionar em excesso os nós do Windows
Para obter mais detalhes, confira Reserva de recursos
Ao implantar cargas de trabalho, defina limites de recursos de memória e CPU nos contêineres. Isso também subtrai do NodeAllocatable e ajuda o agendador de todo o cluster a determinar quais pods colocar em quais nós. O agendamento de pods sem limites pode provisionar excessivamente os nós do Windows e, em casos extremos, pode fazer com que os nós se tornem não íntegros.
A partir da versão 6.4.0-main-02-22-2023-3ee44b9e do contêiner de complemento do Prometheus Gerenciado (prometheus_collector), a coleção de métricas do Windows foi habilitada para os clusters do AKS. A integração para o complemento de Métricas do Azure Monitor permite que os pods do Windows Daemonset comecem a serem executados em seus pools de nós. Tanto o Windows Server 2019 quanto o Windows Server 2022 são suportados. Siga estas etapas para permitir que os pods coletem métricas de seus pools de nós do Windows.
Instale manualmente o exportador de janelas em nós do AKS para acessar as métricas do Windows implantando o arquivo YAML windows-exporter-daemonset. Habilite os seguintes coletores:
[defaults]
container
memory
process
cpu_info
Para obter mais coletores, confira Exportador do Prometheus para métricas do Windows.
Implante o arquivo YAML windows-exporter-daemonset. Observe que, se houver algum taint aplicado ao nó, você precisará aplicar as tolerâncias apropriadas.
kubectl apply -f windows-exporter-daemonset.yaml
Aplicar ama-metrics-settings-configmap ao seu cluster. Defina os valores boolianos
windowsexporter
ewindowskubeproxy
paratrue
. Para obter mais informações, consulte Configurações do complemento de Métricas configmap.Habilite as regras de gravação necessárias para os painéis prontos para uso:
- Se estiver integrando usando a CLI, inclua a opção
--enable-windows-recording-rules
. - Se estiver integrando usando um modelo do ARM, Bicep ou Azure Policy, defina
enableWindowsRecordingRules
comotrue
no arquivo de parâmetros. - Se o cluster já estiver integrado, use este modelo do ARM e este arquivo de parâmetro para criar os grupos de regras. Isso adicionará as regras de gravação necessárias e não é uma operação do ARM no cluster, além de não afetar o estado de monitoramento atual dele.
- Se estiver integrando usando a CLI, inclua a opção
Verificar a implantação
Utilize a ferramenta de linha de comando kubectl para verificar se o agente foi implantado corretamente.
Prometheus Gerenciado
Verifique se o DaemonSet foi implantado corretamente nos pools de nós do Linux
kubectl get ds ama-metrics-node --namespace=kube-system
O número de pods deve ser igual ao número de nós do Linux no cluster. A saída deve ser assemelhar ao exemplo a seguir:
User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-metrics-node 1 1 1 1 1 <none> 10h
Verifique se os nós do Windows foram implantados corretamente
kubectl get ds ama-metrics-win-node --namespace=kube-system
O número de pods deve ser igual ao número de nós do Windows no cluster. A saída deve ser assemelhar ao exemplo a seguir:
User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-metrics-win-node 3 3 3 3 3 <none> 10h
Verifique se os dois ReplicaSets foram implantados no Prometheus
kubectl get rs --namespace=kube-system
A saída deve ser assemelhar ao exemplo a seguir:
User@aksuser:~$kubectl get rs --namespace=kube-system
NAME DESIRED CURRENT READY AGE
ama-metrics-5c974985b8 1 1 1 11h
ama-metrics-ksm-5fcf8dffcd 1 1 1 11h
Insights do contêiner
Verifique se os DaemonSets foram implantados corretamente nos pools de nós do Linux
kubectl get ds ama-logs --namespace=kube-system
O número de pods deve ser igual ao número de nós do Linux no cluster. A saída deve ser assemelhar ao exemplo a seguir:
User@aksuser:~$ kubectl get ds ama-logs --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-logs 2 2 2 2 2 <none> 1d
Verifique se os nós do Windows foram implantados corretamente
kubectl get ds ama-logs-windows --namespace=kube-system
O número de pods deve ser igual ao número de nós do Windows no cluster. A saída deve ser assemelhar ao exemplo a seguir:
User@aksuser:~$ kubectl get ds ama-logs-windows --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-logs-windows 2 2 2 2 2 <none> 1d
Verifique a implantação da solução Insights de contêiner
kubectl get deployment ama-logs-rs --namespace=kube-system
A saída deve ser assemelhar ao exemplo a seguir:
User@aksuser:~$ kubectl get deployment ama-logs-rs --namespace=kube-system
NAME READY UP-TO-DATE AVAILABLE AGE
ama-logs-rs 1/1 1 1 24d
Exibir configuração com a CLI
Use o comando aks show
para descobrir se a solução está habilitada, a ID do recurso do workspace do Log Analytics e informações resumidas sobre o cluster.
az aks show --resource-group <resourceGroupofAKSCluster> --name <nameofAksCluster>
O comando retornará informações referentes à solução formatadas em JSON. A seção addonProfiles
deve incluir informações sobre o omsagent
, como no exemplo a seguir:
"addonProfiles": {
"omsagent": {
"config": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
"useAADAuth": "true"
},
"enabled": true,
"identity": null
},
}
Recursos provisionados
Quando você habilita o monitoramento, os seguintes recursos do Azure são criados em sua assinatura:
Nome do Recurso | Tipo de recurso | Grupo de recursos | Região/Localização | Descrição |
---|---|---|---|---|
MSCI-<aksclusterregion>-<clustername> |
Regra de Coleta de Dados | Igual ao cluster | Igual ao workspace do Log Analytics | Esta regra de coleta de dados destina-se à coleta de logs pelo agente do Azure Monitor, que utiliza o workspace do Log Analytics como destino e está associada ao recurso de cluster do AKS. |
MSPROM-<aksclusterregion>-<clustername> |
Regra de Coleta de Dados | Igual ao cluster | Igual ao workspace do Azure Monitor. | Essa regra de coleta de dados destina-se à coleta de métricas do Prometheus por complemento de métricas, que o workspace do Azure Monitor escolheu como destino e também está associada ao recurso de cluster do AKS |
MSPROM-<aksclusterregion>-<clustername> |
Ponto de extremidade da Coleta de Dados | Igual ao cluster | Igual ao workspace do Azure Monitor. | Esse ponto de extremidade da coleta de dados é usado pela regra de coleta de dados acima para ingerir métricas do Prometheus do complemento de métricas |
Quando você cria um novo workspace do Azure Monitor, os recursos adicionais a seguir são criados como parte dele
Nome do Recurso | Tipo de recurso | Grupo de recursos | Região/Localização | Descrição |
---|---|---|---|---|
<azuremonitor-workspace-name> |
Regra de Coleta de Dados | MA_<azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed | Igual ao workspace do Azure Monitor | DCR criada quando você usa o servidor Prometheus OSS para Gravação Remota no Workspace do Azure Monitor. |
<azuremonitor-workspace-name> |
Ponto de extremidade da coleta de dados | MA_<azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed | Igual ao workspace do Azure Monitor | DCE criado quando você usa o servidor Prometheus OSS para Gravação Remota no Workspace do Azure Monitor. |
Diferenças entre clusters do Windows e do Linux
As principais diferenças no monitoramento de um cluster do Windows Server em comparação com um cluster do Linux incluem:
- O Windows não tem uma métrica de RSS de Memória. Como resultado, ela não está disponível para nós e contêineres do Windows. A métrica Conjunto de Trabalho está disponível.
- As informações sobre a capacidade de armazenamento do disco não estão disponíveis para nós do Windows.
- Somente ambientes de pod são monitorados, não ambientes do Docker.
- Com a versão prévia, há suporte para até 30 contêineres do Windows Server. Essa limitação não se aplica a contêineres do Linux.
Observação
O suporte aos insights do Contêiner para o sistema operacional Windows Server 2022 está em versão prévia.
O agente do Linux em contêineres (pod replicaset) faz chamadas à API para todos os nós do Windows na porta segura do Kubelet (10250) no cluster para coletar métricas relacionadas ao desempenho do nó e do contêiner. A porta segura do Kubelet (:10250) deve ser aberta na rede virtual do cluster para entrada e saída de modo que a coleta de métricas relacionadas desempenho do contêiner e do nó do Windows funcione.
Se tiver um cluster do Kubernetes com nós do Windows, revise e configure o grupo de segurança de rede e as políticas de rede para verificar se a porta segura do Kubelet (:10250) está aberta tanto para entrada quanto para saída na rede virtual do cluster.
Próximas etapas
- Se enfrentar problemas ao tentar integrar a solução, examine o Guia de solução de problemas.
- Com o monitoramento habilitado para coletar a integridade e a utilização de recursos do seu cluster AKS e cargas de trabalho em execução neles, saiba como usar insights do Contêiner.