Steuern von Ressourcen für Clientanwendungen mit Anwendungsgruppen

Azure Event Hubs ermöglicht es Ihnen, mithilfe von Anwendungsgruppen Ereignisstreamingworkloads für Clientanwendungen zu steuern, die eine Verbindung mit Event Hubs herstellen. Weitere Informationen finden Sie unter Ressourcengovernance mit Anwendungsgruppen.

In diesem Artikel wird erläutert, wie die folgenden Aufgaben ausgeführt werden:

  • Erstellen einer Anwendungsgruppe
  • Aktivieren oder Deaktivieren einer Anwendungsgruppe
  • Definieren von Schwellenwerten und Anwenden von Drosselungsrichtlinien auf eine Anwendungsgruppe
  • Überprüfen der Drosselung mit Diagnoseprotokollen

Hinweis

Anwendungsgruppen sind derzeit nur in den Premium- und Dedicated-Tarifen verfügbar.

Erstellen einer Anwendungsgruppe

In diesem Abschnitt erfahren Sie, wie Sie eine Anwendungsgruppe mit dem Azure-Portal, mit der CLI, mit PowerShell oder einer Azure Resource Manager-Vorlage (ARM) erstellen.

Sie können eine Anwendungsgruppe über das Azure-Portal erstellen, indem Sie die folgenden Schritte ausführen.

  1. Navigieren Sie zu Ihrem Event Hubs-Namespace.

  2. Wählen Sie im linken Menü Anwendungsgruppen unter Einstellungen aus.

  3. Wählen Sie auf der Seite Anwendungsgruppen die Option + Anwendungsgruppe auf der Befehlsleiste aus.

    Screenshot: Seite „Anwendungsgruppen“ im Azure-Portal.

  4. Führen Sie auf der Seite Anwendungsgruppe hinzufügen die folgenden Schritte aus:

    1. Geben Sie einen Namen für die Anwendungsgruppe an.

    2. Bestätigen Sie, dass Aktiviert ausgewählt ist. Um die Anwendungsgruppe zunächst im deaktivierten Zustand zu erstellen, deaktivieren Sie die Option Aktiviert. Dieses Flag bestimmt, ob die Clients einer Anwendungsgruppe auf Event Hubs zugreifen können.

    3. Wählen Sie für den Sicherheitskontexttypdie Namespace-Richtlinie für den freigegebenen Zugriff,die Event Hub-Richtlinie für den freigegebenen Zugriff oder die Microsoft Entra-Anwendung aus. Die Anwendungsgruppe unterstützt die Auswahl des SAS-Schlüssels auf Namespace- oder Entitätsebene (Event Hub). Wenn Sie die Anwendungsgruppe erstellen, sollten Sie sie entweder mit einer Shared Access Signature (SAS) oder einer Azure Active Directory-Anwendungs-ID (Azure AD) verknüpfen, die von Clientanwendungen verwendet wird.

    4. Wenn Sie SAS-Richtlinie für Namespaces ausgewählt haben:

      1. Wählen Sie als SAS-Schlüsselname die SAS-Richtlinie aus, die als Sicherheitskontext für diese Anwendungsgruppe verwendet werden kann. Sie können SAS-Richtlinie hinzufügen auswählen, um eine neue Richtlinie hinzuzufügen und dann der Anwendungsgruppe zuzuordnen.

        Screenshot: Seite „Anwendungsgruppe hinzufügen“ mit ausgewählter Option „SAS-Richtlinie für Namespaces“.

    5. Wenn Sie SAS-Richtlinie für Event Hubs ausgewählt haben:

      1. Kopieren Sie unter SAS-Schlüsselname den Namen der SAS-Richtlinie von der Event Hubs-Seite „SAS-Richtlinien“, und fügen Sie ihn in das Textfeld ein.

        Screenshot: Seite „Anwendungsgruppe hinzufügen“ mit ausgewählter Option „SAS-Richtlinie für Event Hub“.

    6. Wenn Sie die Microsoft Entra-Anwendung ausgewählt haben:

      1. Geben Sie für die Microsoft Entra-Anwendung (Client-ID) die Microsoft Entra-Anwendung oder Client-ID an.

      Screenshot der Seite „Anwendungsgruppe hinzufügen“ mit Microsoft Entra-Option.

Unterstützter Sicherheitskontexttyp

Überprüfen Sie die automatisch generierte Clientgruppen-ID. Dies ist die eindeutige ID, die der Anwendungsgruppe zugeordnet ist. Der Umfang der Anwendungsgovernance (Namespace- oder Entitätsebene) würde von der Zugriffsebene für die verwendete Azure AD-Anwendungs-ID abhängen. Die folgende Tabelle zeigt die automatisch generierte Clientgruppen-ID für verschiedene Sicherheitskontexttypen:

Sicherheitskontexttyp Automatisch generierte Clientgruppen-ID
SAS-Schlüssel für Namespaces NamespaceSASKeyName=<NamespaceLevelKeyName>
Microsoft Entra-Anwendungsproxy AADAppID=<AppID>
SAS-Schlüssel für Event Hubs EntitySASKeyName=<EntityLevelKeyName>

Hinweis

Alle vorhandenen Anwendungsgruppen, die mit dem SAS-Schlüssel für Namespaces erstellt wurden, funktionieren weiterhin mit der mit SASKeyName beginnenden Clientgruppen-ID. Alle neuen Anwendungsgruppen hätten jedoch wie oben gezeigt eine aktualisierte Clientgruppen-ID.

  1. Führen Sie die folgenden Schritte aus, um eine Richtlinie hinzuzufügen:

    1. Geben Sie einen Namen für die Richtlinie ein.

    2. Wählen Sie als Typ die Option Bandbreiteneinschränkungsrichtlinie aus.

    3. Wählen Sie für als Metrik-ID eine der folgenden Optionen aus: Eingehende Nachrichten, Ausgehende Nachrichten, Eingehende Bytes, Ausgehende Bytes. Im folgenden Beispiel wird Eingehende Nachrichten ausgewählt.

    4. Geben Sie als Schwellenwert für Ratengrenzwert den Schwellenwert ein. Im folgenden Beispiel wird 10.000 als Schwellenwert für die Anzahl eingehender Nachrichten angegeben.

      Screenshot: Seite „Anwendungsgruppe hinzufügen“ mit einer Richtlinie für eingehende Nachrichten.

      Dies ist ein Screenshot der Seite mit einer weiteren hinzugefügten Richtlinie.

      Screenshot: Seite „Anwendungsgruppe hinzufügen“ mit zwei Richtlinien.

  2. Wählen Sie nun auf der Seite Anwendungsgruppe hinzufügen die Option Hinzufügen aus.

  3. Vergewissern Sie sich, dass die Anwendungsgruppe in der Liste der Anwendungsgruppen angezeigt wird.

    Screenshot: Seite „Anwendungsgruppen“ mit der von Ihnen erstellten Anwendungsgruppe.

    Sie können die Anwendungsgruppe in der Liste löschen, indem Sie das Papierkorbsymbol neben ihr in der Liste auswählen.

Aktivieren oder Deaktivieren einer Anwendungsgruppe

Sie können verhindern, dass Clientanwendungen auf Ihren Event Hubs-Namespace zugreifen, indem Sie die Anwendungsgruppe deaktivieren, die diese Anwendungen enthält. Wenn die Anwendungsgruppe deaktiviert wird, können Clientanwendungen keine Daten veröffentlichen oder nutzen. Alle hergestellten Verbindungen von Clientanwendungen dieser Anwendungsgruppe werden ebenfalls beendet.

In diesem Abschnitt wird gezeigt, wie Sie eine Anwendungsgruppe mithilfe des Azure-Portals, mit PowerShell, mit der CLI oder mit einer ARM-Vorlage aktivieren oder deaktivieren.

  1. Wählen Sie auf der Seite Event Hubs-Namespace im linken Menü die Option Anwendungsgruppen aus.

  2. Wählen Sie die Anwendungsgruppe aus, die Sie aktivieren oder deaktivieren möchten.

    Screenshot: Seite „Anwendungsgruppen“ mit der einer ausgewählten Anwendungsgruppe.

  3. Deaktivieren Sie auf der Seite Anwendungsgruppe bearbeiten das Kontrollkästchen neben Aktiviert, um eine Anwendungsgruppe zu deaktivieren, und wählen Sie dann unten auf der Seite Aktualisieren aus. Aktivieren Sie analog dazu das Kontrollkästchen, um eine Anwendungsgruppe zu aktivieren.

    Screenshot: Seite „Anwendungsgruppe bearbeiten“ mit deaktivierter Option „Aktiviert“.

Anwenden von Einschränkungsrichtlinien

Sie können beim Erstellen einer Anwendungsgruppe oder einer vorhandenen Anwendungsgruppe null oder mehr Richtlinien hinzufügen. Sie können contosoAppGroup beispielsweise Einschränkungsrichtlinien im Zusammenhang mit IncomingMessages, IncomingBytes oder OutgoingBytes hinzufügen. Diese Richtlinien werden auf Ereignisstreamingworkloads von Clientanwendungen angewendet, die die SAS-Richtlinie contososaspolicy verwenden.

Informationen zum Hinzufügen von Richtlinien beim Erstellen einer Anwendungsgruppe finden Sie im Abschnitt Erstellen einer Anwendungsgruppe.

Sie können auch Richtlinien hinzufügen, nachdem eine Anwendungsgruppe erstellt wurde.

  1. Wählen Sie auf der Seite Event Hubs-Namespace im linken Menü die Option Anwendungsgruppen aus.

  2. Wählen Sie die Anwendungsgruppe aus, für die eine Richtlinie hinzugefügt, aktualisiert oder gelöscht werden soll.

    Screenshot: Seite „Anwendungsgruppen“ mit der einer ausgewählten Anwendungsgruppe.

  3. Auf der Seite Anwendungsgruppe bearbeiten können Sie die folgenden Schritte ausführen:

    1. Aktualisieren von Einstellungen (einschließlich Schwellenwerten) für vorhandene Richtlinien
    2. Hinzufügen einer neuen Richtlinie

Festlegen des Schwellenwerts für die Drosselungsrichtlinien

Azure Event Hubs unterstützt Protokolle von Anwendungsmetriken, um den üblichen Durchsatz in Ihrem System zu beobachten und dementsprechend über den Schwellenwert für die Anwendungsgruppe zu entscheiden. Sie können die folgenden Schritte ausführen, um einen Schwellenwert zu bestimmen:

  1. Aktivieren Sie in Event Hubs Diagnoseeinstellungen mit Anwendungsmetrikprotokolle als ausgewählte Kategorie, und wählen Sie Protokollanalyse als Ziel.

  2. Erstellen Sie eine leere Anwendungsgruppe ohne Drosselungsrichtlinie.

  3. Senden Sie Nachrichten/Ereignisse weiterhin mit dem üblichen Durchsatz an Event Hub.

  4. Wechseln Sie zum Log Analytics-Arbeitsbereich, und fragen Sie in der Tabelle AzureDiagnostics den passenden Aktivitätsnamen (basierend auf [resource-governance-overview.md#throttling-policy---threshold-limits]) ab. Die folgende Beispielabfrage dient zum Nachverfolgen des Schwellenwerts für eingehende Nachrichten:

    AzureDiagnostics 
        | where ActivityName_s =="IncomingMessages" 
        | where Outcome_s =="Success"      
    
  5. Wählen Sie im Log Analytics-Arbeitsbereich den Abschnitt Diagramm aus und zeichnen Sie ein Diagramm zwischen der auf der Y-Achse generierten Zeit und der Anzahl der gesendeten Nachrichten auf der X-Achse.

    Screenshot der Protokollseite von Azure Monitor im Azure-Portal.

    In diesem Beispiel sehen Sie, dass der übliche Durchsatz nie mehr als 550 Nachrichten überschritten hat (erwarteter aktueller Durchsatz). Diese Beobachtung hilft Ihnen, den tatsächlichen Schwellenwert zu definieren.

  6. Nachdem Sie den Schwellenwert festgelegt haben, fügen Sie innerhalb der Anwendungsgruppe eine neue Drosselungsrichtlinie hinzu.

Veröffentlichen oder Nutzen von Ereignissen

Nachdem Sie erfolgreich Einschränkungsrichtlinien zur Anwendungsgruppe hinzugefügt haben, können Sie das Drosselungsverhalten testen, indem Sie Ereignisse mithilfe von Clientanwendungen veröffentlichen oder nutzen, die Teil der Anwendungsgruppe contosoAppGroup sind. Zum Testen können Sie entweder einen AMQP-Client oder eine Kafka-Clientanwendung und denselben SAS-Richtliniennamen oder dieselbe Azure AD-Anwendungs-ID verwenden, die zum Erstellen der Anwendungsgruppe verwendet wird.

Hinweis

Wenn Ihre Clientanwendungen gedrosselt werden, stellen Sie wahrscheinlich fest, dass die Veröffentlichung oder Nutzung von Daten langsamer ist.

Überprüfen der Drosselung mit Anwendungsgruppen

Ähnlich wie unter Festlegen des Schwellenwerts für die Drosselungsrichtlinien können Sie Anwendungsmetrikprotokolle verwenden, um die Drosselung zu prüfen und weitere Details zu erfahren.

Sie können mit der folgenden Beispielabfrage alle gedrosselten Anforderungen in einem bestimmten Zeitrahmen ermitteln. Sie müssen ActivityName so aktualisieren, dass er dem Vorgang entspricht, von dem Sie erwarten, dass er gedrosselt wird.


  AzureDiagnostics 
  |  where Category =="ApplicationMetricsLogs"
  | where ActivityName_s =="IncomingMessages" 
  | where Outcome_s =="Throttled"  
	

Aufgrund von Einschränkungen auf Protokollebene werden für Consumervorgänge innerhalb von Event Hub (OutgoingMessages oder OutgoingBytes) keine Protokolle gedrosselter Anforderungen generiert. Wenn Anforderungen auf Consumerseite gedrosselt werden, stellen Sie einen langsamen ausgehenden Durchsatz fest.

Nächste Schritte