Gegevensverzameling en kostenoptimalisatie configureren in Container Insights met behulp van een regel voor gegevensverzameling

In dit artikel wordt beschreven hoe u gegevensverzameling in Container Insights configureert met behulp van de regel voor gegevensverzameling (DCR) voor uw Kubernetes-cluster. Dit omvat vooraf ingestelde configuraties voor het optimaliseren van uw kosten. Er wordt een DCR gemaakt wanneer u een cluster onboardt naar Container Insights. Deze DCR wordt door de containeragent gebruikt om gegevensverzameling voor het cluster te definiƫren.

De DCR wordt voornamelijk gebruikt voor het configureren van gegevensverzameling van prestatie- en inventarisgegevens en voor het configureren van kostenoptimalisatie.

Specifieke configuratie die u kunt uitvoeren met de DCR omvat:

  • Verzamelings- en naamruimtefilters in- of uitschakelen voor prestatie- en inventarisgegevens.
  • Verzamelingsinterval definiĆ«ren voor prestatie- en inventarisgegevens
  • Syslog-verzameling in- of uitschakelen
  • Logboekschema selecteren

Belangrijk

Voor een volledige configuratie van het verzamelen van gegevens in Container Insights moet mogelijk zowel de DCR als de ConfigMap voor het cluster worden bewerkt, omdat elke methode configuratie van een andere set instellingen toestaat.

Zie Gegevensverzameling configureren in Container Insights met behulp van ConfigMap voor een lijst met instellingen en het proces voor het configureren van gegevensverzameling met behulp van ConfigMap.

Vereisten

  • AKS-clusters moeten gebruikmaken van door het systeem toegewezen beheerde identiteit of door de gebruiker toegewezen beheerde identiteit. Als het cluster een service-principal gebruikt, moet u een upgrade uitvoeren naar beheerde identiteit.

Gegevensverzameling configureren

De DCR die wordt gemaakt wanneer u Container Insights inschakelt, heeft de naam MSCI-cluster-region-cluster-name><<>. U kunt deze bekijken in Azure Portal door de optie Regels voor gegevensverzameling te selecteren in het menu Monitor in Azure Portal. In plaats van de DCR rechtstreeks te wijzigen, moet u een van de onderstaande methoden gebruiken om gegevensverzameling te configureren. Zie parameters voor gegevensverzameling voor meer informatie over de verschillende beschikbare instellingen die door elke methode worden gebruikt.

Waarschuwing

De standaardervaring voor Container Insights is afhankelijk van alle bestaande gegevensstromen. Als u een of meer van de standaardstromen verwijdert, is de Container Insights-ervaring niet beschikbaar en moet u andere hulpprogramma's zoals Grafana-dashboards en logboekquery's gebruiken om verzamelde gegevens te analyseren.

U kunt Azure Portal gebruiken om kostenoptimalisatie in te schakelen op uw bestaande cluster nadat Container Insights is ingeschakeld, of u kunt Container insights inschakelen in het cluster, samen met kostenoptimalisatie.

  1. Selecteer het cluster in Azure Portal.

  2. Selecteer de optie Inzichten in de sectie Bewaking van het menu.

  3. Als Container Insights al is ingeschakeld op het cluster, selecteert u de knop Bewaking Instellingen. Als dat niet zo is, selecteert u Azure Monitor configureren en raadpleegt u Bewaking inschakelen in uw Kubernetes-cluster met Azure Monitor voor meer informatie over het inschakelen van bewaking.

    Schermopname van AKS-cluster met de knop Monitorinstellingen.

  4. Voor Kubernetes met AKS en Arc selecteert u Beheerde identiteit gebruiken als u het cluster nog niet hebt gemigreerd naar beheerde identiteitsverificatie.

  5. Selecteer een van de kostenvoorinstellingen die worden beschreven in vooraf ingestelde kosten.

    Schermopname van de onboardingopties.

  6. Als u de instellingen wilt aanpassen, klikt u op Verzamelingsinstellingen bewerken. Zie parameters voor gegevensverzameling voor meer informatie over elke instelling. Zie Verzamelde gegevens hieronder voor verzamelde gegevens.

    Schermopname van de opties voor verzamelingsinstellingen.

  7. Klik op Configureren om de instellingen op te slaan.

Vooraf ingestelde kosten

Wanneer u Azure Portal gebruikt om kostenoptimalisatie te configureren, kunt u kiezen uit de volgende vooraf ingestelde configuraties. U kunt een van deze selecteren of uw eigen aangepaste instellingen opgeven. Container insights maakt standaard gebruik van de standaardvoorinstelling .

Vooraf ingestelde kosten Verzamelingsfrequentie Naamruimtefilters Syslog-verzameling Verzamelde gegevens
Standaard 1 m Geen Niet ingeschakeld Alle standaardtabellen voor containerinzichten
Geoptimaliseerd voor kosten 5 m Sluit kube-system, gatekeeper-system, azure-arc uit Niet ingeschakeld Alle standaardtabellen voor containerinzichten
Syslog 1 m Geen Standaard ingeschakeld Alle standaardtabellen voor containerinzichten
Logboeken en gebeurtenissen 1 m Geen Niet ingeschakeld ContainerLog/ContainerLogV2
KubeEvents
KubePodInventory

Verzamelde gegevens

Met de optie Verzamelde gegevens kunt u de tabellen selecteren die voor het cluster zijn ingevuld. Dit is het equivalent van de parameter bij het uitvoeren van de streams configuratie met CLI of ARM. Als u een andere optie dan Alle (standaard) selecteert, is de Container Insights-ervaring niet meer beschikbaar en moet u Grafana of andere methoden gebruiken om verzamelde gegevens te analyseren.

Schermopname van de verzamelde gegevensopties.

Groepering Tabellen Opmerkingen
Alles (standaard) Alle standaardtabellen voor containerinzichten Vereist voor het inschakelen van de standaardvisualisaties van Container Insights
Prestaties Prestatie, InsightsMetrics
Logboeken en gebeurtenissen ContainerLog of ContainerLogV2, KubeEvents, KubePodInventory Aanbevolen als u beheerde prometheus-metrische gegevens hebt ingeschakeld
Workloads, implementaties en HPA's InsightsMetrics, KubePodInventory, KubeEvents, ContainerInventory, ContainerNodeInventory, KubeNodeInventory, KubeServices
Permanente volumes InsightsMetrics, KubePVInventory

Parameters voor gegevensverzameling

In de volgende tabel worden de ondersteunde instellingen voor gegevensverzameling en de naam beschreven die voor elk voor verschillende onboardingopties wordt gebruikt.

Name Beschrijving
Verzamelingsfrequentie
CLI: interval
ARM: dataCollectionInterval
Bepaalt hoe vaak de agent gegevens verzamelt. Geldige waarden zijn 1m - 30m in intervallen van 1 min. De standaardwaarde is 1 min. Als de waarde buiten het toegestane bereik valt, wordt deze standaard ingesteld op 1 m.
Naamruimtefiltering
CLI: namespaceFilteringMode
ARM: namespaceFilteringModeForDataCollection
Opnemen: verzamelt alleen gegevens van de waarden in het veld naamruimten .
Uitsluiten: verzamelt gegevens van alle naamruimten, met uitzondering van de waarden in het veld naamruimten .
Uit: negeert selecties van naamruimten en verzamelt gegevens op alle naamruimten.
Naamruimtefiltering
CLI: namespaces
ARM: namespacesForDataCollection
Matrix van door komma's gescheiden Kubernetes-naamruimten voor het verzamelen van inventaris- en prestatiegegevens op basis van de naamruimteFilteringMode.
Naamruimten = ["kube-system", "default"] met een include-instelling verzamelt bijvoorbeeld alleen deze twee naamruimten. Met de instelling Uitsluiten verzamelt de agent gegevens van alle andere naamruimten, met uitzondering van kube-system en standaard. Met een instelling Uit verzamelt de agent gegevens van alle naamruimten, waaronder kube-system en standaard. Ongeldige en niet-herkende naamruimten worden genegeerd.
ContainerLogV2 inschakelen
CLI: enableContainerLogV2
ARM: enableContainerLogV2
Booleaanse vlag om het ContainerLogV2-schema in te schakelen. Als deze optie is ingesteld op true, worden de stdout/stderr-logboeken opgenomen in de tabel ContainerLogV2 . Zo niet, dan worden de containerlogboeken opgenomen in de ContainerLog-tabel , tenzij anders opgegeven in de ConfigMap. Wanneer u de afzonderlijke streams opgeeft, moet u de bijbehorende tabel voor ContainerLog of ContainerLogV2 opnemen.
Verzamelde gegevens
CLI: streams
ARM: streams
Een matrix van containerinzichttabelstromen. Zie de ondersteunde streams hierboven voor tabeltoewijzing.

Toepasselijke tabellen en metrische gegevens

De instellingen voor verzamelingsfrequentie en naamruimtefiltering zijn niet van toepassing op alle Container Insights-gegevens. De volgende tabellen bevatten de tabellen in de Log Analytics-werkruimte die wordt gebruikt door Container Insights en de metrische gegevens die worden verzameld, samen met de instellingen die op elk van toepassing zijn.

Notitie

Met deze functie worden instellingen geconfigureerd voor alle containerinzichttabellen, met uitzondering van ContainerLog en ContainerLogV2. Als u instellingen voor deze tabellen wilt configureren, werkt u de ConfigMap bij die wordt beschreven in de instellingen voor het verzamelen van agentgegevens.

Tabelnaam Interval? Naamruimten? Opmerkingen
ContainerInventory Ja Ja
ContainerNodeInventory Ja Nr. De instelling voor het verzamelen van gegevens voor naamruimten is niet van toepassing omdat Kubernetes Node geen resource met naamruimtebereik is
KubeNodeInventory Ja Nr. Instelling voor gegevensverzameling voor naamruimten is niet van toepassing op Kubernetes Node is geen resource met een naamruimtebereik
KubePodInventory Ja Ja
KubePVInventory Ja Ja
KubeServices Ja Ja
KubeEvents Nr. Ja Instelling voor gegevensverzameling voor interval is niet van toepassing op de Kubernetes-gebeurtenissen
Perf Ja Ja De instelling voor het verzamelen van gegevens voor naamruimten is niet van toepassing op de gerelateerde metrische gegevens van Kubernetes Node, omdat het Kubernetes-knooppunt geen object met een naamruimtebereik is.
InsightsMetrics Ja Ja Instellingen voor gegevensverzameling zijn alleen van toepassing op de metrische gegevens die de volgende naamruimten verzamelen: container.azm.ms/kubestate, container.azm.ms/pv en container.azm.ms/gpu
Metrische naamruimte Interval? Naamruimten? Opmerkingen
Insights.container/nodes Ja Nr. Node is geen resource met naamruimtebereik
Insights.container/pods Ja Ja
Insights.container/containers Ja Ja
Insights.container/persistentvolumes Ja Ja

Waarden streamen

Wanneer u de tabellen opgeeft die moeten worden verzameld met behulp van CLI of ARM, geeft u een stroomnaam op die overeenkomt met een bepaalde tabel in de Log Analytics-werkruimte. De volgende tabel bevat de streamnaam voor elke tabel.

Notitie

Als u bekend bent met de structuur van een regel voor gegevensverzameling, worden de stroomnamen in deze tabel opgegeven in de sectie gegevensstromen van de DCR.

Stream Tabel containerinzichten
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

Gevolgen voor visualisaties en waarschuwingen

Als u momenteel de bovenstaande tabellen gebruikt voor andere aangepaste waarschuwingen of grafieken, kan het wijzigen van uw instellingen voor gegevensverzameling deze ervaringen verminderen. Als u naamruimten uitsluit of de frequentie van gegevensverzameling verlaagt, controleert u uw bestaande waarschuwingen, dashboards en werkmappen met behulp van deze gegevens.

Als u wilt scannen op waarschuwingen die naar deze tabellen verwijzen, voert u de volgende Azure Resource Graph-query uit:

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

Volgende stappen