Freigeben über


Konfigurieren der Azure Monitor-Pipeline

Die Azure Monitor-Pipeline erweitert die Datenerfassungsfunktionen von Azure Monitor auf Edge- und Multicloud-Umgebungen. Es ermöglicht die Erfassung im großen Maßstab und das Routing von Telemetriedaten, bevor sie an die Cloud gesendet werden. Die Pipeline 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 wird beschrieben, wie Sie die Azure Monitor-Pipeline in Ihrer Umgebung aktivieren und konfigurieren.

Überblick

Die Azure Monitor-Pipeline ist eine containerisierte Lösung, die auf einem Arc-fähigen Kubernetes-Cluster bereitgestellt wird und openTelemetry Collector als Grundlage nutzt. Das folgende Diagramm zeigt die Komponenten der Pipeline. 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 Cacheeigenschaften für die Pipeline. Der DCR definiert das Schema der Daten, die an die Cloud gesendet werden, eine Transformation zum Filtern oder Ändern der Daten und das Ziel, an das die Daten gesendet werden sollen. Jede Datenflussdefinition für die Pipelinekonfiguration gibt den DCR und datenstrom innerhalb dieses DCR an, der diese Daten in der Cloud verarbeitet.

Übersichtsdiagramm des Datenflusses für die Azure Monitor-Pipeline.

Hinweis

Private Link wird von der Azure Monitor-Pipeline für die Verbindung zur Cloud unterstützt.

Die folgenden Komponenten und Konfigurationen sind erforderlich, um die Azure Monitor-Pipeline zu aktivieren. Wenn Sie das Azure-Portal zum Konfigurieren der Pipeline 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 Eine Instanz der Pipeline, die auf Ihrem Arc-fähigen Kubernetes-Cluster 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 den die Daten an Azure Monitor in der Cloud 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 von Azure Monitor empfangen werden und wo 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 wird für die folgenden Kubernetes-Verteilungen unterstützt:

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

Unterstützte Standorte

Die Azure Monitor-Pipeline wird in den 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 im Prozess zum Sammeln von Daten mithilfe der Pipeline beschrieben und an die Cloud für die Speicherung in Azure Monitor ü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 Pipelineempfänger. 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. Exporter versucht, die Daten an die Cloud 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.

Detailliertes Diagramm der Schritte und Komponenten für die Datensammlung mithilfe der Azure Monitor-Pipeline.

Schritt Maßnahme Unterstützende Konfiguration
4. Azure Monitor akzeptiert die eingehenden Daten. Der DCR enthält eine Schemadefinition für den eingehenden Datenstrom, die mit dem Schema der daten übereinstimmen muss, die aus der Pipeline stammen.
5. Azure Monitor 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. Azure Monitor 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.

Detailliertes Diagramm der Schritte und Komponenten für die Datensammlung mit Azure Monitor.

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 Azure Monitor-Pipeline kann verwendet werden, um Daten aus diesen Netzwerksegmenten zu sammeln und an die Cloud zu senden.

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

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 konfigurieren, müssen Sie eine Tabelle im Log Analytics-Arbeitsbereich 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 mit den empfangenen Daten übereinstimmen. Es gibt jedoch mehrere Schritte im Erfassungsprozess, in denen Sie die eingehenden Daten ändern können. Daher muss das Tabellenschema nicht unbedingt mit den Quelldaten übereinstimmen, die Sie sammeln. 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 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 der Clusterkomponenten, die die Azure Monitor-Pipeline unterstützen.

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 Taktdatensätze für die Azure Monitor-Pipeline 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