Dela via


Konfiguration av Azure Monitor-pipeline på Edge

Azure Monitor-pipelinen är en pipeline för datainmatning som tillhandahåller konsekvent och centraliserad datainsamling för Azure Monitor. Pipelinen vid gränsen möjliggör insamling i stor skala och routning av telemetridata innan den skickas till molnet. Den kan cachelagras lokalt och synkroniseras med molnet när anslutningen återställs och dirigera telemetri till Azure Monitor i fall där nätverket segmenteras och data inte kan skickas direkt till molnet. Den här artikeln beskriver hur du aktiverar och konfigurerar pipelinen vid gränsen i din miljö.

Översikt

Azure Monitor-pipelinen vid gränsen ä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 vid gränsen. 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 vid gränsen. DCR definierar schemat för de data som skickas till molnpipelinen, 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ömmen i den DCR som bearbetar dessa data i molnpipelinen.

Översiktsdiagram över dataflödet för Azure Monitor-pipelinen vid gränsen.

Kommentar

Privat länk stöds av pipeline på Edge för anslutningen till molnpipelinen.

Följande komponenter och konfigurationer krävs för att aktivera Azure Monitor-pipelinen vid gränsen. Om du använder Azure Portal för att konfigurera pipelinen vid gränsen 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ägget har lagts till i ditt Arc-aktiverade Kubernetes-kluster för att stödja pipelinefunktioner – microsoft.monitor.pipelinecontroller.
Edge-pipelinestyrenhetsinstans Instans av gränspipelinen som körs i ditt Arc-aktiverade Kubernetes-kluster.
Dataflöde Kombination av mottagare och exportörer som körs på pipelinekontrollantinstansen. Mottagare accepterar data från klienter och exportörer för att leverera dessa data till Azure Monitor.
Pipelinekonfiguration 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-pipelinen. 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 i molnpipelinen och var de skickas. DCR kan också innehålla en transformering för att filtrera eller ändra data innan de skickas till målet.
Pipelinekonfiguration Konfiguration som definierar dataflödena för pipelineinstansen, inklusive dataflöden och cacheminne.

Konfigurationer som stöds

Distributioner som stöds
Azure Monitor-pipelinen på Edge stöds i följande Kubernetes-distributioner:

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

Platser som stöds
Azure Monitor-pipelinen vid gränsen stöds i följande Azure-regioner:

  • USA, östra 2
  • USA, västra 2
  • Västeuropa

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 dock 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 målet.

Följande tabeller och diagram beskriver de detaljerade stegen och komponenterna i processen för att samla in data med hjälp av pipelinen vid gränsen och skicka dem till molnpipelinen 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 edge-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 molnpipelinen. 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 vid gränsen.

Steg Åtgärd Stöd för konfiguration
4. Molnpipelinen 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 vid gränsen.
5. Molnpipelinen 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. Molnpipelinen 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 stegen och komponenterna för datainsamling med azure monitor-molnpipelinen.

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. Pipelinen vid gränsen kan användas för att samla in data från dessa nätverkssegment och skicka den till molnpipelinen.

Diagram över ett skiktat nätverk för Azure Monitor-pipelinen vid gränsen.

Om du vill använda Azure Monitor-pipelinen i en nätverkskonfiguration i flera lager 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 vid gränsen 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å att tabellschemat inte behöver 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 vid gränsen för att 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.

Varning

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 sparar dig från komplexiteten i att skapa varje komponent individuellt, men du har gjort behov av att 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 Skapa Azure Monitor-pipeline.

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

Property 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.

Property Beskrivning
Name Namn på dataflödet. Måste vara unikt för den här pipelinen.
Source type Vilken typ av data som samlas in. Följande källtyper stöds för närvarande:
– Syslog
- OTLP
Port 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 konfiguration

Verifiera pipelinekomponenter 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:

  • <pipeline name-external-service>
  • <pipeline name-service>

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

Klicka på posten för <pipelinen name-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 pipelineinstansen skickar en pulsslagspost till Heartbeat tabellen på 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 pulsslagsposterna med hjälp av en loggfråga som i följande exempel:

Skärmbild av loggfråga som returnerar pulsslagsposter för Azure Monitor-pipelinen vid gränsen.

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 slutpunkt för inkommande

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 programmet som producerar loggar är externt till klustret kopierar du värdet external-ip för tjänstpipelinens <namn-tjänst> eller< pipelinenamn-external-service> med lastbalanserarens typ.
  • Om programmet finns på en podd i klustret kopierar du klustrets IP-värde .

Kommentar

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änspipelinen 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.

Verifiera 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