Grundlegendes zu Databus-Terminologien und -Funktionen
Der Datenbus bietet verschiedene Funktionen. Wenn Sie diese Funktionen verstehen, können Sie den Datenbus effizienter verwenden.
Abonnent
Ein Abonnent ist ein Endpoint, der sich beim Datenbus registriert, um die Daten von der Meldungsgruppe zu empfangen. Sie können nicht mehrere Abonnenten mit derselben Meldungsgruppe und derselben Abonnenten-URL haben.
Abonnenten-URL
Eine URL, über die Sie die Daten vom Datenbus erhalten. Der Datenbus von
VMware Aria Operations for Networks
sendet alle Meldungen einer beliebigen Meldungsgruppe an die Abonnenten-URL. Sie können auch eine Abonnenten-URL verwenden, um Abonnements aus mehreren Meldungsgruppen zu registrieren.Der Databus beginnt mit dem Streaming von Daten ab dem Zeitpunkt, an dem Sie eine Meldungsgruppe abonniert haben, und fährt fort, bis Sie sich abmelden. Das System verarbeitet alle vorübergehenden Kommunikationsverluste über integrierte Mechanismen, und das Daten-Streaming wird wieder aufgenommen, sobald das Problem behoben ist. Sie müssen keine Maßnahmen ergreifen.
Reihenfolge der Meldungen
Die über den Datenbus gesendeten Meldungen werden in der Regel nach den Zeitstempeln sortiert, wenn das Ereignis oder das Objekt in
VMware Aria Operations for Networks
gespeichert wird. Aber in bestimmten Szenarien können diese Garantien für die Reihenfolge nicht erfüllt werden. Für eine zuverlässige Reihenfolge der Meldungen müssen die Abonnenten das Feld für den Zeitstempel in den Datenbus-Meldungen verwenden und die Meldung nach dem Zeitstempel sequenzieren. Streaming nahezu in Echtzeit
Im Datenbus gibt es eine Verzögerung zwischen der Verarbeitung von Daten in
VMware Aria Operations for Networks
und dem Datenbus, der die Daten ausstreamt. Die Verzögerung kann zwischen drei Sekunden und einer Minute liegen. Diese Verzögerung variiert je nach Meldungsgruppen und hängt von einer bereinigten Pipeline ab.Lastausgleichsdienst zur Skalierung der Datenverarbeitung
Beim Empfang von Daten vom
VMware Aria Operations for Networks
-Datenbus können Sie einen Lastausgleichsdienst verwenden, um den Datenverarbeitungsdienst horizontal zu skalieren. Um einen Lastausgleichsdienst zu verwenden, müssen Sie die URL des Lastausgleichsdiensts während des Registrierungsprozesses des Datenbusses als Abonnenten-URL verwenden. Ein Lastausgleichsdienst kann die Daten an horizontal skalierbare Datenverarbeitungsdienste verteilen. Heartbeat
Zur Fehlerbehebung für den Kommunikationskanal zwischen
VMware Aria Operations for Networks
-Datenbus und dem Abonnenten-Endpoint sendet VMware Aria Operations for Networks
stündliche Taktsignalmeldungen an jeden Abonnenten. Wenn eine URL in mehreren Abonnements angegeben ist, erhält der Abonnent eine Taktsignalmeldung für jedes Abonnement. Beispiel:
{ "id": "c2214eea-68a6-4e5a-9e4b-ff5886a42cd3", "type": "HEARTBEAT", "specversion": "1.0", "source": "CL58EgdESzVDSEE1", "message_group": "vms", "status": "HEARTBEAT", "timestamp": 1681897371522 }
Meldungs-Batching
Der Datenbus von
VMware Aria Operations for Networks
unterstützt grundsätzlich Batching, bei dem mehrere Meldungen in einem Stapel zusammengefasst und an den Abonnenten gesendet werden. Standardmäßig beträgt die maximale Größe eines Batches zwei Megabyte. Wenn die Größe einer einzelnen Meldung mehr als zwei Megabyte beträgt, wird die Meldung gekürzt. Die Batcherstellung führt zu einer zusätzlichen Verzögerung, die weniger als eine Minute beträgt.
Beispiel für eine gekürzte Meldung:
[ { "id": "elfcdccb-c06a-419b-90bd-7618e8453f87", "type": "Application", "specversion": "1.0", "source": "CNaBARIHRElXRlgxRg==", "message_group": "applications", "status": "UPDATE_TRIMMED", "data": { "entity_id": "16598:561:716945762559381432", "entity_type": "Application", "name": "My-3Tier-App" } ]
Übermittlungsgarantie
Eine Meldungsübermittlung wird als erfolgreich betrachtet, wenn der Abonnent mit einem anderen HTTP-Code als dem 503-Fehlercode antwortet.
Wenn ein Abonnent keine Meldung erhält, aber
VMware Aria Operations for Networks
den Fehlercode 503 nicht erhält, betrachtet VMware Aria Operations for Networks
die Meldung als zugestellt und versucht nicht, die Meldung erneut zu senden, und die Meldung geht möglicherweise verloren. Wir haben diesen Mechanismus eingeführt, um sicherzustellen, dass ein kontinuierlicher Wiederholungsversuch Ihr System nicht überfordert. Wenn Ihre Produktionsumgebung beispielsweise inaktiv ist, würden kontinuierliche Wiederholungen sehr viele Ressourcen beanspruchen. In diesem Fall können Sie durch das Senden einer anderen HTTP-Antwort als 503 angeben, dass Sie es nicht erneut versuchen möchten. In
VMware Aria Operations for Networks
werden die Meldungen von verschiedenen Diensten bezogen und dann zu einer festplattenbasierten Warteschlange hinzugefügt. Die Ablaufzeit der festplattenbasierten Warteschlange beträgt zwei Stunden. Jede Meldung, die nicht innerhalb von zwei Stunden an den Abonnenten übermittelt wird, wird auf FIFO-Weise aus der Warteschlange gelöscht und nicht an den Abonnenten übermittelt. Wenn die Menge der Meldungen in
VMware Aria Operations for Networks
über dem liegt, was zuverlässig vom System weitergeleitet werden kann, werden Meldungen möglicherweise verworfen. Wenn der Datenbusabonnent nicht erreichbar ist, versucht das System, Meldungen zu senden, bis der Vorgang erfolgreich ist. In Version 6.9 wurde ein Back-off-Mechanismus hinzugefügt, bei dem das System die Zustellung von Meldungen in exponentieller Zeit wiederholt. Filter
Wenn Sie einen Abonnenten registrieren, erhält der Abonnent alle Meldungen dieser Meldungsgruppe. Das Filtern von Meldungen wird im
VMware Aria Operations for Networks
-Datenbus nicht unterstützt. Wenn Sie nicht alle Meldungen in einer Meldungsgruppe wünschen, können Sie die Meldungen basierend auf den Filterbedingungen vor der weiteren Verarbeitung verwerfen. Sie können Warnungen auch über die VMware Aria Operations for Networks
-UI deaktivieren.Korrelieren von Meldungen mit anderen Objekten
In bestimmten Szenarien enthalten die vom Datenbus empfangenen Meldungen kontextbezogene Informationen zu einigen anderen verwandten Einheiten, ohne die vollständigen Details dieser Einheiten. Die Meldung enthält jedoch einen bestimmten Bezeichner, z. B. eine
entity_id
. Um Details zu diesen verwandten Einheiten zu erhalten, müssen Sie diese Einheiten mithilfe von APIs abonnieren. Beispielsweise kann das Abonnieren der Hostmeldungsgruppe dazu beitragen, die Hosts der Ereignisse zu korrelieren, die von der Problemmeldungsgruppe empfangen wurden.