Konfiguration der Azure Monitor-Pipeline als Edge-Lösung
Artikel
Die Azure Monitor-Pipeline ist eine Datenerfassungspipeline, die eine konsistente und zentralisierte Datenerfassung für Azure Monitor bietet. Die Pipeline als Edge-Lösung ermöglicht Datensammlungen im großen Stil sowie die Weiterleitung von Telemetriedaten, bevor sie an die Cloud gesendet werden. Sie kann Daten lokal zwischenspeichern und mit der Cloud synchronisieren, wenn die Konnektivität wiederhergestellt wurde, sowie Telemetriedaten 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.
Übersicht
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 als Edge-Lösung. 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 als Edge-Lösung. 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.
Hinweis
Die Pipeline als Edge-Lösung unterstützt eine private Verbindung als Verbindung zur Cloudpipeline.
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 der Edgepipeline
Erweiterung, die Ihrem Kubernetes-Cluster mit Arc-Unterstützung hinzugefügt wird, um Pipelinefunktionen zu unterstützen: microsoft.monitor.pipelinecontroller.
Controllerinstanz der 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 Pipelinecontrollerinstanz ausgeführt werden. Empfänger akzeptieren Daten von Clients, und Exporter übermitteln diese Daten an Azure Monitor.
Pipeline Konfiguration
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.
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 Datensammlungsregel kann auch eine Transformation enthalten, um die Daten zu filtern oder zu ändern, bevor sie an das Ziel gesendet werden.
Pipeline Konfiguration
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:
Canonical
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:
Für den Kubernetes-Cluster mit Arc-Unterstützung müssen die Features für benutzerdefinierte Speicherorte aktiviert sein. Weitere Informationen finden Sie im Artikel „Erstellen und Verwalten benutzerdefinierter Speicherorte in Azure Arc-fähigen Kubernetes-Clustern“ unter Aktivieren benutzerdefinierter Speicherorte im Cluster.
Log Analytics-Arbeitsbereich in Azure Monitor für den Empfang der Daten aus der Pipeline als Edge-Lösung. Ausführliche Informationen zum Erstellen eines Arbeitsbereichs finden Sie unter Erstellen eines Log Analytics-Arbeitsbereichs.
Folgende Ressourcenanbieter müssen in Ihrem Azure-Abonnement registriert sein: Weitere Informationen finden Sie unter Azure-Ressourcenanbieter und -typen.
Microsoft.Insights
Microsoft.Monitor
Workflow
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 allerdings 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 ggf. ein detaillierteres Verständnis der Pipeline 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
Aktion
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 Datensammlungsendpunkts, einen eindeutigen Bezeichner für die Datensammlungsregel und den Datenstrom in der Datensammlungsregel, die definiert, wie die Daten verarbeitet werden.
3a.
Der Exporter speichert Daten im lokalen Cache, wenn keine Verbindung mit dem Datensammlungsendpunkt hergestellt werden kann.
Das persistente Volume für den Cache und die Konfiguration des lokalen Cache ist in der Pipelinekonfiguration aktiviert.
Schritt
Aktion
Unterstützende Konfiguration
4.
Die Cloudpipeline akzeptiert die eingehenden Daten.
Die Datensammlungsregel enthält eine Schemadefinition für den eingehenden Datenstrom, die dem Schema der Daten aus der Pipeline als Edge-Lösung entsprechen muss.
5.
Die Cloudpipeline wendet eine Transformation auf die Daten an.
Die Datensammlungsregel 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 Datensammlungsregel enthält ein Ziel, das den Log Analytics-Arbeitsbereich und die Tabelle für die Speicherung der Daten angibt.
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 als Edge-Lösung kann verwendet werden, um Daten aus diesen Netzwerksegmenten zu sammeln und an die Cloudpipeline zu senden.
Um die Azure Monitor-Pipeline in der Konfiguration eines mehrschichtigen Netzwerks verwenden zu können, müssen Sie der Positivliste für den Kubernetes-Cluster mit Arc-Unterstützung die folgenden 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
Erstellen einer Tabelle im Log Analytics-Arbeitsbereich
Bevor Sie den Datensammlungsprozess für die Pipeline als Edge-Lösung konfigurieren, müssen Sie im Log Analytics-Arbeitsbereich eine Tabelle zum Empfang der Daten erstellen. 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.
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.
Achtung
Jedes Replikat der Edgepipeline speichert Daten an einem Speicherort im persistenten Volume, das für dieses Replikat spezifisch ist. Wenn Sie die Anzahl von Replikaten verringern, während die Verbindung des Clusters mit der Cloud unterbrochen ist, können diese Daten nicht mehr abgeglichen werden, nachdem die Konnektivität wiederhergestellt wurde.
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.
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, die bei der Verwendung anderer Methoden erforderlich ist.
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.
Die Einstellungen in diesem Lab werden in der folgenden Tabelle beschrieben.
Eigenschaft
Beschreibung
Instanzname
Der Name für die Azure Monitor-Pipelineinstanz. Muss für das Abonnement eindeutig sein.
Abonnement
Das Azure-Abonnement zum Erstellen der Pipelineinstanz.
Resource group
Die 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
Der benutzerdefinierte 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:
Die Einstellungen in diesem Lab werden in der folgenden Tabelle beschrieben.
Eigenschaft
Beschreibung
Name
Der Name für den Dataflow. Muss für diese Pipeline eindeutig sein.
Quellentyp
Die Art der gesammelten Daten. Die folgenden Quellentypen werden derzeit unterstützt: - Syslog - OTLP
Port
Der Port, an dem die Pipeline auf eingehende Daten lauscht. Wenn zwei Dataflows den gleichen Port verwenden, werden die Daten von beiden empfangen und verarbeitet.
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.
Konfigurieren der Pipeline über die Azure CLI
Im Folgenden sind die Schritte aufgeführt, die erforderlich sind, um die für die Azure Monitor-Pipeline als Edge-Lösung benötigten Komponenten über die Azure CLI zu erstellen und zu konfigurieren.
Edgepipelineerweiterung
Mit dem folgenden Befehl wird die Edgepipelineerweiterung Ihrem Kubernetes-Cluster mit Arc-Unterstützung hinzugefügt:
Die folgende ARM-Vorlage erstellt den benutzerdefinierten Speicherort für Ihren Kubernetes-Cluster mit Arc-Unterstützung:
az customlocation create --name <custom-location-name> --resource-group <resource-group-name> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId>
## Example
az customlocation create --name my-cluster-custom-location --resource-group my-resource-group --namespace my-cluster-custom-location --host-resource-id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/connectedClusters/my-cluster --cluster-extension-ids /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Kubernetes/connectedClusters/my-cluster/providers/Microsoft.KubernetesConfiguration/extensions/my-cluster
Datensammlungsendpunkt
Die folgende ARM-Vorlage erstellt den Datensammlungsendpunkt (Data Collection Endpoint, DCE), der für die Pipeline als Edge-Lösung erforderlich ist, um eine Verbindung mit der Cloudpipeline herzustellen. Wenn Sie bereits über einen Datensammlungsendpunkt in der gleichen Region verfügen, können Sie diesen verwenden. Ersetzen Sie die Eigenschaften in der folgenden Tabelle, bevor Sie die Vorlage bereitstellen:
az monitor data-collection endpoint create -g "myResourceGroup" -l "eastus2euap" --name "myCollectionEndpoint" --public-network-access "Enabled"
## Example
az monitor data-collection endpoint create --name strato-06-dce --resource-group strato --public-network-access "Enabled"
DCR
Die Datensammlungsregel wird in Azure Monitor gespeichert. Sie definiert, wie die Daten verarbeitet werden, wenn sie über die Pipeline als Edge-Lösung empfangen werden. Die Konfiguration der Pipeline als Edge-Lösung gibt die unveränderliche ID (immutable ID) der Datensammlungsregel sowie den Datenstrom (stream) in der Datensammlungsregel an, die die Daten verarbeitet. Die unveränderliche ID (immutable ID) wird beim Erstellen der Datensammlungsregel automatisch generiert.
Ersetzen Sie die Eigenschaften in der folgenden Vorlage, und speichern Sie sie in einer JSON-Datei, bevor Sie den CLI-Befehl ausführen, um die Datensammlungsregel zu erstellen. Ausführliche Informationen zur Struktur einer Datensammlungsregel finden Sie unter Datensammlungsregeln in Azure Monitor.
Parameter
Beschreibung
name
Der Name der neuen Datensammlungsregel. Muss für das Abonnement eindeutig sein.
location
Der Standort der Datensammlungsregel. Muss dem Standort des Datensammlungsendpunkts entsprechen.
dataCollectionEndpointId
Die Ressourcen-ID des Datensammlungsendpunkts.
streamDeclarations
Das Schema der empfangenen Daten. Pro Dataflow in der Pipelinekonfiguration wird jeweils ein Datenstrom benötigt. Der Name muss in der Datensammlungsregel eindeutig sein und mit Custom- beginnen. Die Abschnitte vom Typ column in den folgenden Beispielen sollten für die OLTP- und Syslog-Datenflüsse verwendet werden. Wenn das Schema für Ihre Zieltabelle abweicht, können Sie es mithilfe einer im Parameter transformKql definierten Transformation ändern.
destinations
Dient zum Hinzufügen eines weiteren Abschnitts, um Daten an mehrere Arbeitsbereiche zu senden.
- name
Der Name für das Ziel, auf das im Abschnitt dataFlows verwiesen werden soll. Muss für die Datensammlungsregel eindeutig sein.
- workspaceResourceId
Ressourcen-ID des Log Analytics-Arbeitsbereichs.
- workspaceId
Die Arbeitsbereichs-ID des Log Analytics-Arbeitsbereichs.
dataFlows
Dient zum Abgleichen von Datenströmen und Zielen. Jeweils ein Eintrag pro Kombination aus Datenstrom und Ziel.
- streams
Mindestens ein Datenstrom (definiert in streamDeclarations). Sie können mehrere Datenströme einschließen, wenn sie an das gleiche Ziel gesendet werden.
- destinations
Mindestens ein Ziel (definiert in destinations). Sie können mehrere Ziele einschließen, wenn sie an das gleiche Ziel gesendet werden.
- transformKql
Transformation, die auf die Daten angewendet werden soll, bevor sie an das Ziel gesendet werden. Verwenden Sie source, um die Daten unverändert zu senden. Die Ausgabe der Transformation muss dem Schema der Zieltabelle entsprechen. Weitere Informationen zu Transformationen finden Sie unter Transformationen für die Datensammlung in Azure Monitor.
- outputStream
Dient zum Angeben der Zieltabelle im Log Analytics-Arbeitsbereich. Die Tabelle muss bereits im Arbeitsbereich vorhanden sein. Bei benutzerdefinierten Tabellen muss dem Tabellennamen Custom- vorangestellt werden. Integrierte Tabellen werden derzeit nicht zusammen mit der Pipeline als Edge-Lösung unterstützt.
Verwenden Sie den folgenden Befehl, um die Datensammlungsregel zu installieren:
az monitor data-collection rule create --name 'myDCRName' --location <location> --resource-group <resource-group> --rule-file '<dcr-file-path.json>'
## Example
az monitor data-collection rule create --name my-pipeline-dcr --location westus2 --resource-group 'my-resource-group' --rule-file 'C:\MyDCR.json'
Zugriff auf die Datensammlungsregel
Der Kubernetes-Cluster mit Arc-Unterstützung muss Zugriff auf die Datensammlungsregel haben, um Daten an die Cloudpipeline senden zu können. Verwenden Sie den folgenden Befehl, um die Objekt-ID der systemseitig zugewiesenen Identität für Ihren Cluster abzurufen:
az k8s-extension show --name <extension-name> --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --query "identity.principalId" -o tsv
## Example:
az k8s-extension show --name my-pipeline-extension --cluster-name my-cluster --resource-group my-resource-group --cluster-type connectedClusters --query "identity.principalId" -o tsv
Verwenden Sie die Ausgabe dieses Befehls als Eingabe für den folgenden Befehl, um die Azure Monitor-Pipeline zu autorisieren, ihre Telemetriedaten an die Datensammlungsregel zu senden:
az role assignment create --assignee "<extension principal ID>" --role "Monitoring Metrics Publisher" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.Insights/dataCollectionRules/<dcr-name>"
## Example:
az role assignment create --assignee "00000000-0000-0000-0000-000000000000" --role "Monitoring Metrics Publisher" --scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionRules/my-dcr"
Edgepipelinekonfiguration
Die Edgepipelinekonfiguration definiert die Details der Pipeline als Edge-Instanz und stellt die Datenflüsse bereit, die erforderlich sind, um Telemetriedaten zu empfangen und an die Cloud zu senden.
Ersetzen Sie die Eigenschaften in der folgenden Tabelle, bevor Sie die Vorlage bereitstellen:
Eigenschaft
Beschreibung
Allgemein
name
Der Name der Pipelineinstanz. Muss innerhalb des Abonnements eindeutig sein.
location
Der Standort der Pipelineinstanz.
extendedLocation
receivers
Jeweils ein Eintrag pro Empfänger. Jeder Eintrag gibt die Art der empfangenen Daten sowie den Port, an dem gelauscht wird, und einen eindeutigen Namen an, der im Abschnitt pipelines der Konfiguration verwendet wird.
type
Die Art der empfangenen Daten. Aktuell verfügbare Optionen sind OTLP und Syslog.
name
Der Name für den Empfänger, auf den im Abschnitt service verwiesen wird. Muss für die Pipelineinstanz eindeutig sein.
endpoint
Die Adresse und der Port, an der bzw. an dem der Empfänger lauscht. Verwenden Sie 0.0.0.0 für alle Adressen.
Prozessoren
Für die zukünftige Verwendung reserviert.
exporters
Jeweils ein Eintrag pro Ziel.
type
Derzeit wird nur der Typ AzureMonitorWorkspaceLogs unterstützt.
name
Muss für die Pipelineinstanz eindeutig sein. Der Name wird im Abschnitt pipelines der Konfiguration verwendet.
dataCollectionEndpointUrl
Die URL des Datensammlungsendpunkts, an den die Pipeline als Edge-Lösung die Daten sendet. Navigieren Sie zum Ermitteln dieser Information im Azure-Portal zu dem Datensammlungsendpunkt, und kopieren Sie den unter Protokollerfassung angegebenen Wert.
dataCollectionRule
Die unveränderliche ID der Datensammlungsregel, die die Datensammlung in der Cloudpipeline definiert. Kopieren Sie im Azure-Portal in der JSON-Ansicht Ihrer Datensammlungsregel den Wert der unveränderlichen ID im Abschnitt Allgemein.
- stream
Der Name des Datenstroms in Ihrer Datensammlungsregel, der die Daten akzeptiert.
- maxStorageUsage
Die Kapazität des Cache. Wenn 80 Prozent dieser Kapazität erreicht sind, werden die ältesten Daten gelöscht, um Platz für weitere Daten freizugeben.
- retentionPeriod
Die Aufbewahrungsdauer in Minuten. Nach dieser Zeitspanne werden die Daten gelöscht.
- schema
Das Schema der Daten, die an die Cloudpipeline gesendet werden. Muss dem Schema entsprechen, das im Datenstrom in der Datensammlungsregel definiert ist. Das im Beispiel verwendete Schema ist sowohl für Syslog als auch für OTLP gültig.
Dienst
Jeweils ein Eintrag pro Pipelineinstanz. Es wird nur eine einzelne Instanz pro Pipelineerweiterung empfohlen.
Pipelines
Jeweils ein Eintrag pro Datenfluss. Jeder Eintrag entspricht einem Empfänger (receiver) mit einem Exporter (exporter).
name
Der eindeutige Name der Pipeline.
receivers
Mindestens ein Empfänger, der auf zu empfangende Daten lauscht.
processors
Für die zukünftige Verwendung reserviert.
exporters
Mindestens ein Exporter, der die Daten an die Cloudpipeline sendet.
persistence
Der Name des persistenten Volumes für den Cache. Entfernen Sie diesen Parameter, wenn Sie den Cache nicht aktivieren möchten.
Verwenden Sie den folgenden Befehl, um die Vorlage zu installieren:
az deployment group create --resource-group <resource-group-name> --template-file <path-to-template>
## Example
az deployment group create --resource-group my-resource-group --template-file C:\MyPipelineConfig.json
ARM-Vorlagenbeispiel zum Konfigurieren aller Komponenten
Sie können alle erforderlichen Komponenten für die Azure Monitor-Pipeline als Edge-Lösung mithilfe der unten gezeigten ARM-Vorlage bereitstellen. Bearbeiten Sie die Parameterdatei mit spezifischen Werten für Ihre Umgebung. Die einzelnen Abschnitte der Vorlage werden weiter unten beschrieben – einschließlich der Abschnitte, die vor der Verwendung geändert werden müssen.
Komponente
type
BESCHREIBUNG
Log Analytics-Arbeitsbereich
Microsoft.OperationalInsights/workspaces
Entfernen Sie diesen Abschnitt, wenn Sie einen bereits vorhandenen Log Analytics-Arbeitsbereich verwenden. Der einzige erforderliche Parameter ist der Name des Arbeitsbereichs. Die unveränderliche ID für den Arbeitsbereich, die für andere Komponenten erforderlich ist, wird automatisch erstellt.
Entfernen Sie diesen Abschnitt, wenn Sie einen bereits vorhandenen Datensammlungsendpunkt verwenden. Der einzige erforderliche Parameter ist der Name des Datensammlungsendpunkts. Die Protokollerfassungs-URL für den Datensammlungsendpunkt, die für andere Komponenten erforderlich ist, wird automatisch erstellt.
Edgepipelineerweiterung
Microsoft.KubernetesConfiguration/extensions
Der einzige erforderliche Parameter ist der Name der Pipelineerweiterung.
Benutzerdefinierter Speicherort
Microsoft.ExtendedLocation/customLocations
Benutzerdefinierter Speicherort des Kubernetes-Clusters mit Azure Arc-Unterstützung.
Edgepipelineinstanz
Microsoft.monitor/pipelineGroups
Die Edgepipelineinstanz, die die Konfiguration des Listeners sowie Exporter und Datenflüsse enthält. Die Eigenschaften der Pipelineinstanz müssen geändert werden, bevor die Vorlage bereitgestellt wird.
Datensammlungsregel (Data Collection Rule, DCR)
Microsoft.Insights/dataCollectionRules
Der einzige erforderliche Parameter ist der Name der Datensammlungsregel. Allerdings müssen die Eigenschaften der Datensammlungsregel geändert werden, bevor die Vorlage bereitgestellt wird.
Überprüfen der im Cluster ausgeführten 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
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.
Überprüfen des Heartbeats
Jede in Ihrer Pipelineinstanz konfigurierte Pipeline sendet im Minutentakt einen Heartbeat-Datensatz an die Heartbeat-Tabelle 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:
Clientkonfiguration
Nach der Installation Ihrer Edgepipelineerweiterung und der entsprechenden Instanz müssen Sie Ihre Clients so konfigurieren, dass sie Daten an die Pipeline sendet.
Abrufen des Eingangsendpunkts
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
Falls das Feld „external-ip“ auf pending (ausstehend) festgelegt ist, muss für diesen Eingang manuell eine externe IP-Adresse gemäß Ihrer Clusterkonfiguration konfiguriert werden.
Client
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 Umgebungsvariablenmethode ist hier 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.