Dela via


Konfigurera Azure Monitor-pipeline

Azure Monitor-pipelinen utökar funktionerna för datainsamling i Azure Monitor till gränsmiljöer och miljöer med flera moln. Den möjliggör insamling i stor skala och routning av telemetridata innan de skickas till molnet. Pipelinen kan lagra cachedata lokalt och synkronisera med molnet när anslutningen återställs och dirigera telemetri till Azure Monitor i fallet där nätverket segmenteras och data inte kan skickas direkt till molnet. Den här artikeln beskriver hur du aktiverar och konfigurerar Azure Monitor-pipelinen i din miljö.

Översikt

Azure Monitor-pipelinen är en containerbaserad lösning som distribueras i ett Arc-aktiverat Kubernetes-kluster och använder OpenTelemetry Collector som grund. Följande diagram visar komponenterna i pipelinen. Ett eller flera dataflöden lyssnar efter inkommande data från klienter, och pipelinetillägget vidarebefordrar data till molnet med hjälp av den lokala cachen om det behövs.

Konfigurationsfilen för pipeline definierar dataflöden och cacheegenskaper för pipelinen. DCR definierar schemat för de data som skickas till molnet, en transformering för att filtrera eller ändra data och målet där data ska skickas. Varje dataflödesdefinition för pipelinekonfigurationen anger DCR och dataström inom den DCR som ska bearbeta dessa data i molnet.

Översiktsdiagram över dataflödet för Azure Monitor-pipelinen.

Anmärkning

Privat länk stöds av Azure Monitor-pipelinen för anslutningen till molnet.

Följande komponenter och konfigurationer krävs för att aktivera Azure Monitor-pipelinen. Om du använder Azure-portalen för att konfigurera pipelinen skapas var och en av dessa komponenter åt dig. Med andra metoder måste du konfigurera var och en.

Komponent Beskrivning
Edge-pipelinestyrenhetstillägg Tillägg har lagts till i ditt Arc-aktiverade Kubernetes-kluster för att stödja pipeline-funktionalitet – microsoft.monitor.pipelinecontroller.
Edge-pipelinestyrenhetsinstans Exempel på pipelinen som körs på ditt Arc-aktiverade Kubernetes-kluster.
Dataflöde Kombination av mottagare och exportörer som körs på pipelinekontrollerinstansen. Mottagare accepterar data från klienter och exportörer för att leverera dessa data till Azure Monitor.
Konfiguration för pipeline Konfigurationsfil som definierar dataflödena för pipelineinstansen. Varje dataflöde innehåller en mottagare och en exportör. Mottagaren lyssnar efter inkommande data och exportören skickar data till målet.
Datainsamlingsslutpunkt (DCE) Slutpunkt där data skickas till Azure Monitor i molnet. Pipelinekonfigurationen innehåller en egenskap för URL:en för DCE så att pipelineinstansen vet var data ska skickas.
Konfiguration Beskrivning
Datainsamlingsregel (DCR) Konfigurationsfil som definierar hur data tas emot av Azure Monitor och var de skickas. DCR kan också innehålla en transformering för att filtrera eller ändra data innan de skickas till målet.
Konfiguration för pipeline Konfiguration som definierar dataflödena för pipelineinstansen, inklusive dataflöden och cacheminne.

Konfigurationer som stöds

Distributioner som stöds

Azure Monitor-pipeline stöds i följande Kubernetes-distributioner:

  • Kanoniska
  • Kluster-API-provider för Azure
  • K3
  • Rancher Kubernetes Engine
  • VMware Tanzu Kubernetes Grid

Platser som stöds

Azure Monitor-pipeline stöds i följande Azure-regioner:

  • Kanada centrala
  • Östra USA 2
  • Norra Italien
  • Västra USA 2
  • Västeuropa

Mer information finns i Produkttillgänglighet per region

Förutsättningar

Arbetsflöde

Du behöver ingen detaljerad förståelse för de olika steg som utförs av Azure Monitor-pipelinen för att konfigurera den med hjälp av Azure Portal. Du kan möjligen behöva en mer detaljerad förståelse av det om du använder en annan installationsmetod eller om du behöver utföra mer avancerad konfiguration, till exempel transformera data innan de lagras i sin slutdestination.

Följande tabeller och diagram beskriver de detaljerade stegen och komponenterna i processen för att samla in data med hjälp av pipelinen och skicka dem till molnet för lagring i Azure Monitor. I tabellerna ingår även den konfiguration som krävs för var och en av dessa komponenter.

Steg Åtgärd Stöd för konfiguration
1. Klienten skickar data till pipelinemottagaren. Klienten konfigureras med IP och port för gränspipelinemottagaren och skickar data i förväntat format för mottagartypen.
2. Mottagaren vidarebefordrar data till exportören. Mottagare och exportör konfigureras i samma pipeline.
3 Exportören försöker skicka data till molnet. Exportören i pipelinekonfigurationen innehåller URL:en för DCE, en unik identifierare för DCR och dataströmmen i DCR som definierar hur data ska bearbetas.
3a. Exportören lagrar data i den lokala cachen om den inte kan ansluta till DCE. Beständiga volymer för cacheminnet och konfigurationen av den lokala cachen är aktiverade i pipelinekonfigurationen.

Detaljerat diagram över stegen och komponenterna för datainsamling med hjälp av Azure Monitor-pipelinen.

Steg Åtgärd Stöd för konfiguration
4 Azure Monitor accepterar inkommande data. DCR innehåller en schemadefinition för den inkommande dataströmmen som måste matcha schemat för data som kommer från pipelinen.
5 Azure Monitor tillämpar en transformering på data. DCR innehåller en transformering som filtrerar eller ändrar data innan de skickas till målet. Omvandlingen kan filtrera data, ta bort eller lägga till kolumner eller helt ändra schemat. Utdata från omvandlingen måste matcha schemat för måltabellen.
6. Azure Monitor skickar data till målet. DCR innehåller ett mål som anger Log Analytics-arbetsytan och tabellen där data ska lagras.

Detaljerat diagram över steg och komponenter för datainsamling med Hjälp av Azure Monitor.

Segmenterat nätverk

Nätverkssegmentering är en modell där du använder programvarudefinierade perimeterer för att skapa en annan säkerhetsstatus för olika delar av nätverket. I den här modellen kan du ha ett nätverkssegment som inte kan ansluta till Internet eller till andra nätverkssegment. Azure Monitor-pipelinen kan användas för att samla in data från dessa nätverkssegment och skicka dem till molnet.

Diagram över ett skiktat nätverk för Azure Monitor-pipeline.

Om du vill använda Azure Monitor-pipelinen i en lagerbaserad nätverkskonfiguration måste du lägga till följande poster i listan över tillåtna för det Arc-aktiverade Kubernetes-klustret. Se Konfigurera förhandsversionen av Azure IoT Layered Network Management på nivå 4-kluster.

- destinationUrl: "*.ingest.monitor.azure.com"
  destinationType: external
- destinationUrl: "login.windows.net"
  destinationType: external

Skapa tabell i Log Analytics-arbetsytan

Innan du konfigurerar datainsamlingsprocessen för pipelinen måste du skapa en tabell på Log Analytics-arbetsytan för att ta emot data. Detta måste vara en anpassad tabell eftersom inbyggda tabeller för närvarande inte stöds. Schemat för tabellen måste matcha de data som den tar emot, men det finns flera steg i insamlingsprocessen där du kan ändra inkommande data, så tabellschemat behöver inte matcha de källdata som du samlar in. Det enda kravet för tabellen på Log Analytics-arbetsytan är att den har en TimeGenerated kolumn.

Mer information om olika metoder för att skapa en tabell finns i Lägga till eller ta bort tabeller och kolumner i Azure Monitor-loggar . Använd till exempel CLI-kommandot nedan för att skapa en tabell med de tre kolumnerna med namnet Body, TimeGeneratedoch SeverityText.

az monitor log-analytics workspace table create --workspace-name my-workspace --resource-group my-resource-group --name my-table_CL --columns TimeGenerated=datetime Body=string SeverityText=string

Aktivera cachelagring

Edge-enheter i vissa miljöer kan uppleva tillfälliga anslutningar på grund av olika faktorer som nätverksbelastning, signalinterferens, strömavbrott eller mobilitet. I dessa miljöer kan du konfigurera pipelinen så att den cachelagrar data genom att skapa en beständig volym i klustret. Processen för detta varierar beroende på din miljö, men konfigurationen måste uppfylla följande krav:

  • Metadatanamnområdet måste vara samma som den angivna instansen av Azure Monitor-pipelinen.
  • Åtkomstläget måste ha stöd för ReadWriteMany.

När volymen har skapats i rätt namnområde konfigurerar du den med parametrar i pipelinekonfigurationsfilen nedan.

Försiktighet

Varje replik av gränspipelinen lagrar data på en plats i den beständiga volymen som är specifik för den repliken. Om du minskar antalet repliker när klustret är frånkopplat från molnet förhindras dessa data från att återfyllas när anslutningen återställs.

Data hämtas från cachen med fifo (first-in-first-out). Alla data som är äldre än 48 timmar tas bort.

Aktivera och konfigurera pipeline

De aktuella alternativen för aktivering och konfiguration beskrivs på flikarna nedan.

Konfigurera pipeline med Azure Portal

När du använder Azure Portal för att aktivera och konfigurera pipelinen skapas alla nödvändiga komponenter baserat på dina val. Detta besparar dig komplexiteten att skapa varje komponent individuellt, men du kan behöva använda andra metoder för

Utför något av följande i Azure Portal för att starta installationsprocessen för Azure Monitor-pipelinen:

  • På menyn Azure Monitor-pipelines (förhandsversion) klickar du på Skapa.
  • På menyn för ditt Arc-aktiverade Kubernetes-kluster väljer du Tillägg och lägger sedan till tillägget Azure Monitor-pipelinetillägg (förhandsversion).

fliken Grundläggande uppmanas du att ange följande information för att distribuera tillägget och pipelineinstansen i klustret.

Skärmbild av skärmen

Inställningarna på den här fliken beskrivs i följande tabell.

Fastighet Beskrivning
Instansnamn Namn på Azure Monitor-pipelineinstansen. Måste vara unikt för prenumerationen.
Prenumeration Azure-prenumeration för att skapa pipelineinstansen.
Resursgrupp Resursgrupp för att skapa pipelineinstansen.
Klusternamn Välj det Arc-aktiverade Kubernetes-kluster som pipelinen ska installeras på.
Anpassad plats Anpassad plats för ditt Arc-aktiverade Kubernetes-kluster. Detta fylls automatiskt i med namnet på en anpassad plats som skapas för klustret eller så kan du välja en annan anpassad plats i klustret.

fliken Dataflöde kan du skapa och redigera dataflöden för pipelineinstansen. Varje dataflöde innehåller följande information:

Skärmbild av skärmen Skapa lägg till dataflöde.

Inställningarna på den här fliken beskrivs i följande tabell.

Fastighet Beskrivning
Namn Namn på dataflödet. Måste vara unikt för den här pipelinen.
Typ av källa Vilken typ av data som samlas in. Följande källtyper stöds för närvarande:
– Syslog
- OTLP
Hamn Port som pipelinen lyssnar på för inkommande data. Om två dataflöden använder samma port tar de både emot och bearbetar data.
Log Analytics-arbetsyta Log Analytics-arbetsyta som data ska skickas till.
Tabellnamn Namnet på tabellen på Log Analytics-arbetsytan som data ska skickas till.

Verifiera konfigurationen

Kontrollera komponenterna i pipelinen som körs i klustret

I Azure Portal navigerar du till Kubernetes-tjänstmenyn och väljer ditt Arc-aktiverade Kubernetes-kluster. Välj Tjänster och ingresser och se till att du ser följande tjänster:

  • <pipelinens namn-external-service>
  • <pipelinens namn-tjänst>

Skärmbild av klusterkomponenter som stöder Azure Monitor-pipeline.

Klicka på posten för <pipelinenamn>-external-service och notera IP-adressen och porten i kolumnen Slutpunkter. Det här är den externa IP-adress och port som dina klienter skickar data till. Se Hämta inkommande slutpunkt för att hämta den här adressen från klienten.

Verifiera pulsslag

Varje pipeline som konfigureras i din pipelineinstans skickar en hjärtslagsuppdatering till Heartbeat tabellen i Log Analytics-arbetsytan varje minut. Innehållet i OSMajorVersion kolumnen ska matcha namnet på pipelineinstansen. Om det finns flera arbetsytor i pipelineinstansen används den första konfigurerade.

Hämta hjärtslagsregister med hjälp av en loggfråga enligt följande exempel:

Skärmbild av loggfråga som returnerar pulsslagsposter för Azure Monitor-pipeline.

Klientkonfiguration

När ditt gränspipelinetillägg och din instans har installerats måste du konfigurera dina klienter för att skicka data till pipelinen.

Hämta ingress-slutpunkt

Varje klient kräver den externa IP-adressen för Azure Monitor-pipelinetjänsten. Använd följande kommando för att hämta adressen:

kubectl get services -n <namespace where azure monitor pipeline was installed>
  • Om applikationen som producerar loggar är extern till klustret, kopierar du external-ip-värde för tjänsten <pipeline namn>-service eller <pipeline namn>-external-service som har lastenbalanserarens typ.
  • Om programmet finns i en podd inom klustret, kopiera värdet av cluster-ip.

Anmärkning

Om fältet external-ip är inställt på väntande måste du konfigurera en extern IP-adress för den här ingressen manuellt enligt klusterkonfigurationen.

Klient Beskrivning
Syslog Uppdatera Syslog-klienter för att skicka data till pipelineslutpunkten och porten för ditt Syslog-dataflöde.
OTLP Azure Monitor-gränspipeline exponerar en gRPC-baserad OTLP-slutpunkt på port 4317. Om du konfigurerar instrumentationen så att den skickas till den här OTLP-slutpunkten beror det på själva instrumentationsbiblioteket. Mer information finns i dokumentationen om OTLP-slutpunkt eller insamlare för OpenTelemetry. Miljövariabelmetoden dokumenteras i OTLP Exporter Configuration.

Kontrollera data

Det sista steget är att kontrollera att data tas emot på Log Analytics-arbetsytan. Du kan utföra den här verifieringen genom att köra en fråga på Log Analytics-arbetsytan för att hämta data från tabellen.

Skärmbild av loggfråga som returnerar Syslog-samlingen.

Nästa steg