Bereitstellen des Azure Arc-Telemetrierouters
Hinweis
- Der Telemetrierouter befindet sich in der öffentlichen Vorschau und soll nur zu Testzwecken bereitgestellt werden.
- Beim Telemetrierouter in der öffentlichen Vorschau beachten Sie, dass zukünftige Vorschauversionen möglicherweise Änderungen an CRD-Spezifikationen, CLI-Befehlen und/oder Telemetrieroutermeldungen enthalten.
- Die aktuelle Vorschau unterstützt keine direkten Upgrades eines Datencontrollers, der mit aktiviertem Arc-Telemetrierouter bereitgestellt wird. Um einen Datencontroller in einem zukünftigen Release zu installieren, müssen Sie den Datencontroller deinstallieren und dann erneut installieren.
Was ist ein Azure Arc-Telemetrierouter?
Der Azure Arc-Telemetrierouter ermöglicht das Exportieren von Telemetriedaten in andere Überwachungslösungen. In dieser öffentlichen Vorschauphase unterstützen wir nur das Exportieren von Protokolldaten in Kafka oder Elasticsearch sowie das Exportieren von Metrikdaten in Kafka.
Dieses Dokument gibt an, wie Sie den Telemetrierouter bereitstellen und für die Arbeit mit den unterstützten Exportern konfigurieren.
Bereitstellung
Hinweis
Der Telemetrierouter unterstützt zurzeit nur den indirekt verbundenen Modus.
So erstellen Sie ein benutzerdefiniertes Konfigurationsprofil
Nachdem Sie Ihren Kubernetes-Cluster eingerichtet haben, müssen Sie ein benutzerdefiniertes Konfigurationsprofilerstellen. Aktivieren Sie anschließend ein temporäres Feature-Flag, das den Telemetrierouter während der Erstellung des Datencontrollers bereitstellt.
Featureflag aktivieren
Nachdem Sie das benutzerdefinierte Konfigurationsprofil erstellt haben, müssen Sie das Profil bearbeiten, um die Eigenschaft monitoring
mit dem auf true
gesetzten Flag enableOpenTelemetry
hinzufügen. Sie können das Feature-Flag festlegen, indem Sie die folgenden az CLI-Befehle ausführen (bearbeiten Sie ggf. den Parameter "--path“):
az arcdata dc config add --path ./control.json --json-values ".spec.monitoring={}"
az arcdata dc config add --path ./control.json --json-values ".spec.monitoring.enableOpenTelemetry=true"
Um zu bestätigen, dass das Flag korrekt festgelegt wurde, können Sie die Datei „control.json“ öffnen und bestätigen, dass das monitoring
-Objekt dem spec
-Objekt hinzugefügt und enableOpenTelemetry
auf true
gesetzt wurde.
spec:
monitoring:
enableOpenTelemetry: true
Diese Featureflag-Anforderung wird in der künftigen Version entfernt.
Erstellen des Datencontrollers
Nach der Erstellung des benutzerdefinierten Konfigurationsprofils und Festlegung des Featureflags, können Sie den Datencontroller mithilfe des indirekten Verbindungsmodus erstellen. Ersetzen Sie den --profile-name
Parameter unbedingt durch einen --path
Parameter, der auf ihre benutzerdefinierte control.json-Datei verweist (siehe benutzerdefinierte Control.json-Datei zum Bereitstellen von Azure Arc-fähigen Datencontroller)
Telemetrierouterbereitstellung überprüfen
Beim Erstellen des Datencontrollers wird automatisch eine benutzerdefinierte TelemetryRouter-Ressource erstellt. Die Bereitstellung des Datencontrollers wird als abgeschlossen markiert, wenn beide benutzerdefinierten Ressourcen die Bereitstellung abgeschlossen haben. Nachdem der Datencontroller die Bereitstellung abgeschlossen hat, können Sie ein vorhandenes TelemetryRouter durch folgenden Befehl bestätigen:
kubectl describe telemetryrouter arc-telemetry-router -n <namespace>
apiVersion: arcdata.microsoft.com/v1beta4
kind: TelemetryRouter
metadata:
name: arc-telemetry-router
namespace: <namespace>
spec:
credentials:
exporters:
pipelines:
Zum Zeitpunkt der Erstellung werden keine Pipeline- oder Exporter eingerichtet. Sie können eigene Pipelines und Exporter einrichten, um Metriken und Protokolldaten an Ihre eigenen Instanzen von Kafka und Elasticsearch weiterzuleiten.
Nachdem der TelemetryRouter bereitgestellt wurde, muss eine Kafka-Instanz (arc-router-kafka) und eine einzelne Instanz von TelemetryCollector (collector-inbound) bereitgestellt und in einem bereiten Zustand sein. Diese Ressourcen werden vom System verwaltet und deren Bearbeitung wird nicht unterstützt. Von daher werden folgenden Pods bereitgestellt:
- Ein eingehender Sammel-Pod -
arctc-collector-inbound-0
- Ein Kakfa Broker Pod -
arck-arc-router-kafka-broker-0
- Ein Kakfa-Controller-Pod -
arck-arc-router-kafka-controller-0
Hinweis
Ein ausgehender Sammel-Pod wird erst dann erstellt, wenn dem Telemetrierouter mindestens eine Pipeline hinzugefügt wurde.
Nachdem Sie die erste Pipeline erstellt haben, wird eine zusätzliche TelemetryCollector-Ressource (Collector-outbound) und Pod arctc-collector-outbound-0
bereitgestellt.
kubectl get pods -n <namespace>
NAME READY STATUS RESTARTS AGE
arc-bootstrapper-job-4z2vr 0/1 Completed 0 15h
arc-webhook-job-facc4-z7dd7 0/1 Completed 0 15h
arck-arc-router-kafka-broker-0 2/2 Running 0 15h
arck-arc-router-kafka-controller-0 2/2 Running 0 15h
arctc-collector-inbound-0 2/2 Running 0 15h
bootstrapper-8d5bff6f7-7w88j 1/1 Running 0 15h
control-vpfr9 2/2 Running 0 15h
controldb-0 2/2 Running 0 15h
logsdb-0 3/3 Running 0 15h
logsui-fwrh9 3/3 Running 0 15h
metricsdb-0 2/2 Running 0 15h
metricsdc-bc4df 2/2 Running 0 15h
metricsdc-fm7jh 2/2 Running 0 15h
metricsui-qqgbv 2/2 Running 0 15h