Abilitare il monitoraggio per i cluster Kubernetes

Questo articolo descrive come abilitare il monitoraggio completo dei cluster Kubernetes usando le funzionalità di Monitoraggio di Azure seguenti:

Usando il portale di Azure, è possibile abilitare tutte le funzionalità contemporaneamente. È anche possibile abilitarli singolarmente usando l'interfaccia della riga di comando di Azure, il modello di Azure Resource Manager, Terraform o Criteri di Azure. Ognuno di questi metodi è descritto in questo articolo.

Importante

I cluster Kubernetes generano molti dati di log, che possono comportare costi significativi se non si è selettivi sui log raccolti. Prima di abilitare il monitoraggio per il cluster, vedere gli articoli seguenti per assicurarsi che l'ambiente sia ottimizzato per i costi e limitare la raccolta dei log solo ai dati necessari:

Cluster supportati

Questo articolo fornisce indicazioni sull'onboarding per i tipi di cluster seguenti. Le eventuali differenze nel processo per ogni tipo sono indicate nelle sezioni pertinenti.

Prerequisiti

Autorizzazioni

Prerequisiti di Prometheus gestiti

  • Il cluster deve usare l’autenticazione dell'identità gestita.
  • I provider di risorse seguenti devono essere registrati nella sottoscrizione del cluster servizio Azure Kubernetes e nell'area di lavoro Monitoraggio di Azure:
    • Microsoft.ContainerService
    • Microsoft.Insights
    • Microsoft.AlertsManagement
    • Microsoft.Monitor
  • I provider di risorse seguenti devono essere registrati nella sottoscrizione della sottoscrizione dell'area di lavoro Grafana:
    • Microsoft.Dashboard

Prerequisiti per i cluster Kubernetes abilitati per Arc

  • Prerequisiti per le estensioni del cluster Kubernetes abilitate per Azure Arc.
  • Verificare i requisiti del firewall oltre ai requisiti di rete kubernetes abilitati per Azure Arc.
  • Se in precedenza è stato installato il monitoraggio per il servizio Azure Kubernetes, assicurarsi di aver disabilitato il monitoraggio prima di procedere per evitare problemi durante l'installazione dell'estensione.
  • Se in precedenza è stato installato il monitoraggio in un cluster usando uno script senza estensioni del cluster, seguire le istruzioni riportate in Disabilitare il monitoraggio del cluster Kubernetes per eliminare questo grafico Helm.

Nota

L'estensione Kubernetes abilitata per Prometheus Arc gestita non supporta le configurazioni seguenti:

  • Distribuzioni di Red Hat Openshift
  • Nodi Di Windows

Aree di lavoro

Nella tabella seguente vengono descritte le aree di lavoro necessarie per supportare Le informazioni dettagliate su Prometheus e Contenitore gestite. È possibile creare ogni area di lavoro come parte del processo di onboarding o usare un'area di lavoro esistente. Vedere Progettare un'architettura dell'area di lavoro Log Analytics per indicazioni sul numero di aree di lavoro da creare e sulla posizione in cui devono essere posizionate.

Funzionalità Area di lavoro Note
Prometheus gestito Area di lavoro di Monitoraggio di Azure Contributor l'autorizzazione è sufficiente per consentire al componente aggiuntivo di inviare dati all'area di lavoro di Monitoraggio di Azure. È necessaria Owner l'autorizzazione a livello per collegare l'area di lavoro di Monitoraggio di Azure per visualizzare le metriche in Grafana gestito di Azure. Questa operazione è necessaria perché l'utente che esegue il passaggio di onboarding deve essere in grado di assegnare il ruolo identità Monitoring Reader del sistema Grafana gestito di Azure nell'area di lavoro di Monitoraggio di Azure per eseguire query sulle metriche.
Informazioni dettagliate contenitore area di lavoro Log Analytics È possibile collegare un cluster del servizio Azure Kubernetes a un'area di lavoro Log Analytics in una sottoscrizione di Azure diversa nello stesso tenant di Microsoft Entra, ma è necessario usare l'interfaccia della riga di comando di Azure o un modello di Azure Resource Manager. Non è attualmente possibile eseguire questa configurazione con il portale di Azure.

Se si connette un cluster del servizio Azure Kubernetes esistente a un'area di lavoro Log Analytics in un'altra sottoscrizione, il provider di risorse Microsoft.ContainerService deve essere registrato nella sottoscrizione con l'area di lavoro Log Analytics. Per maggiori informazioni, consultare la sezione Registrare il provider di risorse.

Per un elenco delle coppie di mapping supportate da usare per l'area di lavoro predefinita, vedere Mapping delle aree supportate da Informazioni dettagliate sui contenitori.
Grafana gestito Area di lavoro Grafana gestita di Azure Collegare l'area di lavoro Grafana all'area di lavoro di Monitoraggio di Azure per rendere disponibili le metriche prometheus raccolte dal cluster ai dashboard di Grafana.

Abilitare Prometheus e Grafana

Usare uno dei metodi seguenti per abilitare la raschiatura delle metriche di Prometheus dal cluster e abilitare Managed Grafana per visualizzare le metriche. Vedere Collegare un'area di lavoro Grafana per le opzioni per connettere l'area di lavoro di Monitoraggio di Azure e l'area di lavoro Grafana gestita di Azure.

Nota

Se si ha una singola risorsa di Monitoraggio di Azure collegata privata, l'abilitazione di Prometheus non funzionerà se il cluster del servizio Azure Kubernetes e l'area di lavoro di Monitoraggio di Azure si trovano in aree diverse. La configurazione necessaria per il componente aggiuntivo Prometheus non è disponibile tra aree a causa del vincolo di collegamento privato. Per risolvere questo problema, creare un nuovo controller di dominio nel percorso del cluster del servizio Azure Kubernetes e una nuova associazione DCRA nella stessa area del cluster del servizio Azure Kubernetes. Associare il nuovo controller di dominio al cluster del servizio Azure Kubernetes e denominare la nuova associazione (DCRA) come configurationAccessEndpoint. Per istruzioni complete su come configurare i controller di dominio associati all'area di lavoro di Monitoraggio di Azure per l'uso di un collegamento privato per l'inserimento dati, vedere Usare un collegamento privato per l'inserimento dei dati di Prometheus gestito.

Se non si specifica un'area di lavoro di Monitoraggio di Azure esistente nei comandi seguenti, verrà usata l'area di lavoro predefinita per il gruppo di risorse. Se un'area di lavoro predefinita non esiste già nell'area del cluster, una con un nome nel formato DefaultAzureMonitorWorkspace-<mapped_region> verrà creata in un gruppo di risorse con il nome DefaultRG-<cluster_region>.

Prerequisiti

  • È necessaria la versione dell'interfaccia della riga di comando di Az 2.49.0 o successiva.
  • L'estensione aks-preview deve essere disinstallata dai cluster del servizio Azure Kubernetes usando il comando az extension remove --name aks-preview.
  • L'estensione k8s-extension deve essere installata usando il comando az extension add --name k8s-extension.
  • È necessaria la versione 1.4.1 o successiva dell'estensione k8s.

Cluster del servizio Azure Kubernetes

Usare l'opzione -enable-azure-monitor-metricsaz aks create o az aks update (a seconda che si stia creando un nuovo cluster o aggiornando un cluster esistente) per installare il componente aggiuntivo metriche che elimina le metriche di Prometheus.

Comandi di esempio

### Use default Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics -n <cluster-name> -g <cluster-resource-group>

### Use existing Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics -n <cluster-name> -g <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 -n <cluster-name> -g <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 -n <cluster-name> -g <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 con abilitazione di 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]"

Uno dei comandi può usare i parametri facoltativi seguenti:

  • AKS: --ksm-metric-annotations-allow-list
    Arco: --AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList
    Elenco delimitato da virgole delle chiavi di annotazioni Kubernetes usate nella metrica kube_resource_annotations della risorsa. Ad esempio, kube_pod_annotations è la metrica delle annotazioni per la risorsa pod. Per impostazione predefinita, questa metrica contiene solo le etichette dei nomi e dei nomi. Per includere altre annotazioni, specificare un elenco di nomi di risorse nel formato plurale e chiavi di annotazione Kubernetes che si desidera consentire. È possibile specificare un singolo oggetto * per ogni risorsa per consentire eventuali annotazioni, ma questo ha gravi implicazioni sulle prestazioni. Ad esempio: pods=[kubernetes.io/team,...],namespaces=[kubernetes.io/team],....
  • AKS: --ksm-metric-labels-allow-list
    Arco: --AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist
    Elenco delimitato da virgole di altre chiavi di etichetta Kubernetes usate nella metrica kube_resource_labels della risorsa kube_resource_labels metrica. Ad esempio, kube_pod_labels è la metrica delle etichette per la risorsa pod. Per impostazione predefinita, questa metrica contiene solo il nome e le etichette dello spazio dei nomi. Per includere più etichette, specificare un elenco di nomi di risorse nel formato plurale e chiavi di etichetta Kubernetes che si vuole consentire a ogni risorsa di consentire l'uso di un'unica * risorsa per consentire qualsiasi etichetta, ma questo ha gravi implicazioni sulle prestazioni. Ad esempio: pods=[app],namespaces=[k8s-label-1,k8s-label-n,...],....
  • Servizio Azure Kubernetes: --enable-windows-recording-rules consente di abilitare i gruppi di regole di registrazione necessari per il corretto funzionamento dei dashboard di Windows.

Abilitare Informazioni dettagliate sui contenitori

Usare uno dei metodi seguenti per abilitare informazioni dettagliate sui contenitori nel cluster. Al termine, vedere Configurare la raccolta dati dell'agente per Informazioni dettagliate sui contenitori per personalizzare la configurazione per assicurarsi di non raccogliere più dati di quanto necessario.

Usare uno dei comandi seguenti per abilitare il monitoraggio dei cluster abilitati per il servizio Azure Kubernetes e Arc. Se non si specifica un'area di lavoro Log Analytics esistente, verrà usata l'area di lavoro predefinita per il gruppo di risorse. Se un'area di lavoro predefinita non esiste già nell'area del cluster, ne verrà creata una con un nome nel formato DefaultWorkspace-<GUID>-<Region>.

Prerequisiti

  • Interfaccia della riga di comando di Azure versione 2.43.0 o successiva
  • L'autenticazione dell'identità gestita è predefinita nell'interfaccia della riga di comando versione 2.49.0 o successiva.
  • Estensione Azure k8s versione 1.3.7 o successiva
  • L'autenticazione dell'identità gestita è l'impostazione predefinita nella versione k8s-extension 1.43.0 o successiva.
  • L'autenticazione dell'identità gestita non è supportata per i cluster Kubernetes abilitati per Arc con nodi ARO (Azure Red Hat Openshift) o Windows. Usare l'autenticazione legacy.
  • Per l'interfaccia della riga di comando versione 2.54.0 o successiva, lo schema di registrazione verrà configurato in ContainerLogV2 usando ConfigMap.

Cluster del servizio Azure Kubernetes

### Use default Log Analytics workspace
az aks enable-addons -a monitoring -n <cluster-name> -g <cluster-resource-group-name>

### Use existing Log Analytics workspace
az aks enable-addons -a monitoring -n <cluster-name> -g <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id>

Esempio

az aks enable-addons -a monitoring -n "my-cluster" -g "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"

Cluster con abilitazione di 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>

Per le impostazioni di configurazione disponibili, vedere la sezione richieste di risorse e limiti del grafico Helm.

Esempio

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 abilitato per Arc con proxy di inoltro

Se il cluster è configurato con un proxy di inoltro, le impostazioni proxy vengono applicate automaticamente all'estensione. Nel caso di un cluster con AMPLS + proxy, la configurazione proxy deve essere ignorata. Eseguire l'onboarding dell'estensione con l'impostazione amalogs.ignoreExtensionProxySettings=truedi configurazione .

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 abilitato per Arc con nodi ARO o OpenShift o Windows

L'autenticazione dell'identità gestita non è supportata per i cluster Kubernetes abilitati per Arc con nodi ARO (Azure Red Hat OpenShift) o OpenShift o Windows. Usare l'autenticazione legacy specificando amalogs.useAADAuth=false come nell'esempio seguente.

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

Eliminare l'istanza dell'estensione

Il comando seguente elimina solo l'istanza dell'estensione, ma non elimina l'area di lavoro Log Analytics. I dati nella risorsa di Log Analytics sono rimasti intatti.

az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>

Abilitare il monitoraggio completo con portale di Azure

Usando il portale di Azure, è possibile abilitare contemporaneamente le informazioni dettagliate su Prometheus gestito e contenitore.

Nota

Se si vuole abilitare Managed Prometheus senza Informazioni dettagliate sui contenitori, abilitarlo dall'area di lavoro di Monitoraggio di Azure come descritto di seguito.

Nuovo cluster del servizio Azure Kubernetes (Prometheus e Informazioni dettagliate sui contenitori)

Quando si crea un nuovo cluster del servizio Azure Kubernetes nella portale di Azure, è possibile abilitare Prometheus, Informazioni dettagliate sui contenitori e Grafana dalla scheda Integrazioni. Nella sezione Monitoraggio di Azure selezionare Configurazione predefinita o Configurazione personalizzata se si desidera specificare le aree di lavoro da usare. È possibile eseguire una configurazione aggiuntiva dopo la creazione del cluster.

Screenshot della scheda integrazioni per il nuovo cluster del servizio Azure Kubernetes.

Cluster esistente (Prometheus e Informazioni dettagliate sui contenitori)

Questa opzione abilita informazioni dettagliate sui contenitori e facoltativamente Prometheus e Grafana in un cluster del servizio Azure Kubernetes esistente.

  1. Selezionare Insights dal menu del cluster OPPURE selezionare Contenitori dal menu Monitoraggio , scheda Cluster non monitorati e fare clic su Abilita accanto a un cluster.

    1. Se Le informazioni dettagliate sui contenitori non sono abilitate per il cluster, viene visualizzata una schermata che identifica le funzionalità abilitate. Fare clic su Configura monitoraggio.

    Screenshot che mostra la schermata di configurazione per un cluster.

    1. Se Le informazioni dettagliate sui contenitori sono già state abilitate nel cluster, selezionare il pulsante Monitoraggio Impostazioni per modificare la configurazione.

    Screenshot che mostra il pulsante delle impostazioni di monitoraggio per un cluster.

  2. Le informazioni dettagliate sui contenitori verranno abilitate. Selezionare le caselle di controllo abilita le metriche di Prometheus e Abilita Grafana se si vuole abilitarle anche per il cluster. Se si dispone di un'area di lavoro di Monitoraggio di Azure esistente e di un'area di lavoro Grafana, vengono selezionate automaticamente.

    Screenshot che mostra la finestra di dialogo per configurare Informazioni dettagliate contenitore con Prometheus e Grafana.

  3. Fare clic su Impostazioni avanzate per selezionare aree di lavoro alternative o crearne di nuove. L'impostazione Impostazioni predefinite costi consente di modificare i dettagli predefiniti della raccolta per ridurre i costi di monitoraggio. Per informazioni dettagliate, vedere Abilitare le impostazioni di ottimizzazione dei costi in Informazioni dettagliate sui contenitori .

    Screenshot che mostra la finestra di dialogo Impostazioni avanzate.

  4. Fare clic su Configura per salvare la configurazione.

Cluster esistente (solo Prometheus)

Questa opzione abilita le metriche di Prometheus in un cluster senza abilitare Informazioni dettagliate sui contenitori.

  1. Aprire il menu Aree di lavoro di Monitoraggio di Azure nella portale di Azure e selezionare l'area di lavoro.

  2. Selezionare Cluster monitorati nella sezione Managed Prometheus (Prometheus gestito) per visualizzare un elenco di cluster del servizio Azure Kubernetes.

  3. Selezionare Configura accanto al cluster da abilitare.

    Screenshot che mostra un'area di lavoro di Monitoraggio di Azure con una configurazione prometheus.

Cluster esistente (aggiungere Prometheus)

  1. Selezionare Contenitori dal menu Monitoraggio, scheda Cluster monitorati e fare clic su Configura accanto a un cluster nella colonna Prometheus gestito.

Abilitare la raccolta delle metriche di Windows (anteprima)

Nota

Non esiste alcun limite di CPU/memoria in windows-exporter-daemonset.yaml, quindi potrebbe eseguire il over-provisioning dei nodi Di Windows
Per altri dettagli, vedere Prenotazione delle risorse

Durante la distribuzione dei carichi di lavoro, impostare i limiti di memoria delle risorse e CPU per i contenitori. Questo sottrae anche da NodeAllocatable e consente all'utilità di pianificazione a livello di cluster di determinare quali pod inserire nei nodi. La pianificazione dei pod senza limiti può eseguire il provisioning eccessivo dei nodi Windows e in casi estremi può causare la mancata integrità dei nodi.

A partire dalla versione 6.4.0-main-02-22-2023-3ee44b9e del contenitore addon Managed Prometheus (prometheus_collector), la raccolta di metriche di Windows è stata abilitata per i cluster del servizio Azure Kubernetes. L'onboarding nel componente aggiuntivo Metriche di Monitoraggio di Azure consente ai pod windows DaemonSet di avviare l'esecuzione nei pool di nodi. Sono supportati sia Windows Server 2019 che Windows Server 2022. Seguire questa procedura per abilitare i pod per raccogliere le metriche dai pool di nodi di Windows.

  1. Installare manualmente Windows-Exporter nei nodi del servizio Azure Kubernetes per accedere alle metriche di Windows. Abilitare gli agenti di raccolta seguenti:

    • [defaults]
    • container
    • memory
    • process
    • cpu_info

    Per altri agenti di raccolta, vedere Prometheus exporter for Windows metrics (Utilità di esportazione Prometheus per le metriche di Windows).

    Distribuire il file YAML windows-exporter-daemonset:

        kubectl apply -f windows-exporter-daemonset.yaml
    
  2. Applicare ama-metrics-settings-configmap al cluster. Impostare i windowsexporter valori booleani e windowskubeproxy su true. Per altre informazioni, vedere Configmap delle impostazioni del componente aggiuntivo Metriche.

  3. Abilitare le regole di registrazione necessarie per i dashboard predefiniti:

    • Se si esegue l'onboarding usando l'interfaccia della riga di comando, includere l'opzione --enable-windows-recording-rules.
    • Se si esegue l'onboarding usando un modello di Resource Manager, Bicep o Criteri di Azure, impostare su enableWindowsRecordingRulestrue nel file dei parametri.
    • Se il cluster è già stato eseguito l'onboarding, usare questo modello di Resource Manager e questo file di parametri per creare i gruppi di regole.

Verificare la distribuzione

Usare lo strumento da riga di comando kubectl per verificare che l'agente sia distribuito correttamente.

Prometheus gestito

Verificare che il DaemonSet sia stato distribuito correttamente nei pool di nodi Linux

kubectl get ds ama-metrics-node --namespace=kube-system

Il numero di pod deve essere uguale al numero di nodi Linux nel cluster. Il risultato dovrebbe essere simile all'esempio seguente:

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

Verificare che i nodi windows siano stati distribuiti correttamente

kubectl get ds ama-metrics-win-node --namespace=kube-system

Il numero di pod deve essere uguale al numero di nodi Windows nel cluster. Il risultato dovrebbe essere simile all'esempio seguente:

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

Verificare che i due ReplicaSet siano stati distribuiti per Prometheus

kubectl get rs --namespace=kube-system

Il risultato dovrebbe essere simile all'esempio seguente:

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

Informazioni dettagliate contenitore

Verificare che i DaemonSet siano stati distribuiti correttamente nei pool di nodi Linux

kubectl get ds ama-logs --namespace=kube-system

Il numero di pod deve essere uguale al numero di nodi Linux nel cluster. Il risultato dovrebbe essere simile all'esempio seguente:

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

Verificare che i nodi windows siano stati distribuiti correttamente

kubectl get ds ama-logs-windows --namespace=kube-system

Il numero di pod deve essere uguale al numero di nodi Windows nel cluster. Il risultato dovrebbe essere simile all'esempio seguente:

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

Verificare la distribuzione della soluzione Informazioni dettagliate contenitore

kubectl get deployment ama-logs-rs --namespace=kube-system

Il risultato dovrebbe essere simile all'esempio seguente:

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

Visualizzare la configurazione con l'interfaccia della riga di comando

Usare il aks show comando per verificare se la soluzione è abilitata, l'ID risorsa dell'area di lavoro Log Analytics e le informazioni di riepilogo sul cluster.

az aks show -g <resourceGroupofAKSCluster> -n <nameofAksCluster>

Il comando restituirà informazioni in formato JSON sulla soluzione. La addonProfiles sezione deve includere informazioni su omsagent come nell'esempio seguente:

"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
    },
}

Risorse di cui è stato effettuato il provisioning

Quando si abilita il monitoraggio, nella sottoscrizione vengono create le risorse seguenti:

Nome della risorsa Tipo di risorsa Gruppo di risorse Area geografica/Località Descrizione
MSCI-<aksclusterregion>-<clustername> Regola di raccolta dati Uguale al cluster Uguale all'area di lavoro Log Analytics Questa regola di raccolta dati è per la raccolta di log da parte dell'agente di Monitoraggio di Azure, che usa l'area di lavoro Log Analytics come destinazione ed è associata alla risorsa cluster del servizio Azure Kubernetes.
MSPROM-<aksclusterregion>-<clustername> Regola di raccolta dati Uguale al cluster Uguale all'area di lavoro di Monitoraggio di Azure Questa regola di raccolta dati è per la raccolta di metriche prometheus per componente aggiuntivo delle metriche, che ha scelto l'area di lavoro monitoraggio di Azure come destinazione ed è associata anche alla risorsa cluster del servizio Azure Kubernetes
MSPROM-<aksclusterregion>-<clustername> Endpoint raccolta dati Uguale al cluster Uguale all'area di lavoro di Monitoraggio di Azure Questo endpoint di raccolta dati viene usato dalla regola di raccolta dati precedente per l'inserimento di metriche Prometheus dal componente aggiuntivo per le metriche

Quando si crea una nuova area di lavoro di Monitoraggio di Azure, vengono create le risorse aggiuntive seguenti come parte di essa

Nome della risorsa Tipo di risorsa Gruppo di risorse Area geografica/Località Descrizione
<azuremonitor-workspace-name> Regola di raccolta dati <MA_azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed Uguale all'area di lavoro di Monitoraggio di Azure DCR creato quando si usa il server OSS Prometheus per scrivere in remoto nell'area di lavoro di Monitoraggio di Azure.
<azuremonitor-workspace-name> Endpoint di raccolta dati <MA_azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed Uguale all'area di lavoro di Monitoraggio di Azure DCE creato quando si usa il server OSS Prometheus per scrivere in remoto nell'area di lavoro di Monitoraggio di Azure.

Differenze tra cluster Windows e Linux

Le principali differenze nel monitoraggio di un cluster Windows Server rispetto a un cluster Linux includono:

  • Windows non dispone di una metrica RSS memoria. Di conseguenza, non è disponibile per nodi e contenitori di Windows. La metrica Working Set è disponibile.
  • Le informazioni sulla capacità di archiviazione su disco non sono disponibili per i nodi Windows.
  • Vengono monitorati solo gli ambienti pod, non gli ambienti Docker.
  • Con la versione di anteprima sono supportati un massimo di 30 contenitori di Windows Server. Questa limitazione non si applica ai contenitori Linux.

Nota

Il supporto di Informazioni dettagliate sui contenitori per il sistema operativo Windows Server 2022 è disponibile in anteprima.

L'agente Linux in contenitori (pod replicaset) effettua chiamate API a tutti i nodi Windows sulla porta sicura Kubelet (10250) all'interno del cluster per raccogliere le metriche correlate alle prestazioni del nodo e del contenitore. La porta sicura Kubelet (:10250) deve essere aperta nella rete virtuale del cluster per la raccolta di metriche correlate alle prestazioni del contenitore e del nodo Windows in ingresso e in uscita.

Se si dispone di un cluster Kubernetes con nodi Windows, esaminare e configurare il gruppo di sicurezza di rete e i criteri di rete per assicurarsi che la porta sicura Kubelet (:10250) sia aperta sia per la rete virtuale in ingresso che in uscita nella rete virtuale del cluster.

Passaggi successivi

  • Se si verificano problemi durante il tentativo di onboarding della soluzione, vedere la guida alla risoluzione dei problemi.
  • Con il monitoraggio abilitato per raccogliere l'integrità e l'utilizzo delle risorse del cluster e dei carichi di lavoro del servizio Azure Kubernetes in esecuzione, informazioni su come usare Informazioni dettagliate sui contenitori .