Überwachen von Azure OpenAI Service

Wenn Sie über unternehmenskritische Anwendungen und Geschäftsprozesse verfügen, die auf Azure-Ressourcen basieren, sollten Sie diese Ressourcen auf Verfügbarkeit, Leistung und Betrieb überwachen.

In diesem Artikel werden die von Azure OpenAI Service generierten Überwachungsdaten beschrieben. Azure OpenAI ist Teil von Azure KI Services. Azure KI Services verwendet Azure Monitor. Wenn Sie nicht mit den Features von Azure Monitor vertraut sind, die gängiger Bestandteil aller Azure-Dienste sind, die diesen Dienst nutzen, lesen Sie den Artikel Überwachen von Azure-Ressourcen mit Azure Monitor.

Dashboards

Azure OpenAI bietet vordefinierte Dashboards für jede Ihrer Azure OpenAI-Ressourcen. Um auf die Überwachungsdashboards zuzugreifen, melden Sie sich bei https://portal.azure.com an und wählen Sie den Übersichtsbereich für eine Ihrer Azure OpenAI-Ressourcen aus.

Screenshot der sofort einsatzbereiten Dashboards für eine Azure OpenAI-Ressource im Azure-Portal.

Die Dashboards sind in vier Kategorien unterteilt: HTTP-Anforderungen, tokenbasierte Nutzung, PTU-Auslastung und Feinabstimmung

Datensammlung und -routing in Azure Monitor

Azure OpenAI sammelt die gleichen Arten von Überwachungsdaten wie andere Azure-Ressourcen. Sie können Azure Monitor so konfigurieren, dass Daten in Aktivitäts-, Ressourcen und VM-Protokollen sowie in Form von Plattformmetriken generiert werden. Weitere Informationen finden Sie unter Daten aus Azure-Ressourcen überwachen.

Plattformmetriken und das Azure Monitor-Aktivitätsprotokoll werden automatisch gesammelt und gespeichert. Diese Daten können Daten mithilfe einer Diagnoseeinstellung an andere Speicherorte weitergeleitet werden. Azure Monitor-Ressourcenprotokolle werden erst erfasst und gespeichert, nachdem Sie eine Diagnoseeinstellung erstellt und dann die Protokolle an mindestens einen Speicherort weitergeleitet haben.

Wenn Sie eine Diagnoseeinstellung erstellen, legen Sie fest, welche Kategorien von Protokollen gesammelt werden sollen. Weitere Informationen zum Erstellen einer Diagnoseeinstellung mithilfe des Azure-Portals, der Azure CLI oder von PowerShell finden Sie unter Erstellen einer Diagnoseeinstellung zum Sammeln von Plattformprotokollen und -metriken in Azure.

Beachten Sie, dass durch die Verwendung von Diagnoseeinstellungen und das Senden von Daten an Azure Monitor-Protokolle weitere Kosten entstehen. Weitere Informationen finden Sie unter Kostenberechnungen und Optionen für Azure Monitor-Protokolle.

In den folgenden Abschnitten werden die Metriken und Protokolle behandelt, die Sie erfassen können.

Analysieren von Metriken

Sie können Metriken für Ihre Azure OpenAI Service-Ressourcen im Azure-Portal mithilfe von Azure Monitor-Tools analysieren. Wählen Sie auf der Seite Übersicht für Ihre Azure OpenAI-Ressource im linken Bereich unter Überwachungdie Option Metriken aus. Für weitere Informationen siehe Erste Schritte mit dem Azure Monitor Metrik-Explorer.

Azure OpenAI hat Gemeinsamkeiten mit einer Teilmenge von Azure KI Services. Eine Liste aller für Azure OpenAI und ähnliche Azure KI Services-Instanzen gesammelten Plattformmetriken finden Sie in unter Unterstützte Metriken für Microsoft.CognitiveServices/accounts.

Cognitive Services-Metriken

Dies sind Legacy-Metriken, die für alle Azure AI Services-Ressourcen gleich sind. Es wird nicht mehr empfohlen, diese Metriken mit Azure OpenAI zu verwenden.

Azure OpenAI-Metriken

Hinweis

Die Metrik Provisioned-managed Utilization ist jetzt veraltet und wird nicht mehr empfohlen. Diese Metrik wurde durch die Metrik Provisioned-managed Utilization V2 ersetzt.

In der folgenden Tabelle finden Sie eine aktuelle Teilmenge der in Azure OpenAI verfügbaren Metriken.

Metrik Kategorie Aggregation BESCHREIBUNG Dimensionen
Azure OpenAI Requests HTTP Anzahl Die Gesamtzahl der Aufrufe an die Azure OpenAI-API über einen bestimmten Zeitraum. Gilt für PayGo-, PTU- und PTU-verwaltete SKUs. ApiName, ModelDeploymentName,ModelName,ModelVersion, OperationName, Region, StatusCode, StreamType
Generated Completion Tokens Verwendung Sum Anzahl der generierten Token (Ausgabe) aus einem Azure OpenAI-Modell. Gilt für PayGo-, PTU- und PTU-verwaltete SKUs ApiName, ModelDeploymentName,ModelName, Region
Processed FineTuned Training Hours Verwendung Sum Anzahl der in einem optimierten OpenAI-Modell verarbeiteten Trainingsstunden. ApiName, ModelDeploymentName,ModelName, Region
Processed Inference Tokens Verwendung Sum Anzahl der in einem Azure OpenAI-Modell verarbeiteten Rückschlusstokens. Berechnet als Eingabeaufforderungstoken (Eingabe) + generierte Token. Gilt für PayGo-, PTU- und PTU-verwaltete SKUs. ApiName, ModelDeploymentName,ModelName, Region
Processed Prompt Tokens Verwendung Sum Gesamtanzahl der verarbeiteten Eingabeaufforderungstoken (Eingabe) in einem Azure OpenAI-Modell. Gilt für PayGo-, PTU- und PTU-verwaltete SKUs. ApiName, ModelDeploymentName,ModelName, Region
Provision-managed Utilization V2 Verwendung Average Die bereitstellungsverwaltete Nutzung ist der Nutzungsprozentsatz für eine bestimmte bereitstellungsverwaltete Bereitstellung. Berechnet als (PTUs verwendet/PTUs bereitgestellt)*100. Wenn die Auslastung bei oder über 100 % liegt, werden Aufrufe gedrosselt und geben einen 429-Fehlercode zurück. ModelDeploymentName,ModelName,ModelVersion, Region, StreamType

Konfigurieren von Diagnoseeinstellungen

Alle Metriken können mit Diagnoseeinstellungen in Azure Monitor exportiert werden. Zum Analysieren von Protokollen und Metrikdaten mit Azure Monitor Log Analytics-Abfragen müssen Sie Diagnoseeinstellungen für Ihre Azure OpenAI-Ressource und Ihren Log Analytics-Arbeitsbereich konfigurieren.

  1. Wählen Sie auf der Seite Ihrer Azure OpenAI-Ressource unter Überwachung im linken Bereich Diagnoseeinstellungen aus. Wählen Sie auf der Seite Diagnoseeinstellungen die Option Diagnoseeinstellung hinzufügen aus.

    Screenshot: Öffnen der Seite „Diagnoseeinstellungen“ für eine Azure OpenAI-Ressource im Azure-Portal

  2. Konfigurieren Sie auf der Seite Diagnoseeinstellungen die folgenden Felder:

    1. Aktivieren Sie An Log Analytics-Arbeitsbereich senden.
    2. Wählen Sie Ihr Azure-Kontoabonnement aus.
    3. Wählen Sie Ihren Log Analytics-Arbeitsbereich aus.
    4. Wählen Sie unter Protokolle die Option allLogs aus.
    5. Wählen Sie unter Metriken die Option AllMetrics aus.

    Screenshot: Konfigurieren der Diagnoseeinstellungen für eine Azure OpenAI-Ressource im Azure-Portal

  3. Geben Sie einen Namen für die Diagnoseeinstellung ein, um die Konfiguration zu speichern.

  4. Wählen Sie Speichern aus.

Nachdem Sie die Diagnoseeinstellungen konfiguriert haben, können Sie mit Metriken und Protokolldaten für Ihre Azure OpenAI-Ressource in Ihrem Log Analytics-Arbeitsbereich arbeiten.

Analysieren von Protokollen

Daten in Azure Monitor-Protokollen werden in Tabellen gespeichert, wobei jede Tabelle ihren eigenen Satz an eindeutigen Eigenschaften hat.

Alle Ressourcenprotokolle in Azure Monitor enthalten dieselben Felder, gefolgt von dienstspezifischen Feldern. Informationen zum allgemeinen Schema finden Sie unter Allgemeine und dienstspezifische Schemas für Azure-Ressourcenprotokolle.

Das Aktivitätsprotokoll ist ein Plattformprotokolltyp in Azure, das Erkenntnisse zu Ereignissen auf Abonnementebene liefert. Sie können es unabhängig anzeigen oder an Azure Monitor-Protokolle weiterleiten. Im Azure-Portal können Sie das Aktivitätsprotokoll in Azure Monitor-Protokollen verwenden, um mithilfe von Log Analytics komplexe Abfragen auszuführen.

Eine Liste der Ressourcenprotokolltypen, die für Azure OpenAI und ähnliche Azure KI Services-Dienste verfügbar sind, finden Sie im Artikel „Vorgänge für Azure-Ressourcenanbieter“ unter Microsoft.CognitiveServices.

Verwenden von Kusto-Abfragen

Nachdem Sie ein Azure OpenAI-Modell bereitgestellt haben, können Sie einige Vervollständigungsaufrufe senden, indem Sie die Playground-Umgebung in Azure AI Studio verwenden.

Screenshot: Generieren von Vervollständigungen für eine Azure OpenAI-Ressource im Playground von Azure OpenAI Studio.

Jeder Text, den Sie im „Vervollständigungen“-Playground oder im „Chatvervollständigungen“-Playground eingeben, generiert Metriken und Protokolldaten für Ihre Azure OpenAI-Ressource. Im Log Analytics-Arbeitsbereich für Ihre Ressource können Sie die Überwachungsdaten mithilfe der Abfragesprache Kusto abfragen.

Wichtig

Die „Öffnen“-Abfrage auf der Azure OpenAI-Ressourcenseite navigiert zu Azure Resource Graph. Dieser Vorgang wird in diesem Artikel nicht beschrieben. Die folgenden Abfragen verwenden die Abfrageumgebung für Log Analytics. Stellen Sie sicher, dass Sie die Schritte unter Konfigurieren von Diagnoseeinstellungen ausführen, um Ihren Log Analytics-Arbeitsbereich vorzubereiten.

  1. Wählen Sie auf der Seite Ihrer Azure OpenAI-Ressource im linken Bereich unter Überwachung die Option Protokolle aus.

  2. Wählen Sie den Log Analytics-Arbeitsbereich aus, den Sie mit Diagnosen für Ihre Azure OpenAI-Ressource konfiguriert haben.

  3. Wählen Sie auf der Log Analytics-Arbeitsbereich-Seite im linken Bereich unter Übersicht die Option Protokolle aus.

    Das Azure-Portal zeigt standardmäßig ein Fenster Abfragen-Fenster mit Beispielabfragen und Vorschlägen an. Sie können dieses Fenster schließen.

Geben Sie für die folgenden Beispiele die Kusto-Abfrage oben im Abfragefenster in den Bearbeitungsbereich ein, und wählen Sie dann Ausführen aus. Die Abfrageergebnisse werden unter dem Abfragetext angezeigt.

Die folgende Kusto-Abfrage ist nützlich für eine erste Analyse von Azure-Diagnose (AzureDiagnostics)-Daten zu Ihrer Ressource:

AzureDiagnostics
| take 100
| project TimeGenerated, _ResourceId, Category, OperationName, DurationMs, ResultSignature, properties_s

Durch diese Abfrage wird ein Beispiel mit 100 Einträgen zurückgegeben und eine Teilmenge der verfügbaren Datenspalten in den Protokollen angezeigt. Sie können in den Abfrageergebnissen den Pfeil neben dem Tabellennamen auswählen, um alle verfügbaren Spalten und zugehörigen Datentypen anzuzeigen.

Screenshot: Log Analytics-Abfrageergebnisse für Azure-Diagnosedaten für die Azure OpenAI-Ressource.

Um alle verfügbaren Datenspalten anzuzeigen, können Sie die Zeile mit den Eingrenzungsparametern (| project ...) aus der Abfrage entfernen:

AzureDiagnostics
| take 100

Führen Sie die folgende Abfrage aus, um die Azure-Metrikdaten (AzureMetrics) für Ihre Ressource zu untersuchen:

AzureMetrics
| take 100
| project TimeGenerated, MetricName, Total, Count, Maximum, Minimum, Average, TimeGrain, UnitName

Durch diese Abfrage wird ein Beispiel mit 100 Einträgen zurückgegeben und eine Teilmenge der verfügbaren Spalten der Azure-Metrikdaten angezeigt:

Screenshot: Log Analytics-Abfrageergebnisse für Azure-Metrikdaten für die Azure OpenAI-Ressource.

Hinweis

Wenn Sie im Azure OpenAI-Menü für Ihre Ressource Überwachung>Protokolle auswählen, öffnet sich Log Analytics mit dem für die aktuelle Ressource festgelegten Abfragebereich. Die angezeigten Protokollabfragen enthalten nur Daten dieser spezifischen Ressource. Zum Ausführen einer Abfragen, die Daten aus anderen Ressourcen oder Daten aus anderen Azure-Diensten enthält, wählen Sie im Azure-Portal im Menü Azure Monitor die Option Protokolle aus. Weitere Informationen finden Sie unter Protokollabfragebereich und Zeitbereich in Azure Monitor Log Analytics.

Einrichten von Warnungen

Azure Monitor-Warnungen informieren Sie proaktiv, wenn wichtige Bedingungen in Ihren Überwachungsdaten gefunden werden. Sie ermöglichen Ihnen, Probleme in Ihrem System zu identifizieren und zu beheben, bevor Ihre Kunden sie bemerken. Sie können Warnungen für Metriken, Protokolle und das Aktivitätsprotokoll festlegen. Verschiedene Arten von Warnungen haben jeweils verschiedene Vor- und Nachteile.

Die Anforderungen von Organisationen hinsichtlich Warnungen variieren und können sich im Laufe der Zeit ändern. Im Allgemeinen sollten alle Warnungen handlungsrelevant und im Falle ihres Auftretens mit einer bestimmten beabsichtigten Reaktion verknüpft sein. Wenn eine Warnung keine sofortige Reaktion erfordert, sollte die Bedingung eher mithilfe eines Berichts als einer Warnung erfasst werden. In manchen Anwendungsfällen muss möglicherweise immer eine Warnung ausgegeben werden, wenn bestimmte Fehlerbedingungen vorhanden sind. In anderen Fällen benötigen Sie möglicherweise Warnungen für Fehler, die einen bestimmten Schwellenwert für einen festgelegten Zeitraum überschreiten.

Fehler unterhalb bestimmter Schwellenwerte können häufig durch die regelmäßige Analyse von Daten in Azure Monitor-Protokollen ausgewertet werden. Wenn Sie Ihre Protokolldaten im Zeitverlauf analysieren, stellen Sie möglicherweise fest, dass eine bestimmte Bedingung innerhalb eines erwarteten Zeitraums nicht auftritt. Sie können diese Bedingung mithilfe von Warnungen nachverfolgen. Manchmal ist das Fehlen eines Ereignisses in einem Protokoll ein ebenso wichtiges Signal wie ein Fehler.

Je nachdem, welche Art von Anwendung Sie unter Verwendung von Azure OpenAI entwickeln, bietet Azure Monitor Application Insights ggf. weitere Vorteile bei der Überwachung auf Anwendungsebene.

Nächste Schritte