Im Event Hub protokollieren

GILT FÜR: Alle API Management-Ebenen

Die Richtlinie log-to-eventhub sendet Nachrichten im angegebenen Format an einen Event Hub, der durch eine Protokollierungsentität definiert ist. Wie anhand des Namens bereits erkennbar ist, wird diese Richtlinie zum Speichern von ausgewählten Anforderungs- oder Antwortkontextinformationen für die Online- oder Offlineanalyse verwendet.

Hinweis

Eine Schritt-für-Schritt-Anleitung für die Konfiguration eines Event Hub und von Protokollierungsereignissen finden Sie unter Protokollieren von Ereignissen in Azure Event Hubs mit Azure API Management.

Hinweis

Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.

Richtlinienanweisung

<log-to-eventhub logger-id="id of the logger entity" partition-id="index of the partition where messages are sent" partition-key="value used for partition assignment">
  Expression returning a string to be logged
</log-to-eventhub>

Attribute

Attribut BESCHREIBUNG Erforderlich Standard
logger-id Die ID des Protokollierungstools, das bei Ihrem API Management-Dienst registriert ist Richtlinienausdrücke sind nicht zulässig. Ja
partition-id Gibt den Index der Partition an, an die Nachrichten gesendet werden. Richtlinienausdrücke sind nicht zulässig. Optional. Sollte nicht gemeinsam mit partition-key verwendet werden.
partition-key Gibt den Wert an, der für die Partitionszuweisung verwendet wird, wenn Nachrichten gesendet werden. Richtlinienausdrücke sind zulässig. Optional. Sollte nicht gemeinsam mit partition-id verwendet werden.

Verwendung

Hinweise zur Verwendung

  • Die Richtlinie ist von Application Insights-Sampling nicht betroffen. Alle Aufrufe der Richtlinie werden protokolliert.
  • Die maximal unterstützte Nachrichtengröße, die von dieser Richtlinie an einen Event Hub gesendet werden kann, beträgt 200 Kilobyte (KB). Eine größere Nachricht wird automatisch auf 200 KB gekürzt, bevor sie an einen Event Hub übertragen wird.

Beispiel

Eine beliebige Zeichenfolge kann als Wert für die Protokollierung in Event Hubs verwendet werden. In diesem Beispiel werden Datum und Uhrzeit, Name des Bereitstellungsdiensts, Anforderungs-ID, IP-Adresse und Vorgangsname für alle eingehenden Aufrufe in der unter der ID contoso-logger registrierten Event Hub-Protokollierung protokolliert.

<policies>
  <inbound>
    <log-to-eventhub logger-id ='contoso-logger'>
      @( string.Join(",", DateTime.UtcNow, context.Deployment.ServiceName, context.RequestId, context.Request.IpAddress, context.Operation.Name) )
    </log-to-eventhub>
  </inbound>
  <outbound>
  </outbound>
</policies>

Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier: