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.
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
- Arc-aktiverat Kubernetes-kluster i din egen miljö med en extern IP-adress. Mer information om hur du aktiverar Arc för ett kluster finns i Ansluta ett befintligt Kubernetes-kluster till Azure Arc .
- Det Arc-aktiverade Kubernetes-klustret måste ha de anpassade platsfunktionerna aktiverade. Se Skapa och hantera anpassade platser på Azure Arc-aktiverade Kubernetes.
- Log Analytics-arbetsytan i Azure Monitor för att ta emot data från pipelinen vid gränsen. Mer information om hur du skapar en arbetsyta finns i Skapa en Log Analytics-arbetsyta i Azure Portal.
- Följande resursprovidrar måste vara registrerade i din Azure-prenumeration. Se Resursprovider och resurstyper i Azure.
- Microsoft.Insights
- Microsoft.Monitor
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. |
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. |
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.
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
, TimeGenerated
och 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).
På fliken Grundläggande uppmanas du att ange följande information för att distribuera tillägget och pipelineinstansen i klustret.
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. |
På fliken Dataflöde kan du skapa och redigera dataflöden för pipelineinstansen. Varje dataflöde innehåller följande information:
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>
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:
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.