Condividi tramite


Raccolta di log su larga scala in Insights per il contenitore (anteprima)

La modalità a scalabilità elevata è una funzionalità di Informazioni dettagliate sui contenitori che consente di raccogliere i log della console del contenitore (stdout e stderr) con velocità effettiva elevata dai nodi del cluster del servizio Azure Kubernetes. Questa funzionalità consente di raccogliere fino a 50.000 log/sec per nodo.

Nota

Questa funzionalità è attualmente in anteprima pubblica. Per altre informazioni, leggere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure.

Panoramica

Quando la modalità a scalabilità elevata è abilitata, Informazioni dettagliate sui contenitori esegue più modifiche di configurazione con conseguente velocità effettiva complessiva più elevata. Ciò include l'uso di un agente aggiornato e di una pipeline di dati di Monitoraggio di Azure con miglioramenti della scalabilità. Queste modifiche vengono apportate in background da Monitoraggio di Azure e non richiedono input o configurazione dopo l'abilitazione della funzionalità.

La modalità a scalabilità elevata influisce solo sul livello di raccolta dati. Il resto dell'esperienza informazioni dettagliate sui contenitori rimane invariato, con i log inseriti nella stessa tabella ContainerLogV2. Le query e gli avvisi esistenti continuano a funzionare perché vengono raccolti gli stessi dati.

Per ottenere la velocità effettiva massima supportata dei log, è consigliabile usare SKU di macchine virtuali di fascia alta con 16 core CPU o più per i nodi del cluster del servizio Azure Kubernetes. L'uso di SKU di macchine virtuali di fascia bassa influirà sulla velocità effettiva dei log.

Il cluster è idoneo?

La raccolta di log su larga scala è adatta per gli ambienti che inviano più di 2.000 log/sec (o 2 MB/sec) per nodo nei cluster Kubernetes ed è stata progettata e testata per l'invio di fino a 50.000 log/sec per nodo. Usare le query di log seguenti per determinare se il cluster è adatto per la raccolta di log su larga scala.

Log al secondo e per nodo

ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>" 
| summarize count() by bin(TimeGenerated, 1s), Computer 
| render timechart 

Dimensioni del log (in MB) al secondo per ogni nodo

 ContainerLogV2 
| where _ResourceId = "<cluster-resource-id>"
| summarize BillableDataMB = sum(_BilledSize)/1024/1024 by bin(TimeGenerated, 1s), Computer 
| render timechart 

Prerequisiti

  • Interfaccia della riga di comando di Azure versione 2.63.0 o successiva.
  • La versione dell'estensione dell'interfaccia della riga di comando dell'anteprima del servizio Azure Kubernetes deve essere 7.0.0b4 o successiva se è installata un'estensione dell'interfaccia della riga di comando aks-preview.
  • Lo schema del cluster deve essere configurato per ContainerLogV2.
  • Se i limiti predefiniti delle risorse (CPU e memoria) nel contenitore del set di ama-logs daemon non soddisfano i requisiti di scalabilità dei log, contattare il canale di supporto Microsoft per aumentare i limiti delle risorse del contenitore ama-logs.

Requisiti del firewall di rete

Oltre ai requisiti del firewall di rete per il monitoraggio di un cluster Kubernetes, sono necessarie configurazioni aggiuntive nella tabella seguente per abilitare la modalità a scalabilità elevata a seconda del cloud.

Cloud Endpoint Porta
Cloud pubblico di Azure <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.com 443
Microsoft Azure gestito da 21Vianet cloud <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.cn 443
Cloud di Azure per enti pubblici <dce-name>-<suffix>.<cluster-region-name>-<suffix>.ingest.monitor.azure.us 443

L'endpoint è il Log inserimento dell’endpoint dall'endpoint di raccolta dati (DCE) per la regola di raccolta dati (DCR) usata dal cluster. Questo DCE viene creato quando si abilita la modalità a scalabilità elevata per il cluster e inizierà con il prefisso MSCI-ingest.

Screenshot dell'endpoint di inserimento dei log per DCE.

Limiti

Gli scenari seguenti non sono supportati durante la versione di anteprima. Questi verranno risolti quando la funzionalità diventa disponibile a livello generale.

  • Cluster del servizio Azure Kubernetes con nodi Arm64
  • Kubernetes con abilitazione di Azure Arc
  • Proxy HTTP con certificato attendibile
  • Onboarding tramite il portale di Azure, Criteri di Azure, Terraform e Bicep
  • Configurazione tramite Monitorare le Impostazioni nell'esperienza del portale di Azure Kubernetes Insights
  • Migrazione automatica da Informazioni dettagliate sui contenitori esistente

Abilitare la raccolta di log su larga scala

Seguire i due passaggi nelle sezioni seguenti per abilitare la modalità a scalabilità elevata per il cluster.

Nota

La modalità a scalabilità elevata dei log richiede un endpoint di raccolta dati (DCE) per l'inserimento. Un DCE di inserimento viene creato con il prefisso MSCI-ingest per ogni cluster durante l'onboarding. Se l'ambito del collegamento privato di Monitoraggio di Azure è configurato, verrà creato anche DCE di configurazione con il prefisso MSCI-config.

Aggiornare configmap

Il primo passaggio consiste nell'aggiornare configmap per il cluster per indicare le Informazioni dettagliate sui contenitori ai pod ama-logs di eseguire in modalità a scalabilità elevata.

Seguire le indicazioni in Configurare e distribuire ConfigMap per scaricare e aggiornare ConfigMap per il cluster. L'unica modifica da apportare per i log su larga scala consiste nell'abilitare agent_settings.high_log_scale in agent-settings come illustrato di seguito:

[agent_settings.high_log_scale] 
  enabled = true 

Dopo aver applicato questo file configmap, ama-logs-* pod verranno riavviati automaticamente e verranno configurati i pod daemonset ama-logs per l'esecuzione in modalità a scalabilità elevata.

Abilitare la modalità a scalabilità elevata per il componente aggiuntivo Monitoraggio

Abilitare il componente aggiuntivo Monitoraggio con la modalità a scalabilità elevata usando i comandi seguenti dell'interfaccia della riga di comando di Azure per abilitare la modalità log su larga scala per il componente aggiuntivo Monitoraggio a seconda della configurazione del servizio Azure Kubernetes.

Nota

Anziché l'interfaccia della riga di comando, è possibile usare un modello di Resource Manager per abilitare la modalità a scalabilità elevata per il componente aggiuntivo Monitoraggio. Per indicazioni sull'abilitazione di Informazioni dettagliate sui contenitori con un modello di Resource Manager, vedereAbilitare Informazioni dettagliate sui contenitori. Per abilitare la modalità a scalabilità elevata, usare Microsoft-ContainerLogV2-HighScale anziché Microsoft-ContainerLogV2 nel parametro streams come descritto in Configurare DCR con i modelli di Resource Manager.

Cluster del servizio Azure Kubernetes

az aks enable-addons -a monitoring -g <resource-group-name> -n <cluster-name> --enable-high-log-scale-mode  

Cluster privato del servizio Azure Kubernetes esistente

az aks enable-addons -a monitoring -g  <resource-group-name> -n <cluster-name> --enable-high-scale-mode --ampls-resource-id /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/microsoft.insights/privatelinkscopes/<resourceName> 

Nuovo cluster del servizio Azure Kubernetes

az aks create -g <cluster-name> -n <cluster-name> enable-addons -a monitoring --enable-high-log-scale-mode  

Nuovo cluster privato del servizio Azure Kubernetes

Vedere Creare un cluster del servizio Azure Kubernetes privato per informazioni dettagliate sulla creazione di un cluster privato del servizio Azure Kubernetes. Usare i parametri aggiuntivi --enable-high-scale-mode e --ampls-resource-id per configurare la modalità a scalabilità elevata con l'ID risorsa ambito collegamento privato di Monitoraggio di Azure.

Migrazione

Se le informazioni dettagliate sui contenitori sono già abilitate per il cluster, è necessario disabilitarla e quindi riabilitarla con la modalità a scalabilità elevata.

  • Poiché la modalità a scalabilità elevata usa una pipeline di dati diversa, è necessario assicurarsi che gli endpoint della pipeline non siano bloccati da un firewall o da altre connessioni di rete.
  • La modalità a scalabilità elevata richiede un endpoint di raccolta dati (DCE) per l'inserimento oltre al DCR standard per la raccolta dati. Se sono state creati DCR che usano Microsoft.ContainerLogV2, è necessario sostituirlo con Microsoft.ContainerLogV2-HighScale o i dati verranno duplicati. È anche necessario creare un DCE per l'inserimento e collegarlo al DCR se il DCR non ne usa già uno. Per informazioni di riferimento sulle dipendenze, vedere l’Onboarding di Informazioni dettagliate sui contenitori tramite Azure Resource Manager.

Passaggi successivi