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 Teilnehmer-URL verwenden, um mehrere Meldungsgruppen zu abonnieren.
Hinweis: 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.
Hinweis: 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, Nachrichten zu senden, bis die Nachricht erfolgreich übermittelt wird. 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. VMware Aria Operations for Networks-Datenbus unterstützt das Filtern von Nachrichten nicht. 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 einer Hostmeldungsgruppe dazu beitragen, die Hosts der Ereignisse zu korrelieren, die von der Problemmeldungsgruppe empfangen wurden.