Configurare la raccolta dati e l'ottimizzazione dei costi in Informazioni dettagliate sui contenitori usando la regola di raccolta dati
Questo articolo descrive come configurare la raccolta dati in Informazioni dettagliate sui contenitori usando la regola di raccolta dati (DCR) per il cluster Kubernetes. Sono incluse le configurazioni predefinite per ottimizzare i costi. Quando si esegue l'onboarding di un cluster in Informazioni dettagliate sui contenitori, viene creato un registro DCR. Questo DCR viene usato dall'agente in contenitori per definire la raccolta dati per il cluster.
Il DCR viene usato principalmente per configurare la raccolta dati dei dati relativi alle prestazioni e all'inventario e per configurare l'ottimizzazione dei costi.
Una configurazione specifica che è possibile eseguire con il Registro Azure Container include:
- Abilitare/disabilitare il filtro della raccolta e dello spazio dei nomi per i dati relativi alle prestazioni e all'inventario.
- Definire l'intervallo di raccolta per i dati sulle prestazioni e l'inventario
- Abilitare/disabilitare la raccolta Syslog
- Selezionare lo schema del log
Importante
La configurazione completa della raccolta di dati in Informazioni dettagliate sui contenitori può richiedere la modifica di DCR e ConfigMap per il cluster, perché ogni metodo consente la configurazione di un set di impostazioni diverso.
Vedere Configurare la raccolta dati in Informazioni dettagliate sui contenitori usando ConfigMap per un elenco di impostazioni e il processo per configurare la raccolta dati usando ConfigMap.
Prerequisiti
- I cluster del servizio Azure Kubernetes devono usare l'identità gestita assegnata dal sistema o dall'utente. Se il cluster usa un'entità servizio, è necessario eseguire l'aggiornamento a Identità gestita.
Configurare la raccolta dei dati
Il DCR creato quando si abilita Informazioni dettagliate contenitore è denominato MSCI-cluster-region-cluster-name><<>. È possibile visualizzarla nel portale di Azure selezionando l'opzione Regole di raccolta dati nel menu Monitoraggio del portale di Azure. Anziché modificare direttamente il Registro Azure Container, è consigliabile usare uno dei metodi descritti di seguito per configurare la raccolta dati. Per informazioni dettagliate sulle diverse impostazioni disponibili usate da ogni metodo, vedere Parametri di raccolta dati.
Avviso
L'esperienza predefinita di Informazioni dettagliate sui contenitori dipende da tutti i flussi di dati esistenti. La rimozione di uno o più flussi predefiniti rende l'esperienza di Informazioni dettagliate contenitore non disponibile ed è necessario usare altri strumenti, ad esempio dashboard Grafana e query di log per analizzare i dati raccolti.
È possibile usare il portale di Azure per abilitare l'ottimizzazione dei costi nel cluster esistente dopo l'abilitazione di Informazioni dettagliate sui contenitori oppure abilitare Informazioni dettagliate sui contenitori nel cluster insieme all'ottimizzazione dei costi.
Selezionare il cluster nel portale di Azure.
Selezionare l'opzione Insights nella sezione Monitoraggio del menu.
Se nel cluster sono già state abilitate informazioni dettagliate sui contenitori, selezionare il pulsante Monitoraggio Impostazioni. In caso contrario, selezionare Configura Monitoraggio di Azure e vedere Abilitare il monitoraggio nel cluster Kubernetes con Monitoraggio di Azure per informazioni dettagliate sull'abilitazione del monitoraggio.
Per il servizio Azure Kubernetes e Kubernetes abilitato per Arc, selezionare Usa identità gestita se non è ancora stata eseguita la migrazione del cluster all'autenticazione dell'identità gestita.
Selezionare uno dei set di impostazioni dei costi descritti in Set di impostazioni dei costi.
Per personalizzare le impostazioni, fare clic su Modifica impostazioni raccolta. Per informazioni dettagliate su ogni impostazione, vedere Parametri di raccolta dati. Per i dati raccolti, vedere Dati raccolti di seguito.
Fare clic su Configura per salvare le impostazioni.
Set di impostazioni di costo
Quando si usa il portale di Azure per configurare l'ottimizzazione dei costi, è possibile selezionare le configurazioni predefinite seguenti. È possibile selezionare una di queste impostazioni o specificare impostazioni personalizzate. Per impostazione predefinita, Informazioni dettagliate contenitore usa il set di impostazioni Standard .
Set di impostazioni dei costi | Frequenza di raccolta | Filtri dello spazio dei nomi | Raccolta Syslog | Dati raccolti |
---|---|---|---|---|
Standard | 1 m | None | Non abilitata | Tutte le tabelle di informazioni dettagliate sui contenitori standard |
Ottimizzato per i costi | 5 m | Esclude kube-system, gatekeeper-system, azure-arc | Non abilitata | Tutte le tabelle di informazioni dettagliate sui contenitori standard |
syslog | 1 m | None | Abilitata per impostazione predefinita | Tutte le tabelle di informazioni dettagliate sui contenitori standard |
Log ed eventi | 1 m | None | Non abilitata | ContainerLog/ContainerLogV2 KubeEvents KubePodInventory |
Dati raccolti
L'opzione Dati raccolti consente di selezionare le tabelle popolate per il cluster. Questo è l'equivalente del parametro quando si esegue la configurazione con l'interfaccia della riga di streams
comando o ARM. Se si seleziona un'opzione diversa da Tutti (impostazione predefinita), l'esperienza Informazioni dettagliate contenitore diventa non disponibile ed è necessario usare Grafana o altri metodi per analizzare i dati raccolti.
Raggruppamento | Tabelle | Note |
---|---|---|
Tutte (impostazione predefinita) | Tutte le tabelle di informazioni dettagliate sui contenitori standard | Obbligatorio per abilitare le visualizzazioni predefinite di Informazioni dettagliate contenitore |
Prestazioni | Perf, InsightsMetrics | |
Log ed eventi | ContainerLog o ContainerLogV2, KubeEvents, KubePodInventory | Consigliato se sono state abilitate le metriche di Prometheus gestite |
Carichi di lavoro, distribuzioni e HPA | InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices | |
Volumi permanenti | InsightsMetrics, KubePVInventory |
Parametri di raccolta dati
Nella tabella seguente vengono descritte le impostazioni di raccolta dati supportate e il nome usato per ognuna per diverse opzioni di onboarding.
Nome | Descrizione |
---|---|
Frequenza di raccolta Interfaccia della riga di comando: interval BRACCIO: dataCollectionInterval |
Determina la frequenza con cui l'agente raccoglie i dati. I valori validi sono 1m - 30m in intervalli di 1m. Il valore predefinito è 1m. Se il valore non è compreso nell'intervallo consentito, il valore predefinito è 1 m. |
Filtro dello spazio dei nomi Interfaccia della riga di comando: namespaceFilteringMode BRACCIO: namespaceFilteringModeForDataCollection |
Includi: raccoglie solo i dati dai valori nel campo spazi dei nomi . Escludi: raccoglie i dati da tutti gli spazi dei nomi, ad eccezione dei valori nel campo spazi dei nomi . Off: ignora le selezioni degli spazi dei nomi e raccoglie i dati in tutti gli spazi dei nomi. |
Filtro dello spazio dei nomi Interfaccia della riga di comando: namespaces BRACCIO: namespacesForDataCollection |
Matrice di spazi dei nomi Kubernetes separati da virgole per raccogliere i dati di inventario e prestazioni in base allo spazio dei nomiFilteringMode. Ad esempio, spazi dei nomi = ["kube-system", "default"] con un'impostazione di inclusione raccoglie solo questi due spazi dei nomi. Con un'impostazione Exclude , l'agente raccoglie i dati da tutti gli altri spazi dei nomi, ad eccezione di kube-system e default. Con un'impostazione Disattivata, l'agente raccoglie i dati da tutti gli spazi dei nomi, tra cui kube-system e impostazione predefinita. Gli spazi dei nomi non validi e non riconosciuti vengono ignorati. |
Abilitare ContainerLogV2 Interfaccia della riga di comando: enableContainerLogV2 BRACCIO: enableContainerLogV2 |
Flag booleano per abilitare lo schema ContainerLogV2. Se impostato su true, i log stdout/stderr vengono inseriti nella tabella ContainerLogV2 . In caso contrario, i log del contenitore vengono inseriti nella tabella ContainerLog , a meno che non diversamente specificato in ConfigMap. Quando si specificano i singoli flussi, è necessario includere la tabella corrispondente per ContainerLog o ContainerLogV2. |
Dati raccolti Interfaccia della riga di comando: streams BRACCIO: streams |
Matrice di flussi di tabelle di informazioni dettagliate sui contenitori. Vedere i flussi supportati sopra al mapping delle tabelle. |
Tabelle e metriche applicabili
Le impostazioni per la frequenza di raccolta e il filtro dello spazio dei nomi non si applicano a tutti i dati di Informazioni dettagliate contenitore. Le tabelle seguenti elencano le tabelle nell'area di lavoro Log Analytics usate da Informazioni dettagliate contenitore e le metriche raccolte insieme alle impostazioni applicabili a ognuna.
Nota
Questa funzionalità configura le impostazioni per tutte le tabelle di informazioni dettagliate sui contenitori, ad eccezione di ContainerLog e ContainerLogV2. Per configurare le impostazioni per queste tabelle, aggiornare ConfigMap descritto nelle impostazioni di raccolta dati dell'agente.
Nome tabella | Intervallo? | Namespaces? | Osservazioni: |
---|---|---|---|
ContainerInventory | Sì | Sì | |
ContainerNodeInventory | Sì | No | L'impostazione della raccolta dati per gli spazi dei nomi non è applicabile perché il nodo Kubernetes non è una risorsa con ambito spazio dei nomi |
KubeNodeInventory | Sì | No | L'impostazione della raccolta dati per gli spazi dei nomi non è applicabile al nodo Kubernetes non è una risorsa con ambito spazio dei nomi |
KubePodInventory | Sì | Sì | |
KubePVInventory | Sì | Sì | |
KubeServices | Sì | Sì | |
KubeEvents | No | Sì | L'impostazione della raccolta dati per l'intervallo non è applicabile agli eventi kubernetes |
Perf | Sì | Sì | L'impostazione della raccolta dati per gli spazi dei nomi non è applicabile alle metriche correlate al nodo Kubernetes perché il nodo Kubernetes non è un oggetto con ambito dello spazio dei nomi. |
InsightsMetrics | Sì | Sì | Le impostazioni di raccolta dati sono applicabili solo per le metriche che raccolgono gli spazi dei nomi seguenti: container.azm.ms/kubestate, container.azm.ms/pv e container.azm.ms/gpu |
Spazio dei nomi delle metriche | Intervallo? | Namespaces? | Osservazioni: |
---|---|---|---|
Insights.container/nodes | Sì | No | Node non è una risorsa con ambito spazio dei nomi |
Insights.container/pods | Sì | Sì | |
Insights.container/containers | Sì | Sì | |
Insights.container/persistentvolumes | Sì | Sì |
Valori di flusso
Quando si specificano le tabelle da raccogliere usando l'interfaccia della riga di comando o ARM, è necessario specificare un nome di flusso corrispondente a una determinata tabella nell'area di lavoro Log Analytics. La tabella seguente elenca il nome del flusso per ogni tabella.
Nota
Se si ha familiarità con la struttura di una regola di raccolta dati, i nomi dei flussi in questa tabella vengono specificati nella sezione flussi di dati del record di controllo di dominio.
Stream | Tabella informazioni dettagliate sui contenitori |
---|---|
Microsoft-ContainerInventory | ContainerInventory |
Microsoft-ContainerLog | ContainerLog |
Microsoft-ContainerLogV2 | ContainerLogV2 |
Microsoft-ContainerNodeInventory | ContainerNodeInventory |
Microsoft-InsightsMetrics | InsightsMetrics |
Microsoft-KubeEvents | KubeEvents |
Microsoft-KubeMonAgentEvents | KubeMonAgentEvents |
Microsoft-KubeNodeInventory | KubeNodeInventory |
Microsoft-KubePodInventory | KubePodInventory |
Microsoft-KubePVInventory | KubePVInventory |
Microsoft-KubeServices | KubeServices |
Microsoft-Perf | Perf |
Impatto sulle visualizzazioni e sugli avvisi
Se attualmente si usano le tabelle precedenti per altri avvisi o grafici personalizzati, la modifica delle impostazioni di raccolta dati potrebbe compromettere tali esperienze. Se si escludono spazi dei nomi o si riduce la frequenza di raccolta dei dati, esaminare gli avvisi, i dashboard e le cartelle di lavoro esistenti usando questi dati.
Per cercare avvisi che fanno riferimento a queste tabelle, eseguire la query di Azure Resource Graph seguente:
resources
| where type in~ ('microsoft.insights/scheduledqueryrules') and ['kind'] !in~ ('LogToMetric')
| extend severity = strcat("Sev", properties["severity"])
| extend enabled = tobool(properties["enabled"])
| where enabled in~ ('true')
| where tolower(properties["targetResourceTypes"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["targetResourceType"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["scopes"]) matches regex 'providers/microsoft.operationalinsights/workspaces($|/.*)?'
| where properties contains "Perf" or properties contains "InsightsMetrics" or properties contains "ContainerInventory" or properties contains "ContainerNodeInventory" or properties contains "KubeNodeInventory" or properties contains"KubePodInventory" or properties contains "KubePVInventory" or properties contains "KubeServices" or properties contains "KubeEvents"
| project id,name,type,properties,enabled,severity,subscriptionId
| order by tolower(name) asc
Passaggi successivi
- Vedere Configurare la raccolta dati in Informazioni dettagliate sui contenitori usando ConfigMap per configurare la raccolta dati usando ConfigMap anziché il DCR.