Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 a 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. - Práticas recomendadas 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 seguintes provedores de recursos devem ser registrados na assinatura do cluster e no workspace do Azure Monitor:
- Microsoft.ContainerService (Serviço de Contêineres)
- Microsoft.insights
- Microsoft.GerenciamentoDeAlertas
- 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
- 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*
*Para clusters habilitados para ARC com nós do Windows, você pode configurar o Prometheus Gerenciado do Azure em um nó Linux dentro do cluster e configurar a extração de métricas de pontos de extremidade de métricas em execução nos nós do Windows.
Espaços de Trabalho
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 | Espaço de trabalho | 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 a um espaço de trabalho do Log Analytics em uma assinatura diferente do Azure no mesmo locatário do Microsoft Entra, mas deve 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. Se você estiver conectando um cluster existente a um workspace do Log Analytics em outra assinatura, o provedor de recursos Microsoft.ContainerService deverá ser registrado na assinatura com o 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. Consulte Configurar o Azure Monitor com o Perímetro de Segurança de Rede para obter diretrizes sobre como configurar o workspace com o perímetro de segurança de rede. |
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.
Importante
Se você implantar usando um modelo ou o Azure Policy, verifique se os pontos de extremidade de coleta de dados, as regras de coleta de dados e as associações de regras de coleta de dados estão nomeados como
MSProm-<Location of Azure Monitor Workspace>-<Name of cluster resource>
, caso contrário, o processo de integração não será concluído com êxito.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. Crie um novo DCE e um DCRA na mesma região do cluster. Associe o novo DCE ao cluster e nomeie o novo DCRA como
configurationAccessEndpoint
. Consulte Habilitar link privado para monitoramento do Kubernetes no Azure Monitor.
Habilitar com a CLI
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.
Parâmetros opcionais
Cada um dos comandos para AKS e Arc-Enabled Kubernetes permitem os seguintes parâmetros opcionais. O nome do parâmetro é diferente para cada um, mas seu uso é o mesmo.
Parâmetro | Nome e descrição |
---|---|
Chaves de anotação | AKS: --ksm-metric-annotations-allow-list Arc: --AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList Lista de chaves de anotações do Kubernetes separadas por vírgulas usadas na métrica do recurso kube_resource_annotations . 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],... . |
Chaves de rótulo | 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,...],... . |
Regras de gravação | AKS: --enable-windows-recording-rules Permite habilitar os grupos de regras de gravação necessários para o funcionamento adequado dos painéis do Windows. |
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.
### 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]"
Os seguintes parâmetros opcionais adicionais estão disponíveis para clusters habilitados para Azure Arc:
Parâmetro | Descrição | Padrão | Configuração do cluster Upstream Arc |
---|---|---|---|
ClusterDistribution |
A distribuição do cluster. | Azure.Cluster.Distribution |
sim |
CloudEnvironment |
O ambiente de nuvem para o cluster. | Azure.Cluster.Cloud |
sim |
MountCATrustAnchorsDirectory |
Se deve ou não montar o diretório de âncoras de confiança da CA. | true |
Não |
MountUbuntuCACertDirectory |
Se deve ou não montar o diretório de certificados CA do Ubuntu. | true a menos que uma aks_edge distro. |
Não |
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.
Importante
Se você tiver um único Recurso do Azure Monitor com link privado, não poderá habilitar insights de Contêiner usando o portal do Azure. Consulte Habilitar link privado para monitoramento do Kubernetes no Azure Monitor.
Para habilitar insights de contêineres com perímetro de segurança de rede, consulte Configurar o Azure Monitor com o Perímetro de Segurança de Rede, para configurar sua área de trabalho do Log Analytics.
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>
### Use legacy authentication
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id> --enable-msi-auth-for-monitoring false
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
Novo cluster AKS (Prometheus, Contêiner Insights e Grafana)
Quando você cria um novo cluster do AKS no portal do Azure, as caixas de seleção Habilitar Logs de Contêiner, Habilitar métricas do Prometheus, Habilitar Grafana e Habilitar Alertas Recomendados são selecionadas por padrão na guia Monitoramento.
Cluster existente (Prometheus, Contêiner Insights e Grafana)
- Navegue até seu cluster no portal do Azure.
- No menu de serviço, selecione Monitorar>Configurações do Monitor.
- Métricas do Prometheus, Grafana e Logs de Contêiner e eventos são selecionados para você. Se você tiver um workspace existente do Azure Monitor, um workspace existente do Grafana e um workspace existente do Log Analytics, eles estarão automaticamente selecionados para você.
- Selecione Configurações avançadas se quiser selecionar espaço de trabalho alternativas ou criar novas. A configuração de perfis de log e perfis clássicos permite que você modifique os detalhes da coleção padrão para reduzir os custos de monitoramento. Confira Habilitar configurações de otimização de custos no Insights de Contêiner para obter mais detalhes.
- Selecione Configurar.
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 complementar do Managed Prometheus (prometheus_collector), a coleta de métricas do Windows foi habilitada para 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
[Somente para nodes do Windows em clusters habilitados para ARC] Se você estiver habilitando o Managed Prometheus para um cluster habilitado para ARC, poderá configurar o Managed Prometheus que está em execução em um node Linux dentro do cluster para coletar métricas de endpoints em execução nos nodes do Windows. Adicione o seguinte trabalho de extração a ama-metrics-prometheus-config-configmap.yaml e aplique o configmap ao cluster.
scrape_configs:
- job_name: windows-exporter
scheme: http
scrape_interval: 30s
label_limit: 63
label_name_length_limit: 511
label_value_length_limit: 1023
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- source_labels: [__meta_kubernetes_node_name]
target_label: instance
- action: keep
source_labels: [__meta_kubernetes_node_label_kubernetes_io_os]
regex: windows
- source_labels:
- __address__
action: replace
target_label: __address__
regex: (.+?)(\:\d+)?
replacement: $$1:9182
kubectl apply -f ama-metrics-prometheus-config-configmap.yaml
Verificar 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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.