Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La piattaforma Kubernetes è un sistema complesso e distribuito. È necessario monitorare la distribuzione di Kubernetes a più livelli. Anche se il servizio Azure Kubernetes è un servizio Kubernetes gestito, è necessario lo stesso rigore per il monitoraggio della distribuzione a più livelli. Questo articolo fornisce informazioni di alto livello e procedure consigliate per il monitoraggio di un cluster AKS.
- Per un monitoraggio dettagliato dello stack Kubernetes completo, vedere Monitorare i cluster Kubernetes usando i servizi di Azure e gli strumenti nativi del cloud.
- Per la raccolta dei dati delle metriche dai cluster Kubernetes, consultare Managed Service for Prometheus in Azure Monitor.
- Per la raccolta dei log nei cluster Kubernetes, vedere Funzionalità di Monitoraggio di Azure per il monitoraggio di Kubernetes.
- Per la visualizzazione dei dati, vedere Cartelle di lavoro di Azure e Monitorare i servizi di Azure in Grafana.
Suggerimento
È possibile usare Microsoft Copilot in Azure per configurare il monitoraggio nei cluster AKS nel portale di Azure. Per altre informazioni, vedere Lavorare efficacemente con i cluster AKS usando Microsoft Copilot in Azure.
Approfondimenti
Per alcuni servizi di Azure, nel portale di Azure è disponibile un dashboard di monitoraggio predefinito che fornisce un punto iniziale per il monitoraggio del servizio. Questi dashboard sono denominati informazioni dettagliate ed è possibile trovarli nell'hub di Insights del Monitoraggio di Azure nel portale di Azure.
Azure Monitor Container Insights raccoglie metriche personalizzate per nodi, pod, container e volumi persistenti. Per altre informazioni, vedere Metriche raccolte da Informazioni dettagliate sui contenitori.
Application Insights consente di monitorare le prestazioni dell'applicazione. Per abilitare Application Insights con modifiche al codice, vedere Abilitare OpenTelemetry di Monitoraggio di Azure. Per abilitare Application Insights senza modifiche al codice, vedere Strumentazione automatica del servizio Azure Kubernetes. Per altre informazioni sulla strumentazione, vedere Nozioni di base sulla raccolta dati.
Dati di monitoraggio
AKS genera gli stessi tipi di dati di monitoraggio delle altre risorse di Azure, come descritto in Monitorare i dati dalle risorse di Azure. Per informazioni dettagliate sulle metriche e i log creati dal servizio Azure Kubernetes, vedere le informazioni di riferimento sui dati di monitoraggio del servizio Azure Kubernetes.
Altri servizi e funzionalità di Azure raccolgono altri dati e abilitano altre opzioni di analisi, come illustrato nel diagramma e nella tabella seguenti.
| Source (Sorgente) | Descrizione |
|---|---|
| Metriche della piattaforma | Le metriche della piattaforma vengono raccolte automaticamente per i cluster del servizio Azure Kubernetes senza costi. È possibile analizzare queste metriche usando Esplora metriche o usarle per creare avvisi delle metriche. |
| Metriche di Prometheus | Quando si abilita lo scraping delle metriche per il cluster, il servizio gestito per Prometheus in Monitoraggio di Azure raccoglie le metriche di Prometheus e le archivia in un'area di lavoro di Monitoraggio di Azure. Analizzare queste metriche usando le dashboard predefinite di Azure Managed Grafana e gli avvisi di Prometheus. |
| Log attività | Il log degli eventi di Azure Monitor raccoglie automaticamente alcuni dati per i cluster del servizio AKS gratuitamente. Questi file di log tengono traccia delle informazioni, ad esempio quando viene creato un cluster o vengono apportate modifiche a una configurazione del cluster. Per analizzare i dati del log attività con gli altri dati di log, inviare i dati del log attività a un'area di lavoro Log Analytics. |
| Log risorse | I log del piano di controllo per il servizio Azure Kubernetes vengono implementati come log delle risorse. Creare un'impostazione di diagnostica per inviare i log a un'area di lavoro Log Analytics. Nell'area di lavoro è possibile analizzare i log usando le query e configurare gli avvisi in base alle informazioni di log. |
| Informazioni dettagliate contenitore | Container Insights raccoglie vari log e dati sulle prestazioni da un cluster e li archivia in un'area di lavoro di Log Analytics e in Azure Monitor Metrics. Analizzare flussi di dati come stdout e stderr usando visualizzazioni e cartelle di lavoro in Container Insights o tramite Log Analytics e l'Esploratore Metriche. |
| Approfondimenti sulle Applicazioni | Application Insights, una funzionalità di Monitoraggio di Azure, raccoglie log, metriche e tracce distribuite. I dati di telemetria vengono archiviati in un'area di lavoro Log Analytics per l'analisi nel portale di Azure. |
Tipi di risorse
Azure usa il concetto di tipi di risorse e ID per identificare tutti gli elementi in una sottoscrizione. I tipi di risorse fanno anche parte degli ID della risorsa per ogni risorsa in esecuzione in Azure. Ad esempio, un tipo di risorsa per una macchina virtuale è Microsoft.Compute/virtualMachines. Per un elenco dei servizi e dei relativi tipi di risorse associati, vedere Provider di risorse.
Il Monitoraggio di Azure organizza in modo analogo i dati di monitoraggio di base in metriche e log in base ai tipi di risorse, detti anche spazi dei nomi. Sono disponibili metriche e log diversi per diversi tipi di risorse. Il servizio potrebbe essere associato a più tipi di risorse.
Per altre informazioni sui tipi di risorse nel servizio Azure Kubernetes, vedere le informazioni di riferimento sui dati di monitoraggio del servizio Azure Kubernetes.
Archiviazione dei dati
Per il Monitoraggio di Azure:
- I dati delle metriche vengono archiviati dal database di metriche del Monitoraggio di Azure.
- I dati di log vengono archiviati nell'archivio dei log del Monitoraggio di Azure. Log Analytics è uno strumento nel portale di Azure in grado di eseguire query su questo archivio.
- Il log attività di Azure è un archivio separato con la propria interfaccia nel portale di Azure.
Facoltativamente, è possibile instradare i dati delle metriche e dei log attività all'archivio dei log di Monitoraggio di Azure. È quindi possibile usare Analisi dei log per eseguire query sui dati e correlarli con altri dati di log.
Molti servizi possono usare le impostazioni di diagnostica per inviare i dati delle metriche e dei log ad altre posizioni di archiviazione all'esterno di Monitoraggio di Azure. Gli esempi includono Archiviazione di Azure, sistemi partner ospitati e sistemi partner non Azure usando Hub eventi.
Per informazioni dettagliate su come il Monitoraggio di Azure archivia i dati, vedere la piattaforma dati di Monitoraggio di Azure.
Metriche della piattaforma di Monitoraggio di Azure
Il Monitoraggio di Azure fornisce metriche della piattaforma per la maggior parte dei servizi. Le metriche sono:
- Definite singolarmente per ogni spazio dei nomi.
- Archiviate in un database delle metriche di serie temporali del Monitoraggio di Azure.
- Leggere e in grado di creare avvisi in tempo quasi reale.
- Usate per tenere traccia delle prestazioni di una risorsa nel tempo.
Raccolta: il Monitoraggio di Azure raccoglie automaticamente le metriche della piattaforma. Non è richiesta alcuna configurazione.
Routing: è anche possibile instradare alcune metriche della piattaforma ai log di Monitoraggio di Azure/Log Analytics per poterle eseguire query con altri dati di log. Controllare l'impostazione di esportazione DS per ogni metrica per verificare se è possibile usare un'impostazione di diagnostica per instradare la metrica ai log di Monitoraggio di Azure/Log Analytics.
- Per altre informazioni, vedere impostazioni delle metriche di diagnostica.
- Per configurare le impostazioni di diagnostica per un servizio, vedere Creare impostazioni di diagnostica in Monitoraggio di Azure.
Per un elenco di tutte le metriche che è possibile raccogliere per tutte le risorse nel Monitoraggio di Azure, vedere Metriche supportate nel Monitoraggio di Azure.
Per un elenco delle metriche che è possibile raccogliere per il servizio Azure Kubernetes, vedere le informazioni di riferimento sui dati di monitoraggio del servizio Azure Kubernetes.
Le metriche svolgono un ruolo importante nel monitoraggio dei cluster, nell'identificazione dei problemi e nell'ottimizzazione delle prestazioni nei cluster del servizio Azure Kubernetes. Le metriche della piattaforma vengono acquisite usando il server di metriche predefinito installato nello spazio dei nomi kube-system, che recupera periodicamente le metriche da tutti i nodi AKS gestiti da kubelet. È anche necessario abilitare il servizio gestito per le metriche di Prometheus per raccogliere le metriche dei contenitori e le metriche degli oggetti Kubernetes, incluso lo stato di distribuzione degli oggetti.
È possibile visualizzare l'elenco del servizio gestito predefinito per le metriche di Prometheus.
Per altre informazioni, vedere Raccogliere il servizio gestito per le metriche di Prometheus da un cluster AKS.
AKS espone anche le metriche dai componenti critici del piano di controllo, come il server API, etcd e il scheduler, tramite il servizio gestito per Prometheus. Attualmente, questa funzionalità è in anteprima. Per altre informazioni, vedere Monitorare le metriche del piano di controllo del servizio Azure Kubernetes (anteprima). Un subset di metriche del piano di controllo per il server API e etcd è disponibile gratuitamente tramite le metriche della piattaforma di Monitoraggio di Azure. Le metriche vengono raccolte per impostazione predefinita ed è possibile usare le metriche per creare avvisi basati su metriche.
Metriche non basate su Monitoraggio di Azure
Questo servizio fornisce altre metriche non incluse nel database delle metriche di Monitoraggio di Azure.
È possibile utilizzare i seguenti servizi di Azure e le funzionalità di Azure Monitor per monitorare i cluster AKS. Queste funzionalità vengono abilitate quando si crea un cluster del servizio Azure Kubernetes.
Nel portale di Azure, utilizzare la scheda Integrazioni oppure utilizzare l'Azure CLI, Terraform o i criteri di Azure. In alcuni casi, è possibile eseguire l'onboarding del cluster in un servizio di monitoraggio o in una funzionalità dopo aver creato il cluster. Ogni servizio o funzionalità potrebbe comportare costi, quindi vedere le informazioni sui prezzi per ogni componente prima di abilitarla.
| Servizio o funzionalità | Descrizione |
|---|---|
| Dati analitici sui contenitori | Usa una versione in contenitori dell'agente di Monitoraggio di Azure per raccogliere e registrare stdout e stderr gli eventi Kubernetes da ogni nodo del cluster. La funzionalità supporta diversi scenari di monitoraggio per i cluster del servizio Azure Kubernetes. È possibile abilitare il monitoraggio per un cluster AKS quando viene creato utilizzando l'Azure CLI, i Criteri di Azure, il portale di Azure o Terraform. Se non abiliti Container insights quando crei il cluster, consulta Abilitare Container insights per il cluster AKS per altre opzioni per abilitarlo.Container Insights archivia la maggior parte dei suoi dati in un'area di lavoro di Log Analytics. In genere si usa la stessa area di lavoro Log Analytics dei log delle risorse per il cluster. Per indicazioni sul numero di aree di lavoro da usare e su dove individuarle, vedere Progettare un'architettura dell'area di lavoro Log Analytics. |
| Servizio gestito per Prometheus in Azure Monitor |
Prometheus è una soluzione di metriche nativa del cloud di Cloud Native Computing Foundation. È lo strumento più comune da usare per raccogliere e analizzare i dati delle metriche dai cluster Kubernetes. Il servizio gestito per Prometheus in Azure Monitor è una soluzione di monitoraggio completamente gestita e compatibile con Prometheus. Se non si abilita il servizio gestito per Prometheus quando si crea il cluster, vedere Raccogliere le metriche di Prometheus da un cluster del servizio Azure Kubernetes per altre opzioni per abilitarla. Il servizio gestito per Prometheus in Monitoraggio di Azure archivia i dati in un'area di lavoro di Monitoraggio di Azurecollegata a un'area di lavoro di Grafana. È possibile usare Grafana gestito di Azure per analizzare i dati. |
| Grafana con gestione Azure | Implementazione completamente gestita di Grafana. Grafana è una piattaforma di visualizzazione dei dati open source comunemente usata per presentare i dati di Prometheus. Sono disponibili più dashboard Grafana predefiniti per il monitoraggio di Kubernetes e la risoluzione dei problemi dello stack completo. Se non abiliti Azure Managed Grafana quando crei il cluster, consulta Collega un'area di lavoro Grafana. È possibile collegarlo all'area di lavoro di Monitoraggio di Azure in modo che possa accedere alle metriche di Prometheus dal cluster. |
Monitorare le metriche del piano di controllo del servizio Azure Kubernetes (anteprima)
AKS espone anche le metriche dai componenti critici del piano di controllo, come il server API, etcd e il pianificatore tramite il servizio gestito per Prometheus di Azure Monitor. Attualmente, questa funzionalità è in anteprima. Per ulteriori informazioni, vedere Monitorare le metriche del piano di controllo di AKS. Un subset di metriche del piano di controllo per il server API e etcd è disponibile gratuitamente tramite le metriche della piattaforma di Monitoraggio di Azure. Queste metriche vengono raccolte per impostazione predefinita. È possibile usare le metriche per creare avvisi.
Log delle risorse di Monitoraggio di Azure
I log delle risorse forniscono informazioni dettagliate sulle operazioni eseguite da una risorsa di Azure. I log vengono generati automaticamente, ma è necessario indirizzarli ai log di Monitoraggio di Azure per salvarli o eseguirne query. I log sono organizzati in categorie. Uno specifico spazio dei nomi potrebbe avere più categorie di log delle risorse.
Raccolta: i log delle risorse non vengono raccolti e archiviati fino a quando non si crea un'impostazione di diagnostica e li si instrada verso una o più posizioni. Quando si crea un'impostazione di diagnostica, si specificano quali categorie di log raccogliere. Esistono diversi modi per creare e gestire le impostazioni di diagnostica, tra cui il portale di Azure, il livello programmatico e anche i Criteri di Azure.
Pianificazione percorso: l'impostazione predefinita consigliata consiste nell'instradare i log delle risorse verso i log del Monitoraggio di Azure in modo da poterli interrogare con altri dati di log. Sono disponibili anche altre posizioni, ad esempio Archiviazione di Azure, Hub eventi di Azure e alcuni partner di monitoraggio Microsoft. Per altre informazioni, vedere Log delle risorse di Azure e Destinazioni del log delle risorse.
Per informazioni dettagliate sulla raccolta, l'archiviazione e la pianificazione percorso dei log delle risorse, vedere Impostazioni di diagnostica nel Monitoraggio di Azure.
Per un elenco di tutte le categorie di log delle risorse disponibili nel Monitoraggio di Azure, vedere Log delle risorse supportati nel Monitoraggio di Azure.
Tutti i log delle risorse nel Monitoraggio di Azure hanno gli stessi campi d'intestazione, seguiti da campi specifici del servizio. Lo schema comune è descritto in Schema dei log delle risorse di Monitoraggio di Azure.
Per le categorie di log delle risorse disponibili, le tabelle di Log Analytics associate e gli schemi di log per il servizio Azure Kubernetes, vedere le informazioni di riferimento sui dati di monitoraggio del servizio Azure Kubernetes.
Log delle risorse del piano di controllo AKS
I log del piano di controllo per i cluster del servizio Azure Kubernetes vengono implementati come log delle risorse in Monitoraggio di Azure. I log delle risorse non vengono raccolti e archiviati fino a quando non si crea un'impostazione di diagnostica per indirizzarli ad almeno una posizione. In genere si inviano i log delle risorse a un'area di lavoro Log Analytics, in cui viene archiviata la maggior parte dei dati per Informazioni dettagliate sui contenitori.
Per informazioni su come creare un'impostazione di diagnostica usando il portale di Azure, l'interfaccia della riga di comando di Azure o Azure PowerShell, vedere Creare impostazioni di diagnostica. Quando si crea un'impostazione di diagnostica, si specificano quali categorie di log raccogliere. Le categorie per il servizio Azure Kubernetes sono elencate nel riferimento ai dati di monitoraggio del servizio Azure Kubernetes.
Avvertimento
È possibile sostenere costi significativi quando si raccolgono i log delle risorse per il servizio Azure Kubernetes, in particolare per i log di controllo kube-audit. Considerare i consigli seguenti per ridurre la quantità di dati raccolti:
- Disabilitare la
kube-auditregistrazione quando non è necessario. - Abilitare la raccolta da
kube-audit-admin, escludendo gli eventi di controllogetelist. - Abilitare i log specifici delle risorse come descritto in questo articolo e configurare la tabella AKSAudit come log di base.
Per altre raccomandazioni di monitoraggio, vedere Monitorare i cluster del servizio Azure Kubernetes usando i servizi di Azure e gli strumenti nativi del cloud. Per le strategie per ridurre i costi di monitoraggio, vedere Ottimizzazione dei costi e Monitoraggio di Azure.
Il servizio Azure Kubernetes supporta la modalità diagnostica di Azure o la modalità specifica della risorsa per i log delle risorse. La modalità diagnostica di Azure invia tutti i dati alla tabella AzureDiagnostics. La modalità specifica della risorsa specifica le tabelle nell'area di lavoro Log Analytics in cui vengono inviati i dati. Invia anche i dati a AKSAudit, AKSAuditAdmine AKSControlPlane come illustrato nella tabella nei log delle risorse.
È consigliabile usare la modalità specifica della risorsa per AKS per i motivi seguenti:
- I dati sono più facili da interrogare perché si trovano in singole tabelle dedicate ad AKS (Azure Kubernetes Service).
- La modalità specifica delle risorse supporta la configurazione come log di base per risparmi significativi sui costi.
Per altre informazioni sulla differenza tra le modalità di raccolta, inclusa la modifica di un'impostazione esistente, vedere Selezionare la modalità raccolta.
Note
È possibile configurare le impostazioni di diagnostica usando l'interfaccia della riga di comando di Azure. Questo approccio non garantisce un esito positivo perché non verifica lo stato di provisioning del cluster. Dopo aver modificato le impostazioni di diagnostica, verificare che il cluster rifletta le modifiche alle impostazioni.
az monitor diagnostic-settings create --name AKS-Diagnostics --resource /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myresourcegroup/providers/Microsoft.ContainerService/managedClusters/my-cluster --logs '[{"category": "kube-audit","enabled": true}, {"category": "kube-audit-admin", "enabled": true}, {"category": "kube-apiserver", "enabled": true}, {"category": "kube-controller-manager", "enabled": true}, {"category": "kube-scheduler", "enabled": true}, {"category": "cluster-autoscaler", "enabled": true}, {"category": "cloud-controller-manager", "enabled": true}, {"category": "guard", "enabled": true}, {"category": "csi-azuredisk-controller", "enabled": true}, {"category": "csi-azurefile-controller", "enabled": true}, {"category": "csi-snapshot-controller", "enabled": true}]' --workspace /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myresourcegroup/providers/microsoft.operationalinsights/workspaces/myworkspace --export-to-resource-specific true
Query di log di esempio
Importante
Quando si seleziona Logs nel menu di un cluster AKS, Log Analytics si apre con l'ambito di query impostato sul cluster corrente. Le query di log includono solo i dati di tale risorsa. Per eseguire una query che include dati di altri cluster o dati di altri servizi di Azure, scegliere Log dal menu Monitoraggio di Azure. Per maggiori informazioni, vedere Ambito di query di log e intervallo di tempo in Log Analytics.
Se le impostazioni di diagnostica per il cluster utilizzano la modalità di diagnostica di Azure, i log delle risorse per AKS vengono archiviati nella tabella AzureDiagnostics. Identificare i log tramite la colonna Categoria . Per una descrizione di ogni categoria, vedere Log delle risorse di riferimento del servizio Azure Kubernetes.
| Descrizione | Query di log |
|---|---|
| Conteggio dei log per ogni categoria (modalità diagnostica di Azure) |
AzureDiagnostics| where ResourceType == "MANAGEDCLUSTERS"| summarize count() by Category |
| Tutti i log del server API (modalità diagnostica di Azure) |
AzureDiagnostics| where Category == "kube-apiserver" |
| Tutti i log di controllo kube in un intervallo di tempo (modalità diagnostica di Azure) |
let starttime = datetime("2023-02-23");let endtime = datetime("2023-02-24");AzureDiagnostics| where TimeGenerated between(starttime..endtime)| where Category == "kube-audit"| extend event = parse_json(log_s)| extend HttpMethod = tostring(event.verb)| extend User = tostring(event.user.username)| extend Apiserver = pod_s| extend SourceIP = tostring(event.sourceIPs[0])| project TimeGenerated, Category, HttpMethod, User, Apiserver, SourceIP, OperationName, event |
| Tutti i log di controllo (modalità specifica della risorsa) |
AKSAudit |
Tutti i log di controllo eccetto gli eventi di controllo get e list(modalità specifica della risorsa) |
AKSAuditAdmin |
| Tutti i log del server API (modalità specifica della risorsa) |
AKSControlPlane| where Category == "kube-apiserver" |
Per accedere a un set di query predefinite nell'area di lavoro Log Analytics, vedere l'interfaccia query di Log Analytics e selezionare il tipo di risorsa Servizi Kubernetes . Per un elenco di query comuni per informazioni dettagliate sui contenitori, vedere Query di informazioni dettagliate sui contenitori.
Log del piano dati del servizio Azure Kubernetes/Informazioni dettagliate sui contenitori
Informazioni dettagliate sui contenitori raccoglie vari tipi di dati di telemetria dai contenitori e dai cluster del servizio Azure Kubernetes per monitorare, risolvere i problemi e ottenere informazioni dettagliate sulle applicazioni in contenitori in esecuzione nei cluster del servizio Azure Kubernetes. Per un elenco di tabelle e le relative descrizioni dettagliate usate da Informazioni dettagliate sui contenitori, vedere le informazioni di riferimento sulla tabella di Monitoraggio di Azure. Tutte le tabelle sono disponibili per le query di log.
Usare le impostazioni di ottimizzazione dei costi per personalizzare e controllare i dati delle metriche raccolti tramite l'agente di Container Insights. Questa funzionalità supporta le impostazioni di raccolta dati per la selezione di singole tabelle, gli intervalli di raccolta dati e i namespace per escludere la raccolta dati tramite le regole di raccolta dati di Monitoraggio di Azure (DCRs). Queste impostazioni controllano il volume di inserimento e riducono i costi di monitoraggio delle informazioni dettagliate sui contenitori. È possibile personalizzare le informazioni dettagliate sui contenitori raccolte nel portale di Azure usando le opzioni seguenti. Se si selezionano opzioni diverse da Tutte (impostazione predefinita) l'esperienza Informazioni dettagliate contenitore non è disponibile.
| Raggruppamento | Tabelle | Note |
|---|---|---|
| Tutti (impostazione predefinita) | Tutte le tabelle standard di Informazioni dettagliate sui contenitori | Necessario per abilitare le visualizzazioni predefinite di "Container Insights". |
| Prestazioni | Perf, InsightsMetrics | |
| Log ed eventi | ContainerLog o ContainerLogV2, KubeEvents, KubePodInventory | Consigliato se è stato abilitato il servizio gestito per le metriche di Prometheus. |
| Carichi di lavoro, distribuzioni e HPA | InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices | |
| Volumi permanenti | InsightsMetrics, KubePVInventory |
Il raggruppamento di log ed eventi acquisisce i log dalle tabelle ContainerLog o ContainerLogV2, KubeEvents e KubePodInventory, ma non dalle metriche. Il percorso consigliato per raccogliere le metriche consiste nell'abilitare il servizio gestito per Prometheus dal tuo cluster AKS e usare Azure Managed Grafana per la visualizzazione dei dati. Per altre informazioni, vedere Gestire un'area di lavoro di Monitoraggio di Azure.
Schema ContainerLogV2
Informazioni dettagliate sui contenitori in Monitoraggio di Azure offre uno schema consigliato per i log dei contenitori, ContainerLogV2. Il formato include i campi seguenti per le query comuni per visualizzare i dati correlati ad AKS e ai cluster Kubernetes abilitati da Azure Arc:
- ContainerName
- PodName
- PodNamespace
Questo schema è compatibile con il piano dati della tabella dei log di base che offre un'alternativa a basso costo ai log di analisi avanzati. Usare il piano dati della tabella dei log di base per risparmiare sul costo dell'inserimento e dell'archiviazione di log dettagliati e elevati nell'area di lavoro Log Analytics per il debug, la risoluzione dei problemi e il controllo. Non influisce sui costi per l'analisi e gli avvisi. Per altre informazioni, vedere Gestire le tabelle in un'area di lavoro Log Analytics.
È consigliabile usare lo schema predefinito ContainerLogV2 se si esegue l'onboarding di Container insights tramite autenticazione con identità gestita usando un Azure Resource Manager template (modello ARM), Bicep, Terraform, Azure Policy o il portale di Azure. Per altre informazioni su come abilitare ContainerLogV2 tramite DCR o configmap del cluster, vedere Abilitare lo schema ContainerLogV2.
Finestra Log attività di Azure
Il log attività contiene eventi a livello di sottoscrizione che tengono traccia delle operazioni per ogni risorsa di Azure vista dall'esterno, ad esempio la creazione di una nuova risorsa o l'avvio di una macchina virtuale.
Raccolta: gli eventi del log attività vengono generati e raccolti automaticamente in un archivio separato per la visualizzazione nel portale di Azure.
Pianificazione percorso: è possibile inviare i dati del log attività ai log di Monitoraggio di Azure in modo da poterli analizzare insieme ad altri dati di log. Sono disponibili anche altre posizioni, ad esempio Archiviazione di Azure, Hub eventi di Azure e alcuni partner di monitoraggio Microsoft. Per altre informazioni su come instradare i log attività, vedere Informazioni generali sul log attività di Azure.
Visualizzare i log dei container AKS, gli eventi e le metriche dei pod in tempo reale
Usare la funzionalità dati in tempo reale in Informazioni dettagliate sui contenitori per visualizzare i log, gli eventi e le metriche dei pod del servizio Azure Kubernetes. Ottenere l'accesso diretto a kubectl logs -c, kubectl get eventi e kubectl top pods per risolvere i problemi in tempo reale.
Note
Il servizio Azure Kubernetes usa le architetture di registrazione a livello di cluster Kubernetes. I log dei contenitori si trovano nel /var/log/containers nodo . Per accedere a un nodo, vedere Connettersi ai nodi del cluster di AKS.
Per informazioni su come configurare questa funzionalità, vedere Configurare i dati in tempo reale in Informazioni dettagliate sui contenitori. La funzionalità accede direttamente all'API Kubernetes. Per altre informazioni sul modello di autenticazione, vedere l'API Kubernetes.
Visualizzare i log in tempo reale delle risorse del servizio Azure Kubernetes
Note
Per accedere ai log da un cluster privato, è necessario usare un computer che si trova nella stessa rete privata del cluster.
- Nel portale di Azure, vai al cluster AKS.
- In Risorse di Kubernetes, selezionare Carichi di lavoro.
- Per Deployment, Pod, ReplicaSet, StatefulSet, Job o CronJob, selezionare un valore e quindi selezionare Live Logs.
- Selezionare un log delle risorse da visualizzare.
L'esempio seguente mostra i log per una risorsa pod:
Visualizzare i log in tempo reale
È possibile visualizzare i dati di log in tempo reale quando il motore del contenitore lo genera nella scheda Cluster, Nodi, Controller o Contenitori .
- Nel portale di Azure, vai al cluster AKS.
- In Monitoraggio, selezionare Informazioni dettagliate.
- Nella scheda Cluster, Nodi, Controller o Contenitori selezionare un valore.
- Nel riquadro Panoramica della risorsa selezionare Log dinamici.
Note
Per visualizzare i dati dall'area di lavoro Log Analytics, selezionare Visualizza log in Log Analytics. Per altre informazioni sulla visualizzazione di log storici, eventi e metriche, vedere Eseguire query sui log da Container insights.
Dopo l'autenticazione, se è possibile recuperare i dati, inizia lo streaming nella scheda Log live . I dati di log vengono visualizzati qui in un flusso continuo.
L'immagine seguente mostra i log per una risorsa contenitore:
Visualizzare gli eventi live
È possibile visualizzare i dati degli eventi in tempo reale quando il motore del contenitore lo genera nella scheda Cluster, Nodi, Controller o Contenitori .
- Nel portale di Azure, vai al cluster AKS.
- In Monitoraggio, selezionare Informazioni dettagliate.
- Selezionare la scheda Cluster, Nodi, Controller o Contenitori, quindi selezionare un oggetto.
- Nel riquadro Panoramica della risorsa selezionare Eventi live.
Note
Per visualizzare i dati dall'area di lavoro Log Analytics, selezionare Visualizza eventi in Log Analytics. Per altre informazioni sulla visualizzazione di log storici, eventi e metriche, vedere Eseguire query sui log da Container insights.
Dopo l'autenticazione, se è possibile recuperare i dati, inizia lo streaming nella scheda Eventi live . L'immagine seguente mostra gli eventi per una risorsa contenitore:
Visualizzare le metriche
È possibile visualizzare i dati delle metriche in tempo reale quando il motore del contenitore lo genera nella scheda Nodi o controller selezionando una risorsa pod.
- Nel portale di Azure, vai al cluster AKS.
- In Monitoraggio, selezionare Informazioni dettagliate.
- Selezionare la scheda Nodi o controller e quindi selezionare un oggetto pod.
- Nel riquadro Panoramica della risorsa selezionare Metriche attive.
Note
Per visualizzare i dati dall'area di lavoro Log Analytics, selezionare Visualizza eventi in Log Analytics. Per altre informazioni sulla visualizzazione di log storici, eventi e metriche, vedere Eseguire query sui log da Container insights.
Dopo aver completato l'autenticazione, se è possibile recuperare i dati, inizia lo streaming nella scheda Metriche attive . L'immagine seguente mostra le metriche per una risorsa pod:
Analizzare i dati di monitoraggio
Sono disponibili molti strumenti per l'analisi dei dati di monitoraggio.
Strumenti di Monitoraggio di Azure
Il Monitoraggio di Azure supporta gli strumenti di base seguenti:
Esplora metriche, uno strumento nel portale di Azure che consente di visualizzare e analizzare le metriche per le risorse di Azure. Per altre informazioni, vedere Analizzare le metriche con Esplora metriche di Monitoraggio di Azure.
Log Analytics, uno strumento nel portale di Azure che consente di eseguire query e analizzare i dati di log usando il linguaggio di query Kusto (KQL). Per altre informazioni, vedere Introduzione alle query dei log del Monitoraggio di Azure.
Log attività, che dispone di un'interfaccia utente nel portale di Azure per la visualizzazione e le ricerche di base. Per eseguire analisi più approfondite, è necessario instradare i dati verso i log di Monitoraggio di Azure ed eseguire query più complesse in Log Analytics.
Gli strumenti che consentono una visualizzazione più complessa includono:
- I dashboard che consentono di combinare tipi di dati diversi in un singolo riquadro nel portale di Azure.
- Cartelle di lavoro, report personalizzabili che è possibile creare nel portale di Azure. Le cartelle di lavoro possono includere testo, metriche e query di log.
- Grafana è una piattaforma aperta, ideale per i dashboard operativi. È possibile usare Grafana per creare dashboard che includano dati da più origini diverse dal Monitoraggio di Azure.
- Power BI, un servizio di analisi aziendale che fornisce visualizzazioni interattive per un'ampia varietà di origini dati. È possibile configurare per Power BI per importare automaticamente i dati di log da Monitoraggio di Azure per sfruttare i vantaggi di queste visualizzazioni.
Strumenti di esportazione del Monitoraggio di Azure
È possibile ottenere dati dal Monitoraggio di Azure in altri strumenti usando i metodi seguenti:
Metriche: usare l'API REST per le metriche per estrarre i dati delle metriche dal database delle metriche del Monitoraggio di Azure. L'API supporta espressioni di filtro per perfezionare i dati recuperati. Per altre informazioni, vedere Informazioni di riferimento sull'API REST del Monitoraggio di Azure.
Log: usare l'API REST o le librerie client associate.
Un'altra opzione è l'esportazione dati dell'area di lavoro.
Per iniziare a usare l'API REST per il Monitoraggio di Azure, vedere Procedura dettagliata per l'API REST del Monitoraggio di Azure.
Monitorare tramite il riquadro panoramica nel portale di Azure
La scheda Monitoraggio nel riquadro Panoramica per la risorsa cluster del servizio Azure Kubernetes offre un modo rapido per iniziare a visualizzare i dati di monitoraggio nel portale di Azure. Questa scheda include grafici con metriche comuni per il cluster separato dal pool di nodi. È possibile selezionare uno di questi grafici per analizzare ulteriormente i dati in Esplora metriche.
La scheda Monitoraggio include anche collegamenti al servizio gestito di Azure per Prometheus e Informazioni dettagliate sui contenitori per il cluster. È possibile abilitare questi strumenti nella scheda Monitoraggio . È anche possibile visualizzare un banner nella parte superiore del riquadro che consiglia altre funzionalità per migliorare il monitoraggio per il cluster.
Suggerimento
Per accedere alle funzionalità di monitoraggio per tutti i cluster AKS nella sottoscrizione, nella home page del portale di Azure selezionare Azure Monitor.
Query Kusto
È possibile analizzare i dati di monitoraggio nell'archivio dei log/Log Analytics di Monitoraggio di Azure usando il linguaggio di query Kusto (KQL).
Importante
Quando si seleziona Log nel menu del servizio nel portale, Log Analytics si apre con l'ambito della query impostato sul servizio corrente. Questo ambito fa sì che le query di log includano solo i dati di tale tipo di risorsa. Se si vuole eseguire una query che includa dati di altri servizi di Azure, selezionare Log nel menu di Monitoraggio di Azure. Per i dettagli, vedere Ambito e intervallo di tempo delle query su log in Log Analytics di Monitoraggio di Azure.
Per un elenco delle query comuni per qualsiasi servizio, vedere l'interfaccia query di Analisi dei log.
Avvisi
Gli avvisi di Monitoraggio di Azure notificano in modo proattivo quando vengono riscontrate condizioni specifiche nei dati di monitoraggio. Consentono di identificare e risolvere i problemi del sistema prima che gli utenti li notino. Per altre informazioni, vedere Avvisi di Monitoraggio di Azure.
Esistono molte origini di avvisi comuni per le risorse di Azure. Per esempi di avvisi comuni per le risorse di Azure, vedere Query di avviso del log di esempio. Il sito Avvisi di base di Monitoraggio di Azure (AMBA) offre un metodo semi-automatizzato per implementare importanti avvisi, dashboard e linee guida per le metriche della piattaforma. Il sito si applica a un sottoinsieme di servizi di Azure in continua espansione, inclusi tutti i servizi che fanno parte della zona di destinazione di Azure.
Lo schema di avviso comune standardizza l'uso delle notifiche di avviso di Monitoraggio di Azure. Per altre informazioni, vedere lo Schema degli avvisi comuni.
Tipi di avviso
È possibile creare avvisi su qualsiasi metrica o fonte di dati di log nella piattaforma di dati di Monitoraggio di Azure. Esistono molti tipi diversi di avvisi a seconda dei servizi monitorati e dei dati di monitoraggio raccolti. Ogni tipo di avviso presenta vantaggi e svantaggi. Per altre informazioni, vedere Scegliere il tipo di avviso di monitoraggio corretto.
L'elenco seguente descrive i tipi di avvisi del Monitoraggio di Azure che è possibile creare:
- Gli avvisi delle metriche valutano le metriche delle risorse a intervalli regolari. Le metriche possono essere metriche della piattaforma, metriche personalizzate, log di Monitoraggio di Azure convertiti in metriche o metriche di Application Insights. Gli avvisi delle metriche possono anche applicare più condizioni e soglie dinamiche.
- Gli avvisi relativi ai log consentono agli utenti di utilizzare una query di Log Analytics per valutare i log delle risorse con una frequenza predefinita.
- Gli avvisi dei log attività vengono attivati quando si verifica un nuovo evento del log attività che soddisfa le condizioni definite. Gli avvisi sull'integrità delle risorse e gli avvisi sull'integrità dei servizi sono avvisi di log delle attività che segnalano l'integrità dei servizi e delle risorse.
Alcuni servizi di Azure supportano anche avvisi di rilevamento intelligente, avvisi Prometheus o regole di avviso consigliate.
Per alcuni servizi, è possibile effettuare un monitoraggio su larga scala applicando la stessa regola di avviso delle metriche a più risorse dello stesso tipo presenti nella stessa area di Azure. Vengono inviate notifiche singole per ogni risorsa monitorata. Per i servizi e i cloud di Azure supportati, vedere Monitorare più risorse con una regola di avviso.
Regole di avviso consigliate
Per alcuni servizi di Azure, è possibile abilitare le regole di avviso predefinite consigliate.
Il sistema compila un elenco di regole di avviso consigliate in base a:
- Conoscenza del provider di risorse di segnali e soglie importanti per il monitoraggio della risorsa.
- Dati che indicano che avvisi scelgono in genere i clienti per questa risorsa.
Note
Le regole di avviso consigliate sono disponibili per:
- Macchine virtuali
- Risorse del servizio Azure Kubernetes
- Aree di lavoro di Log Analytics
Avvisi basati su metriche prometheus
Quando abiliti la raccolta del servizio gestito per le metriche di Prometheus per il tuo cluster, puoi scaricare una raccolta di regole di avviso consigliate per il servizio gestito di Prometheus.
Il download include le regole seguenti:
| Level | Avvisi |
|---|---|
| Livello cluster | KubeCPUQuotaOvercommitKubeMemoryQuotaOvercommitKubeContainerOOMKilledCountKubeClientErrorsKubePersistentVolumeFillingUpKubePersistentVolumeInodesFillingUpKubePersistentVolumeErrorsKubeContainerWaitingKubeDaemonSetNotScheduledKubeDaemonSetMisScheduledKubeQuotaAlmostFull |
| Livello nodo | KubeNodeUnreachableKubeNodeReadinessFlapping |
| Livello pod | KubePVUsageHighKubeDeploymentReplicasMismatchKubeStatefulSetReplicasMismatchKubeHpaReplicasMismatchKubeHpaMaxedOutKubePodCrashLoopingKubeJobStaleKubePodContainerRestartKubePodReadyStateLowKubePodFailedStateKubePodNotReadyByControllerKubeStatefulSetGenerationMismatchKubeJobFailedKubeContainerAverageCPUHighKubeContainerAverageMemoryHighKubeletPodStartUpLatencyHigh |
Per altre informazioni, vedere Creare avvisi di log da Informazioni dettagliate sui contenitori e Eseguire query nei log di Informazioni dettagliate sui contenitori.
Gli avvisi del log possono misurare due tipi di informazioni per monitorare scenari diversi:
- Conteggio risultati: Conta il numero di righe restituite dalla query. Usare queste informazioni per lavorare con eventi come i registri eventi di Windows, gli eventi syslog e le eccezioni dell'applicazione.
- Calcolo di un valore: esegue un calcolo basato su una colonna numerica. Usare queste informazioni per includere risorse diverse. Un esempio è la percentuale di CPU.
La maggior parte delle query di log confronta un DateTime valore con l'ora corrente usando l'operatore now e tornando indietro di un'ora. Per informazioni su come creare avvisi basati su log, vedere Creare avvisi di log da Informazioni dettagliate sui contenitori.
Regole di avviso del servizio Azure Kubernetes
Nella tabella seguente sono elencate alcune regole di avviso suggerite per il servizio Azure Kubernetes. Questi avvisi sono solo esempi. È possibile impostare avvisi per qualsiasi metrica, voce di log o voce di log attività elencata in Informazioni di riferimento sui dati di monitoraggio di Batch.
| Condizione | Descrizione |
|---|---|
| Percentuale di utilizzo della CPU>95 | Avvisa quando l'utilizzo medio della CPU in tutti i nodi supera la soglia. |
| Percentuale working set di memoria>100 | Avvisa quando il working set medio in tutti i nodi supera la soglia. |
Elementi consigliati di Advisor
Per alcuni servizi, se si verificano condizioni critiche o modifiche imminenti durante le operazioni sulle risorse, viene visualizzato un avviso nella pagina Panoramica del servizio nel portale. È possibile trovare altre informazioni e correzioni consigliate per l'avviso in Consigli di Advisor in Monitoraggio nel menu a sinistra. Durante il normale funzionamento non viene visualizzato nessun consiglio di Advisor.
Per altre informazioni su Azure Advisor, vedere Informazioni generali su Azure Advisor.
Note
Se si crea o si esegue un'applicazione che viene eseguita nel servizio, Application Insights del Monitoraggio di Azure potrebbe offrire più tipi di avvisi.
Metriche di rete del nodo
Le metriche di rete dei nodi sono fondamentali per mantenere un cluster Kubernetes integro ed efficiente. Raccogliendo e analizzando i dati sul traffico di rete, è possibile ottenere informazioni dettagliate preziose sull'operazione del cluster e identificare potenziali problemi prima di causare interruzioni o perdite di prestazioni.
In Kubernetes versione 1.29 e successive le metriche di rete dei nodi sono abilitate per impostazione predefinita per tutti i cluster con Monitoraggio di Azure abilitato.
Le metriche di rete dei nodi seguenti sono abilitate per impostazione predefinita e vengono aggregate per ogni nodo. Tutte le metriche includono il cluster di etichette e l'istanza (nome del nodo). È possibile visualizzare facilmente queste metriche utilizzando il dashboard di Grafana gestito sotto Azure Managed Prometheus>Kubernetes>Networking>Clusters.
Metriche a livello di nodo
Le metriche seguenti vengono aggregate per ciascun nodo.
metriche Node-Level
Tutte le metriche includono queste etichette:
cluster-
instance(nome nodo)
Per gli scenari del piano dati Cilium, la funzionalità Container Network Observability fornisce metriche solo per Linux. Attualmente, le metriche di osservabilità della rete dei contenitori non sono supportate su Windows.
Cilium espone diverse metriche usate da Container Network Observability:
| Nome della metrica di misura | Descrizione | Etichette aggiuntive | Linux | Windows |
|---|---|---|---|---|
| cilium_forward_count_total | Numero totale di pacchetti inoltrati | direction |
✅ | ❌ |
| cilium_forward_bytes_total | Totale conteggio byte inoltrati | direction |
✅ | ❌ |
| cilium_drop_count_total | Totale conteggio pacchetti eliminati |
direction, reason |
✅ | ❌ |
| cilium_drop_bytes_total | Totale conteggio byte eliminati |
direction, reason |
✅ | ❌ |
Disabilitazione della raccolta delle metriche di rete del nodo
È possibile disabilitare la raccolta di metriche di rete in nodi specifici aggiungendo l'etichetta networking.azure.com/node-network-metrics=disabled a tali nodi.
Note
Retina ha una operator: "Exists"effect: NoSchedule tollerazione, quindi bypasserà i taints NoSchedule. Pertanto, le etichette vengono usate invece di taints per controllare la pianificazione.
Se il cluster esegue il provisioning automatico/la scalabilità automatica dei nodi, l'utente dovrà abilitare manualmente il flag in ogni nodo.
Importante
Questa funzionalità non è applicabile se nel cluster è abilitato Advanced Container Networking Services (ACNS).
Per disabilitare la raccolta di metriche in un nodo:
kubectl label node <node-name> networking.azure.com/node-network-metrics=disabled
Per informazioni dettagliate sulle metriche a livello di pod e DNS, vedere Servizi di rete dei contenitori avanzati.
Contenuti correlati
- Per informazioni di riferimento su metriche, log e altri valori importanti creati per il servizio Azure Kubernetes, vedere informazioni di riferimento sui dati di monitoraggio del servizio Azure Kubernetes.
- Per informazioni generali sul monitoraggio delle risorse di Azure, vedere Monitorare le risorse di Azure usando Monitoraggio di Azure.
Azure Kubernetes Service