Condividi tramite


Ottimizzare i costi di monitoraggio per le informazioni dettagliate sui contenitori

I cluster Kubernetes generano una grande quantità di dati che vengono raccolti da Container Insights. Poiché viene addebitato il costo per l'inserimento e la conservazione di questi dati, si vuole configurare l'ambiente in modo da ottimizzare i costi. È possibile ridurre significativamente i costi di monitoraggio filtrando i dati non necessari e ottimizzando anche la configurazione dell'area di lavoro Log Analytics in cui si archiviano i dati.

Dopo aver analizzato i dati raccolti e determinato se sono presenti dati non necessari, sono disponibili diverse opzioni per filtrare i dati che non si desidera raccogliere. Si va dalla selezione di una serie di configurazioni di costo predefinite all'utilizzo di diverse funzionalità per filtrare i dati in base a criteri specifici. Questo articolo fornisce una guida dettagliata su come analizzare e ottimizzare la raccolta dei dati per l'analisi dei container.

Analizzare l'inserimento dati

Per identificare le migliori opportunità di risparmio sui costi, analizzare la quantità di dati raccolti in tabelle diverse. Queste informazioni consentono di identificare quali tabelle utilizzano la maggior parte dei dati, consentendo di prendere decisioni informate su come ridurre i costi.

È possibile visualizzare la quantità di dati inseriti in ogni area di lavoro usando il runbook Utilizzo di Container Insights, disponibile nella pagina Cartelle di lavoro di un cluster monitorato.

Screenshot che mostra l'elenco a discesa Visualizza cartelle di lavoro.

Il report permette di visualizzare l'utilizzo dei dati in base a categorie diverse, ad esempio tabella, spazio dei nomi e origine log. Utilizzare queste diverse visualizzazioni per determinare i dati non necessari e che possono essere filtrati per ridurre i costi.

Screenshot che mostra un esempio della cartella di lavoro di utilizzo dei dati.

Selezionare l'opzione per aprire la query in Log Analytics in cui è possibile eseguire analisi più dettagliate, tra cui la visualizzazione dei singoli record raccolti. Vedere Log di query da Informazioni dettagliate contenitore per altre query che è possibile utilizzare per l'analisi dei dati raccolti.

Ad esempio, lo screenshot seguente mostra una modifica alla query di log usata da Per tabella, che mostra i dati in base allo spazio dei nomi e alla tabella.

Screenshot che mostra una query di log che mostra l'utilizzo in base allo spazio dei nomi e alla tabella.

Filtrare i dati raccolti

Dopo aver identificato i dati che è possibile filtrare, usare diverse opzioni di configurazione in Informazioni dettagliate contenitore per filtrare i dati che non sono necessari. Le opzioni sono disponibili per selezionare configurazioni predefinite, impostare singoli parametri e utilizzare query di log personalizzate per filtrare in modo dettagliato.

Preimpostazioni di registro

Il modo più semplice per filtrare i dati consiste nell'usare i set di impostazioni dei log nel portale di Azure da Monitor Monitor Settings (Impostazioni monitoraggio>). Ogni set predefinito include diversi set di tabelle da raccogliere in base a diversi profili di operazione e di costo. I set di impostazioni dei log sono progettati per facilitare la configurazione rapida della raccolta dei dati in base agli scenari comuni.

Screenshot che mostra le opzioni dei dati raccolti.

Suggerimento

Se hai configurato il cluster per utilizzare l'esperienza Prometheus per le Informazioni dettagliate sui container, puoi disabilitare la raccolta Prestazioni poiché i dati sulle prestazioni vengono raccolti da Prometheus.

Per informazioni dettagliate sulla selezione di un set di impostazioni di log, vedere Configurare DCR con il portale di Azure

Opzioni di filtro

Dopo aver scelto un set di impostazioni di log appropriato, è possibile filtrare dati aggiuntivi usando i diversi metodi nella tabella seguente. Ogni opzione consente di filtrare i dati in base a criteri diversi. Al termine della configurazione, è consigliabile raccogliere solo i dati necessari per l'analisi e l'invio di avvisi.

Filtra per Descrizione
Tabelle Modificare manualmente la Regola di Raccolta Dati se si desidera selezionare singole tabelle da popolare, diverse dai gruppi preimpostati di log. Ad esempio, è possibile raccogliere ContainerLogV2 ma non raccogliere KubeEvents inclusi nello stesso set di impostazioni di log.

Per un elenco dei flussi da utilizzare nel DCR, vedere Valori di flusso nel DCR e seguire le indicazioni.
Log dei contenitori ContainerLogV2 archivia i record stdout/stderr generati dai contenitori nel cluster. Anche se puoi disabilitare la raccolta dell'intera tabella utilizzando le Data Collection Rules (DCR), puoi configurare separatamente la raccolta dei log stderr e stdout mediante il ConfigMap per il cluster. Poiché le impostazioni stdout e stderr possono essere configurate separatamente, è possibile scegliere di abilitare una e non l'altra.

Per informazioni dettagliate sul filtro dei log dei contenitori, vedere Filtrare i log dei contenitori.
Spazio dei nomi Gli spazi dei nomi in Kubernetes vengono usati per raggruppare le risorse all'interno di un cluster. È possibile escludere i dati dalle risorse in spazi dei nomi specifici che non sono necessari. Utilizzando il DCR, è possibile filtrare i dati sulle prestazioni in base al namespace, se è stata abilitata la raccolta per la tabella Perf. Usare ConfigMap per filtrare nei log stdout e stderr i dati per particolari namespace.

Vedere Filtrare i log dei contenitori per i dettagli sul filtraggio dei log in base allo spazio dei nomi e Filtrare i log della piattaforma (spazi dei nomi del sistema Kubernetes) per ulteriori dettagli sullo spazio dei nomi del sistema.
Pod e contenitori Il filtro delle annotazioni consente di filtrare i log dei contenitori in base alle annotazioni effettuate nel pod. Usando ConfigMap è possibile specificare se i log stdout e stderr devono essere raccolti per i singoli pod e contenitori.

Per informazioni dettagliate sull'aggiornamento di ConfigMap e sull'impostazione delle annotazioni nei pod, vedere Filtro basato sulle annotazioni per i carichi di lavoro.

Trasformazioni

Le trasformazioni del tempo di inserimento consentono di applicare una query KQL per filtrare e trasformare i dati nella pipeline di Monitoraggio di Azure prima che vengano archiviati nell'area di lavoro Log Analytics. In questo modo è possibile filtrare i dati in base ai criteri che non è possibile eseguire con le altre opzioni.

Ad esempio, è possibile scegliere di filtrare i log dei contenitori in base al livello di log in ContainerLogV2. È possibile aggiungere una trasformazione al DCR di Container insights che eseguirà la funzionalità nel diagramma seguente. In questo esempio vengono raccolti solo gli eventi di livello error e critical, mentre tutti gli altri eventi vengono ignorati.

Una strategia alternativa consiste nel salvare gli eventi meno importanti in una tabella separata configurata per i log di base. Gli eventi sarebbero ancora disponibili per la risoluzione dei problemi, ma con un notevole risparmio sui costi per l'inserimento dati.

Per dettagli sull'aggiunta di una trasformazione al DCR di Container insights, incluse alcune DCR di esempio con trasformazioni, vedere Trasformazioni dei dati in Container insights.

Configurare i piani tariffari

I log di base in Monitoraggio di Azure offrono uno sconto significativo sul costo per l'inserimento dati nell'area di lavoro Log Analytics per i dati usati occasionalmente a scopo di debug e per la risoluzione dei problemi. Le tabelle configurate per i log di base offrono uno sconto significativo sul costo per l'inserimento dati a fronte di un costo per le query di log, il che significa che sono ideali per i dati necessari, ma a cui si accede raramente.

Configurare ContainerLogV2 per i log di base per ridurre significativamente i costi di inserimento dei dati per i log dei contenitori. Vedere Strategie di avviso convenienti per il servizio Azure Kubernetes per strategie diverse per continuare ad inviare avvisi sui log dei contenitori con questa tabella configurata per i log di base.

Strategie di avviso convenienti

Gli avvisi sono una parte fondamentale del monitoraggio dei carichi di lavoro nel servizio Azure Kubernetes. L'invio di avvisi avanzati richiede log a livello di Analisi nell'area di lavoro Log Analytics, ma questo può essere proibitivo per gli ambienti con volumi elevati o per determinati tipi di log, ad esempio i log di controllo.

È possibile ridurre significativamente i costi di inserimento dei dati convertendo le tabelle che contengono i log dei contenitori in log di base e sfruttando altre strategie convenienti della piattaforma Log Analytics. Azure Monitor fornisce opzioni per gli avvisi basati su eventi e su riepilogo in queste tabelle, offrendoti un maggiore controllo sui costi senza sacrificare la visibilità sull'integrità e sul comportamento dei carichi di lavoro AKS. Per saperne di più, vedere Strategie di avviso efficaci dal punto di vista dei costi per AKS.

Passaggi successivi

Per comprendere quali costi sono probabilmente basati su modelli di utilizzo recenti dei dati raccolti con Informazioni dettagliate sui contenitori, vedere Analizzare l'utilizzo in un'area di lavoro Log Analytics.