Zum Inhalt springen

Architektur

Zuletzt aktualisiert am

Der STACKIT Telemetry Router und seine Komponenten dienen der Aufnahme und Verteilung von Telemetrie Daten. Über einen Telemetry Link wird der Telemetry Router mit Ihren Cloud-Ressourcen verknüpft, um standardisierte Datenströme automatisch zu erfassen. Sie haben die volle Kontrolle, diesen vereinheitlichten Datenstrom an STACKIT-interne Dienste oder externe, OpenTelemetry- oder S3-kompatible Ziele weiterzuleiten.

Diagram

Der Telemetry Link setzt einen bestehenden Telemetry Router voraus. Für jedes Level (Projekt, Ordner, Organisation) kann pro Region ein Telemetry Link angelegt werden. Für die Konfiguration eines Telemetry Links bedarf es sowohl der ID als auch eines Zugriffstokens des Telemetry Routers, welcher verknüpft werden soll. Ein Telemetry Link geht strikt davon aus, dass der konfigurierte Telemetry Router sich in der selben Region befindet.

Der Telemetry Router ist eine selbst verwaltbare Komponente, über welche Telemetry Daten eingeleitet werden können. Um Daten am Endpunkt des Telemetry Routers einleiten zu können, wird ein individuell erstellbares Zugriffstoken benötigt. Die Erstellung eines Telemetry Routers ermöglicht das Anlegen von Destinations Filterung und Emission der erfassten Daten.

Access Token sind JSON Web Token (JWT), welche benötigt werden, um mit dem Endpunkt eines Telemetry Routers interagieren zu können.

Für jede Instanz des Telemetry Router definieren Sie Ziele, an die Ihr Datenstrom weitergeleitet wird. Sie können den Datenstrom an einen OpenTelemetry-kompatiblen Endpunkt oder an einen S3-kompatiblen STACKIT Object Storage senden. Für OpenTelemetry können entweder Basic- oder Token-Auth verwendet werden, damit sich Ihre Instanz des Telemetry Router gegenüber Ihrem Ziel authentifizieren kann. Den eigentlichen Ziel-Endpunkt definieren Sie mit einer URI.

Sie können den Filter für jede Instanz des Telemetry Router frei konfigurieren. Jedes Konfigurations-Element wird als Attribut bezeichnet und durch seinen Schlüssel (key) identifiziert. Jedes Filterattribut arbeitet auf einer von drei Ebenen:

  • resource
  • scope
  • logRecord

Anschließend geben Sie Ausdrücke an, die mit den Objekten übereinstimmen, die durch diese Ebenen repräsentiert werden. Jeder Ausdruck wird durch einen matcher und einen abzugleichenden Wert (value) gebildet. Die folgenden Optionen für matcher sind verfügbar:

  • =: Gleicht einen Ausdruck ab.

    Der = Matcher enthält eine Liste der übereinstimmenden Ausdrücke.

  • !=: Negiert einen Abgleich von Ausdrücken.

    Der != Matcher enthält keine Liste der übereinstimmenden Ausdrücke.

Mit dem Parameter value konfigurieren Sie, was tatsächlich durch den matcher ausgewertet werden soll. Es handelt sich um ein Array von Strings.

Im Folgenden werden mögliche Szenarios der Konfiguration obiger Ressourcen zur Verfügung gestellt, indem die bekannte Architektur erweitert wird.

Für einen Telemetry Router können mehrere Ziele konfiguriert werden. Jedes dieser Ziele kann frei für OpenTelemetry oder S3 konfiguriert sein. Vom Telemetry Router erfasste Daten werden parallel an alle konfigurierten Ziele weitergeleitet.

Diagram

Erfassung der Telemetriedaten mehrerer STACKIT Projekte

Abschnitt betitelt „Erfassung der Telemetriedaten mehrerer STACKIT Projekte“

Es ist möglich, die Telemetrie Daten mehrerer Projekte über den gleichen Telemetry Router zu leiten. Hierbei gilt es, die Einschränkungen des Telemetry Links in Bezug auf Regionalität zu beachten.

Diagram

Ist es notwendig, die Telemetriedaten und vor allem Audit Logs aller Hierarchieebenen zu erfassen, so ist dies auch über den Telemetry Link möglich. Aufgrund technischer Limitierungen muss sich ein Telemetry Router immer in einem Projekt befinden. Die Telemetry Links auf Organisations-, Ordner- und Projekt Ebene werden dann so konfiguriert, dass ein konkreter Telemetry Router eingebunden ist.

Diagram