Freigeben über


Konfiguration der Azure Monitor-Pipeline am Edge

Die Azure Monitor-Pipeline ist eine Datenaufnahmepipeline, die konsistente und zentralisierte Datenerfassung für Azure Monitor bereitstellt. Die Edge-Pipeline ermöglicht die Erfassung und das Routing von Telemetriedaten im großen Maßstab, bevor sie in die Cloud gesendet werden. Sie kann Daten lokal zwischenspeichern und mit der Cloud synchronisieren, wenn die Konnektivität wiederhergestellt wird, und Telemetrie an Azure Monitor weiterleiten, wenn das Netzwerk segmentiert ist und Daten nicht direkt an die Cloud gesendet werden können. In diesem Artikel erfahren Sie, wie Sie die Pipeline als Edge-Lösung in Ihrer Umgebung aktivieren und konfigurieren.

Überblick

Die Azure Monitor-Pipeline als Edge-Lösung ist eine containerisierte Lösung, die in einem Kubernetes-Cluster mit Arc-Unterstützung bereitgestellt wird und auf dem OpenTelemetry-Collector basiert. Das folgende Diagramm zeigt die Komponenten der Pipeline am Edge. Mindestens ein Datenfluss lauscht auf eingehende Daten von Clients, und die Pipelineerweiterung leitet die Daten an die Cloud weiter – bei Bedarf unter Verwendung des lokalen Cache.

Die Pipelinekonfigurationsdatei definiert die Datenflüsse und Cache-Eigenschaften der Pipeline am Rand. Die Datensammlungsregel (Data Collection Rule, DCR) definiert das Schema der Daten, die an die Cloudpipeline gesendet werden, eine Transformation zum Filtern oder Ändern der Daten sowie das Ziel, an das die Daten gesendet werden sollen. Jede Datenflussdefinition für die Pipelinekonfiguration gibt die DCR und den Datenstrom innerhalb dieser DCR an, der diese Daten in der Cloudpipeline verarbeitet.

Übersichtsdiagramm des Datenflusses der Azure Monitor-Pipeline am Edge.

Hinweis

Eine private Verbindung wird von der Pipeline am Edge für die Verbindung zur Cloudpipeline unterstützt.

Die folgenden Komponenten und Konfigurationen sind erforderlich, um die Azure Monitor-Pipeline als Edge-Lösung zu aktivieren. Wenn Sie das Azure-Portal zum Konfigurieren der Pipeline als Edge-Lösung verwenden, wird jede dieser Komponenten für Sie erstellt. Bei anderen Methoden müssen Sie die einzelnen Komponenten konfigurieren.

Komponente BESCHREIBUNG
Controllererweiterung für die Edgepipeline Erweiterung, die Ihrem Kubernetes-Cluster mit Arc-Unterstützung hinzugefügt wird, um Pipelinefunktionen zu unterstützen: microsoft.monitor.pipelinecontroller.
Controllerinstanz für die Edgepipeline Instanz der Edgepipeline, die in Ihrem Kubernetes-Cluster mit Arc-Unterstützung ausgeführt wird.
Datenfluss Kombination von Empfängern und Exportern, die in der Controllerinstanz der Pipeline ausgeführt werden. Empfänger akzeptieren Daten von Clients, und Exporter übermitteln diese Daten an Azure Monitor.
Pipelinekonfiguration Konfigurationsdatei, die die Datenflüsse für die Pipelineinstanz definiert. Jeder Datenfluss enthält einen Empfänger und einen Exporter. Der Empfänger lauscht auf eingehende Daten, und der Exporter sendet die Daten an das Ziel.
Datensammlungsendpunkt (Data Collection Endpoint, DCE) Endpunkt, an dem die Daten an die Azure Monitor-Pipeline gesendet werden. Die Pipelinekonfiguration enthält eine Eigenschaft für die URL des Datensammlungsendpunkts, damit die Pipelineinstanz weiß, wohin die Daten gesendet werden sollen.
Konfiguration BESCHREIBUNG
Datensammlungsregel (Data Collection Rule, DCR) Konfigurationsdatei, die definiert, wie die Daten in der Cloudpipeline empfangen und wohin sie gesendet werden. Die DCR kann auch eine Transformation enthalten, um die Daten zu filtern oder zu ändern, bevor sie an das Ziel gesendet werden.
Pipelinekonfiguration Konfigurationsdatei, die die Datenflüsse für die Pipelineinstanz definiert (einschließlich der Datenflüsse und des Cache).

Unterstützte Konfigurationen

Unterstützte Distributionen

Die Azure Monitor-Pipeline als Edge-Lösung wird in den folgenden Kubernetes-Distributionen unterstützt:

  • Kanonisch
  • Cluster-API-Anbieter für Azure
  • K3
  • Rancher Kubernetes Engine
  • VMware Tanzu Kubernetes Grid

Unterstützte Standorte

Die Azure Monitor-Pipeline als Edge-Lösung wird in folgenden Azure-Regionen unterstützt:

  • Kanada, Mitte
  • USA, Osten 2
  • Italien Nord
  • USA, Westen 2
  • Westeuropa

Weitere Informationen finden Sie unter Produktverfügbarkeit nach Region

Voraussetzungen

Arbeitsablauf

Wenn Sie die Azure Monitor-Pipeline über das Azure-Portal konfigurieren, müssen Sie nicht im Detail mit den verschiedenen Schritten vertraut sein, die von der Pipeline ausgeführt werden. Wenn Sie jedoch eine andere Installationsmethode verwenden oder eine komplexere Konfiguration benötigen, bei der die Daten beispielsweise transformiert werden müssen, bevor sie am Ziel gespeichert werden, ist ein detaillierteres Verständnis erforderlich.

In den folgenden Tabellen und Diagrammen werden die detaillierten Schritte und Komponenten beschrieben, die verwendet werden, um Daten mithilfe der Pipeline als Edge-Lösung zu sammeln und zur Speicherung in Azure Monitor an die Cloudpipeline zu übergeben. Außerdem enthalten die Tabellen die jeweils erforderliche Konfiguration für die einzelnen Komponenten.

Schritt Maßnahme Unterstützende Konfiguration
1. Der Client sendet Daten an den Empfänger der Edgepipeline. Der Client ist mit der IP-Adresse und dem Port des Empfängers der Edgepipeline konfiguriert und sendet Daten im erwarteten Format für den Empfängertyp.
2. Der Empfänger leitet Daten an den Exporter weiter. Empfänger und Exporter sind in der gleichen Pipeline konfiguriert.
3. Der Exporter versucht, die Daten an die Cloudpipeline zu senden. Der Exporter in der Pipelinekonfiguration enthält die URL des DCE, einen eindeutigen Bezeichner für die DCR und den Datenstrom in der DCR, der definiert, wie die Daten verarbeitet werden.
3a. Der Exporter speichert Daten im lokalen Cache, wenn keine Verbindung zum DCE hergestellt werden kann. Das persistente Volume für den Cache und die Konfiguration des lokalen Cache ist in der Pipelinekonfiguration aktiviert.

Diagramm: Ausführliche Darstellung der Schritte und Komponenten für die Datensammlung mithilfe der Azure Monitor-Pipeline als Edge-Lösung.

Schritt Maßnahme Unterstützende Konfiguration
4. Die Cloudpipeline akzeptiert die eingehenden Daten. Das DCR enthält eine Schemadefinition für den eingehenden Datenstrom, die dem Schema der Daten aus der Pipeline am Rand entsprechen muss.
5. Die Cloudpipeline wendet eine Transformation auf die Daten an. Die DCR enthält eine Transformation, um die Daten zu filtern oder zu ändern, bevor sie an das Ziel gesendet werden. Die Transformation kann Daten filtern, Spalten entfernen oder hinzufügen oder das zugehörige Schema vollständig ändern. Die Ausgabe der Transformation muss dem Schema der Zieltabelle entsprechen.
6. Die Cloudpipeline sendet die Daten an das Ziel. Die DCR enthält ein Ziel, das den Log Analytics-Arbeitsbereich und die Tabelle für die Speicherung der Daten angibt.

Diagramm: Ausführliche Darstellung der Schritte und Komponenten für die Datensammlung unter Verwendung der Azure Monitor-Cloudpipeline

Segmentiertes Netzwerk

Netzwerksegmentierung ist ein Modell, bei dem softwaredefinierte Perimeter verwendet werden, um einen anderen Sicherheitsstatus für verschiedene Teile Ihres Netzwerks zu erstellen. In diesem Modell gibt es möglicherweise ein Netzwerksegment, das keine Verbindung mit dem Internet oder mit anderen Netzwerksegmenten herstellen kann. Die Pipeline am Rand kann verwendet werden, um Daten von diesen Netzwerksegmenten zu sammeln und sie an die Cloud-Pipeline zu senden.

Diagramm eines mehrschichtigen Netzwerks für die Azure Monitor-Pipeline am Edge.

Um die Azure Monitor-Pipeline in einer mehrschichtigen Netzwerkkonfiguration verwenden zu können, müssen Sie der Zulassungsliste für den Arc-aktivierten Kubernetes-Cluster folgende Einträge hinzufügen. Weitere Informationen finden Sie im Artikel „Konfigurieren von Azure IoT Layered Network Management Preview in einem Ebene 4-Cluster“ unter Konfigurieren des Layered Network Management Preview-Diensts

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

Erstellen einer Tabelle im Log Analytics-Arbeitsbereich

Bevor Sie den Datensammlungsprozess für die Pipeline am Netzwerkrand konfigurieren, müssen Sie im Log Analytics-Arbeitsbereich eine Tabelle erstellen, um die Daten zu empfangen. Dies muss eine benutzerdefinierte Tabelle sein, da integrierte Tabellen derzeit nicht unterstützt werden. Das Schema der Tabelle muss den empfangenen Daten entsprechen. Es gibt jedoch mehrere Schritte innerhalb des Sammlungsprozesses, in denen die eingehenden Daten geändert werden können, sodass das Tabellenschema nicht den gesammelten Quelldaten entsprechen muss. Die einzige Anforderung für die Tabelle im Log Analytics-Arbeitsbereich ist, dass sie über eine TimeGenerated-Spalte verfügen muss.

Ausführliche Informationen zu verschiedenen Tabellenerstellungsmethoden finden Sie unter Hinzufügen oder Löschen von Tabellen und Spalten in Azure Monitor-Protokollen. Verwenden Sie z. B. den folgenden CLI-Befehl, um eine Tabelle mit drei Spalten (Body, TimeGenerated und SeverityText) zu erstellen:

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

Aktivieren der Zwischenspeicherung

In einigen Umgebungen kann es bei Edgegeräten aufgrund von Faktoren wie Netzwerküberlastung, Signalstörungen, Stromausfall oder Mobilität zu vorübergehenden Verbindungsunterbrechungen kommen. In diesen Umgebungen können Sie die Pipeline als Edge-Lösung so konfigurieren, dass Daten zwischengespeichert werden, indem Sie ein persistentes Volume in Ihrem Cluster erstellen. Der Prozess hierfür variiert je nach Umgebung. Die Konfiguration muss jedoch folgende Anforderungen erfüllen:

  • Der Metadatennamespace muss der gleiche sein wie bei der angegebenen Instanz der Azure Monitor-Pipeline.
  • Der Zugriffsmodus muss ReadWriteMany unterstützen.

Nachdem das Volume im entsprechenden Namespace erstellt wurde, muss es mithilfe von Parametern in der unten angegebenen Pipelinekonfigurationsdatei konfiguriert werden.

Vorsicht

Jedes Replikat der Edgepipeline speichert Daten an einem Speicherort im persistenten Volume, das für dieses Replikat spezifisch ist. Wenn Sie die Anzahl der Replikate verringern, während die Verbindung des Clusters zur Cloud unterbrochen ist, verhindert dies, dass die Daten zurückgefüllt werden, sobald die Konnektivität wiederhergestellt wird.

Daten werden nach dem FIFO-Prinzip (First In, First Out) aus dem Cache abgerufen. Alle Daten, die älter als 48 Stunden sind, werden verworfen.

Aktivieren und Konfigurieren der Pipeline

Die aktuellen Optionen für die Aktivierung und Konfiguration werden auf den folgenden Registerkarten erläutert.

Konfigurieren der Pipeline über das Azure-Portal

Wenn Sie zum Aktivieren und Konfigurieren der Pipeline das Azure-Portal verwenden, werden alle erforderlichen Komponenten basierend auf den von Ihnen ausgewählten Optionen erstellt. Das erspart Ihnen die komplexe Erstellung der einzelnen Komponenten, aber Sie müssen möglicherweise andere Methoden verwenden, um

Führen Sie im Azure-Portal eine der folgenden Aktionen aus, um den Installationsprozess für die Azure Monitor-Pipeline zu starten:

  • Klicken Sie im Menü Azure Monitor-Pipelines (Vorschau) auf Erstellen.
  • Wählen Sie im Menü für Ihren Kubernetes-Cluster mit Arc-Unterstützung die Option Erweiterungen aus, und fügen Sie dann die Azure Monitor-Pipelineerweiterung (Vorschau) hinzu.

Auf der Registerkarte Allgemein werden Sie zur Angabe der folgenden Informationen aufgefordert, um die Erweiterung und die Pipelineinstanz in Ihrem Cluster bereitzustellen.

Screenshot: Bildschirm „Azure Monitor-Pipeline erstellen“

Die Einstellungen in diesem Tab werden in der folgenden Tabelle beschrieben.

Eigentum BESCHREIBUNG
Instanzname Name für die Azure Monitor-Pipelineinstanz. Muss für das Abonnement eindeutig sein.
Abonnement Azure-Abonnement zur Erstellung der Pipelineinstanz.
Ressourcengruppe Ressourcengruppe zum Erstellen der Pipelineinstanz.
Clustername Wählen Sie Ihren Kubernetes-Cluster mit Arc-Unterstützung aus, in dem die Pipeline installiert wird.
Benutzerdefinierter Speicherort Benutzerdefinierter Speicherort Ihres Kubernetes-Clusters mit Arc-Unterstützung. Hierfür wird automatisch der Name eines benutzerdefinierten Speicherorts angegeben, der für Ihren Cluster erstellt wird. Sie können aber auch einen anderen benutzerdefinierten Speicherort im Cluster auswählen.

Auf der Registerkarte Dataflow können Sie Dataflows für die Pipelineinstanz erstellen und bearbeiten. Jeder Dataflow enthält folgende Details:

Screenshot: Bildschirm zum Erstellen/Hinzufügen eines Dataflows

Die Einstellungen in diesem Tab werden in der folgenden Tabelle beschrieben.

Eigentum BESCHREIBUNG
Name Der Name für den Datenfluss. Muss für diese Pipeline eindeutig sein.
Quellentyp Die Art der gesammelten Daten. Die folgenden Quellentypen werden derzeit unterstützt:
- Syslog
– OTLP
Hafen Der Port, an dem die Pipeline auf eingehende Daten lauscht. Wenn zwei Datenflüsse denselben Port verwenden, empfangen und verarbeiten sie die Daten.
Log Analytics-Arbeitsbereich Der Log Analytics-Arbeitsbereich, an den die Daten gesendet werden.
Tabellenname Der Name der Tabelle im Log Analytics-Arbeitsbereich, an die die Daten gesendet werden sollen.

Überprüfen der Konfiguration

Überprüfen Sie die im Cluster laufenden Pipelinekomponenten

Navigieren Sie im Azure-Portal zum Menü Kubernetes Service-Instanzen, und wählen Sie Ihren Kubernetes-Cluster mit Arc-Unterstützung aus. Wählen Sie Dienste und eingehende Elemente aus, und vergewissern Sie sich, dass die folgenden Dienste angezeigt werden:

  • <Pipelinename>-external-service
  • <Pipelinename>-service

Screenshot: Clusterkomponenten zur Unterstützung der Azure Monitor-Pipeline als Edge-Lösung.

Klicken Sie auf den Eintrag für <Pipelinename>-external-service, und notieren Sie sich die IP-Adresse und den Port aus der Spalte Endpunkte. Hierbei handelt es sich um die externe IP-Adresse und um den Port, an die bzw. an den Ihre Clients Daten senden. Informationen zum Abrufen dieser Adresse vom Client finden Sie unter Abrufen des Eingangsendpunkts.

Herzschlag überprüfen

Jede in Ihrer Pipelineinstanz konfigurierte Pipeline sendet jede Minute einen Heartbeat-Datensatz an die Tabelle Heartbeat in Ihrem Log Analytics-Arbeitsbereich. Der Inhalt der OSMajorVersion-Spalte muss dem Namen Ihrer Pipelineinstanz entsprechen. Enthält die Pipelineinstanz mehrere Arbeitsbereiche, wird der erste konfigurierte Arbeitsbereich verwendet.

Rufen Sie den Heartbeat-Datensatz mithilfe einer Protokollabfrage ab, wie im folgenden Beispiel gezeigt:

Screenshot der Protokollabfrage, die Heartbeat-Datensätze für die Azure Monitor-Pipeline am Rand des Netzwerks zurückgibt.

Clientkonfiguration

Nach der Installation Ihrer Edgepipelineerweiterung und der entsprechenden Instanz müssen Sie Ihre Clients so konfigurieren, dass sie Daten an die Pipeline sendet.

Eingangsendpunkt abrufen

Jeder Client benötigt die externe IP-Adresse des Azure Monitor-Pipelinedienstes. Verwenden Sie den folgenden Befehl, um diese Adresse abzurufen:

kubectl get services -n <namespace where azure monitor pipeline was installed>
  • Wenn sich die Anwendung, die Protokolle erzeugt, außerhalb des Clusters befindet, kopieren Sie den Wert external-ip des Dienstes <pipeline name>-service oder <pipeline name>-external-service mit dem Lastenausgleichstyp.
  • Wenn sich die Anwendung in einem Pod innerhalb des Clusters befindet, kopieren Sie den Wert von cluster-ip.

Hinweis

Wenn das Externe-IP-Feld auf "Ausstehend" festgelegt ist, müssen Sie eine externe IP für diesen Eingangs manuell gemäß Ihrer Clusterkonfiguration konfigurieren.

Kunde BESCHREIBUNG
Syslog Aktualisieren Sie Syslog-Clients, sodass sie Daten an den Pipelineendpunkt und den Port Ihres Syslog-Dataflows senden.
OTLP Die Azure Monitor-Edgepipeline macht einen gRPC-basierten OTLP-Endpunkt am Port 4317 verfügbar. Die Konfiguration Ihrer Instrumentierung zum Senden von Daten an diesen OTLP-Endpunkt hängt von der Instrumentierungsbibliothek selbst ab. Informationen zum OTLP-Endpunkt oder -Collector finden Sie in der OpenTelemetry-Dokumentation. Die Methode mit Umgebungsvariablen ist in der OTLP Exporter-Konfiguration dokumentiert.

Überprüfen der Daten

Der letzte Schritt besteht darin, zu überprüfen, ob die Daten im Log Analytics-Arbeitsbereich empfangen werden. Für diese Überprüfung können Sie im Log Analytics-Arbeitsbereich eine Abfrage ausführen, um Daten aus der Tabelle abzurufen.

Screenshot: Protokollabfrage, die die Syslog-Sammlung zurückgibt

Nächste Schritte