Freigeben über


Überwachen von Onlineendpunkten

Azure Machine Learning nutzt die Integration in Azure Monitor, um Metriken und Protokolle für Onlineendpunkte nachzuverfolgen und zu überwachen. Sie können Metriken in Diagrammen anzeigen, Metriken von Endpunkte und Bereitstellungen vergleichen, Metriken an Dashboards im Azure-Portal anheften, Warnungen konfigurieren, Protokolltabellen abfragen und Protokolle an unterstützte Ziele pushen. Sie können auch Application Insights verwenden, um Ereignisse aus Benutzercontainern zu analysieren.

  • Metriken: Für Metriken auf Endpunktebene wie Anforderungslatenz, Anforderungen pro Minute, neue Verbindungen pro Sekunde und Netzwerkbytes können Sie einen Drilldown durchführen, um Detailinformationen auf Bereitstellungsebene oder Statusebene anzuzeigen. Sie können einen Drilldown zu Metriken auf Bereitstellungsebene ausführen, z. B. CPU-/GPU-Auslastung und Arbeitsspeicher oder Datenträgernutzung auf Instanzebene. In Monitor können Sie diese Metriken in Diagrammen nachverfolgen und Dashboards und Warnungen für die weitere Analyse einrichten.

  • Protokolle: Sie können Metriken an einen Log Analytics-Arbeitsbereich senden, in dem Sie die Protokolle mithilfe der Kusto-Abfragesyntax abfragen können. Sie können Metriken auch zur weiteren Verarbeitung an Azure Storage-Konten oder Azure Event Hubs senden. Für Datenverkehrsprotokolle, Konsolenprotokolle (Container) und Ereignisse im Zusammenhang mit Onlineendpunkten können Sie dedizierte Protokolltabellen verwenden. Kusto-Abfragen unterstützen komplexe Analysefunktionen und das Verknüpfen mehrerer Tabellen.

  • Application Insights: Kuratierte Umgebungen umfassen die Integration mit Application Insights. Sie können diese Integration aktivieren oder deaktivieren, wenn Sie eine Onlinebereitstellung erstellen. Wenn Sie sie aktivieren, werden integrierte Metriken und Protokolle an Application Insights gesendet. Anschließend können Sie die integrierten Features von Application Insights für die weitere Analyse verwenden. Beispiele für diese Features sind Livemetriken, Transaktionssuche, Fehleransicht und Leistungsansicht.

In diesem Artikel werden folgende Vorgehensweisen behandelt:

  • Auswählen der richtigen Methode zum Anzeigen und Nachverfolgen von Metriken und Protokollen
  • Anzeigen von Metriken zu Ihrem Onlineendpunkt
  • Erstellen eines Dashboards für Ihre Metriken
  • Erstellen einer Metrikwarnung
  • Anzeigen von Protokollen für Ihren Onlineendpunkt
  • Verwenden von Application Insights zum Nachverfolgen von Metriken und Protokollen

Voraussetzungen

  • Ein Azure Machine Learning-Onlineendpunkt
  • Mindestens Lesezugriff auf den Endpunkt

Verwenden von Metriken

Sie können Metrikseiten für Onlineendpunkte und -bereitstellungen im Azure-Portal anzeigen.

Zugreifen auf Metriken aus Azure Machine Learning Studio

Eine einfache Möglichkeit für den Zugriff auf Metrikseiten stellen die Links auf der Benutzeroberfläche von Azure Machine Learning Studio dar. Sie finden diese Links auf der Seite eines Endpunkts auf der Registerkarte Details. Diese Links führen zur Metrikseite für den Endpunkt oder die Bereitstellung im Azure-Portal.

Führen Sie die folgenden Schritte aus, um über die Links in Studio auf die Metrikseiten zuzugreifen:

  1. Navigieren Sie in Azure Machine Learning Studio zu Ihrem Arbeitsbereich.

  2. Wählen Sie unter Ressourcen die Option Endpunkte aus.

  3. Wählen Sie den Namen eines Endpunkts aus.

  4. Wählen Sie unter Endpunktattribute die Option Metriken anzeigen aus.

    Screenshot einer Endpunktseite in Studio mit Endpunktattributen. „Ressourcen“, „Endpunkte“, „Endpunktattribute“ und „Metriken anzeigen“ sind hervorgehoben.

    Die Metrikseite des Endpunkts wird im Azure-Portal geöffnet.

  5. Navigieren Sie in Azure Machine Learning Studio auf einer Endpunktseite zum Abschnitt für eine Bereitstellung, und wählen Sie dann Metriken anzeigen aus.

    Screenshot einer Endpunktseite in Studio mit Bereitstellungsinformationen. Die Bereitstellung „blue“ und „Metriken anzeigen“ sind hervorgehoben.

    Die Metrikseite der Bereitstellung wird im Azure-Portal geöffnet.

Zugreifen auf Metriken über das Azure-Portal

Eine weitere Möglichkeit zum Anzeigen der Metrikseite für einen Endpunkt oder eine Bereitstellung bietet das Azure-Portal:

  1. Öffnen Sie das Azure-Portal.

  2. Navigieren Sie zur Ressource für den Onlineendpunkt oder die Onlinebereitstellung.

    Onlineendpunkte und -bereitstellungen sind Azure Resource Manager-Ressourcen. Um sie zu finden, navigieren Sie zur Ressourcengruppe und suchen nach den Ressourcentypen Onlineendpunkt für maschinelles Lernen und Onlinebereitstellung für maschinelles Lernen.

  3. Wählen Sie auf der Seite „Ressource“ unter Überwachung die Option Metriken aus.

    Screenshot des Azure-Portals mit der Seite „Metriken“ für eine Bereitstellung. „Überwachung“ und „Metriken“ sind hervorgehoben.

Verfügbare Metriken

Die angezeigten Metriken hängen von der ausgewählten Ressource ab. Der Geltungsbereich von Metriken für Onlineendpunkte und Onlinebereitstellungen unterscheidet sich.

Metriken im Geltungsbereich von Endpunkten

Weitere Informationen zu Metriken im Geltungsbereich von Onlineendpunkten finden Sie unter Unterstützte Metriken für Microsoft.MachineLearningServices/workspaces/onlineEndpoints.

Bandbreiteneinschränkung

Die Bandbreite wird gedrosselt, wenn die Kontingentgrenzwerte für verwaltete Onlineendpunkte überschritten werden. Weitere Informationen zu Grenzwerten für Onlineendpunkte finden Sie unter Azure Machine Learning-Onlineendpunkte und -Batchendpunkte im Artikel zu Kontingenten und Grenzwerten in Azure Machine Learning. So ermitteln Sie, ob Anforderungen gedrosselt werden

  • Überwachen Sie die Metrik „Netzwerkbytes“.
  • Überprüfen Sie die folgenden Felder im Antwortnachspann: ms-azureml-bandwidth-request-delay-ms und ms-azureml-bandwidth-response-delay-ms. Die Werte der Felder sind die Verzögerungen der Bandbreitendrosselung in Millisekunden.

Weitere Informationen finden Sie unter Probleme mit dem Bandbreitengrenzwert.

Metriken im Geltungsbereich von Bereitstellungen

Weitere Informationen zu Metriken im Geltungsbereich von Bereitstellungen finden Sie unter Unterstützte Metriken für Microsoft.MachineLearningServices/workspaces/onlineEndpoints/deployments.

Erstellen von Dashboards und Warnungen

Sie können in Monitor Dashboards und Warnungen erstellen, die auf Metriken basieren.

Erstellen von Dashboards und Visualisieren von Abfragen

Sie können benutzerdefinierte Dashboards erstellen, um Metriken aus verschiedenen Quellen im Azure-Portal zu visualisieren, einschließlich der Metriken für Ihren Onlineendpunkt. Weitere Informationen zum Erstellen von Dashboards und zum Visualisieren von Abfragen finden Sie unter Erstellen und Freigeben von Dashboards mit Log Analytics-Daten und Erstellen benutzerdefinierter KPI-Dashboards mit Application Insights.

Erstellen von Warnungen

Sie können auch benutzerdefinierte Warnungen erstellen, damit Sie Benachrichtigungen zu wichtigen Statusupdates zu Ihrem Onlineendpunkt erhalten:

  1. Navigieren Sie im Azure-Portal zu einer Metrikseite, und wählen Sie dann Neue Warnungsregel aus.

    Screenshot des Azure-Portals mit der Seite „Metriken“ für eine Bereitstellung. „Neue Warnungsregel“ ist hervorgehoben.

  2. Wählen Sie im Fenster „Signal auswählen“ das Signal aus, für das Sie eine Warnung erstellen möchten, und wählen Sie dann Übernehmen aus.

  3. Geben Sie auf der Seite „Warnungsregel erstellen“ einen Schwellenwert ein, und bearbeiten Sie alle anderen Einstellungen nach Bedarf. Weitere Informationen zu Warnungsregeleinstellungen finden Sie unter Konfigurieren von Warnungsregelbedingungen. Wählen Sie anschließend Weiter: Aktionen aus.

    Screenshot der Seite „Warnungsregel erstellen“ im Azure-Portal Das Feld „Schwellenwert“ und die Option „Nächste Aktionen“ sind hervorgehoben.

  4. Erstellen Sie im Fenster „Aktionsgruppen auswählen“ eine Aktionsgruppe, oder wählen Sie eine aus, um anzugeben, was passiert, wenn Ihre Warnung ausgelöst wird. Weitere Informationen finden Sie unter Konfigurieren von Details von Warnungsregeln.

  5. Wählen Sie Überprüfen und Erstellen aus, um das Erstellen der Warnung abzuschließen.

Automatisches Skalieren basierend auf Metriken

Sie können Bereitstellungen so konfigurieren, dass sie basierend auf Metriken automatisch skaliert werden. Um das Feature für die Autoskalierung zu aktivieren, können Sie die Benutzeroberfläche oder Code verwenden.

Für die Aktivierung über Code können Sie die Azure Machine Learning CLI und das Azure Machine Learning SDK für Python verwenden. Wenn Sie Code verwenden, konfigurieren Sie die Bedingungen zum Auslösen der automatischen Skalierung, indem Sie den REST-API-Namen der Metriken angeben.

Weitere Informationen finden Sie unter Autoskalierung von Onlineendpunkten in Azure Machine Learning.

Protokolle verwenden

Es gibt drei Protokolle, die Sie für Onlineendpunkte aktivieren können:

  • AmlOnlineEndpointTrafficLog: Mit diesem Datenverkehrsprotokoll können Sie die Informationen von Anforderungen an den Endpunkt überprüfen. Dieses Protokoll ist in den folgenden Fällen hilfreich:

    • Eine Anforderungsantwort ist nicht 200, und Sie benötigen weitere Informationen. In der Spalte ResponseCodeReason im Protokoll wird der Grund aufgeführt. Beschreibungen zu Statuscodes und die Gründe finden Sie im Artikel zur Problembehandlung bei Onlineendpunkten unter HTTPS-Statuscodes.
    • Sie möchten den Antwortcode und den Antwortgrund Ihres Modells nach einer Anforderung nachschlagen. Diese Informationen werden in den Spalten ModelStatusCode und ModelStatusReason bereitgestellt.
    • Sie möchten die Dauer einer Anforderung erfahren. Die Protokolle enthalten eine Aufschlüsselung der Wartezeit. Diese Aufschlüsselung zeigt die Gesamtdauer, die Anforderungsdauer, die Antwortdauer und die Verzögerung durch die Netzwerkdrosselung.
    • Sie möchten die Anzahl der zuletzt ausgeführten erfolgreichen und fehlerhaften Anforderungen überprüfen. Die Protokolle enthalten diese Informationen.
  • AmlOnlineEndpointConsoleLog: Dieses Protokoll enthält Anweisungen, die von den Containern als Ausgabe an die Konsole geschrieben werden. Dieses Protokoll ist in den folgenden Fällen hilfreich:

    • Ein Container konnte nicht gestartet werden. Das Konsolenprotokoll kann beim Debuggen hilfreich sein.
    • Sie möchten das Verhalten des Containers überwachen und sicherstellen, dass alle Anforderungen ordnungsgemäß bearbeitet werden.
    • Sie möchten eine Anforderung vom Netzwerkeinstiegspunkt eines Onlineendpunkts bis zum Container nachverfolgen. Sie können eine Log Analytics-Abfrage verwenden, die die Anforderungs-ID mit Informationen aus den Protokollen AmlOnlineEndpointConsoleLog und AmlOnlineEndpointTrafficLog verknüpft.
    • Sie möchten eine Leistungsanalyse ausführen, um beispielsweise die Zeit zu bestimmen, die das Modell benötigt, um die einzelnen Anforderung zu verarbeiten.
  • AmlOnlineEndpointEventLog: Dieses Protokoll enthält Ereignisinformationen zum Containerlebenszyklus. Derzeit enthält das Protokoll Informationen zu den folgenden Ereignistypen:

    Name `Message`
    BackOff Backoff für den Neustart fehlerhafter Container
    Mithilfe von Pull übertragen Containerimage „<IMAGE_NAME>“ bereits auf dem Computer vorhanden
    Wird beendet Containerrückschlussserver mit fehlerhaftem Livetest wird neu gestartet
    Erstellt Containerimageabrufer wurde erstellt
    Erstellt Containerrückschlussserver wurde erstellt
    Erstellt Containermodelleinbindung wurde erstellt
    LivenessProbeFailed Fehler bei Livetest: <FAILURE_CONTENT>
    ReadinessProbeFailed Fehler bei Bereitschaftstest: <FAILURE_CONTENT>
    Gestartet Containerimageabrufer wurde gestartet
    Gestartet Containerrückschlussserver wurde gestartet
    Gestartet Containermodelleinbindung wurde gestartet
    Wird beendet Containerrückschlussserver wurde beendet
    Wird beendet Containermodelleinbindung wurde beendet

Aktivieren von Protokollen

Wichtig

Für die Protokollierung wird das Protokollanalysefeature von Monitor verwendet. Wenn Sie noch nicht über einen Log Analytics-Arbeitsbereich verfügen, können Sie einen erstellen, indem Sie die Schritte unter Erstellen eines Arbeitsbereichs ausführen.

  1. Navigieren Sie im Azure-Portal zu der Ressourcengruppe mit Ihrem Endpunkt, und wählen Sie dann den Endpunkt aus.

  2. Wählen Sie unter Überwachung die Option Diagnoseeinstellung und dann Diagnoseeinstellung hinzufügen aus.

  3. Geben Sie im Fenster „Diagnoseeinstellung“ die folgenden Informationen ein:

    • Geben Sie neben Name der Diagnoseeinstellung einen Namen für Ihre Einstellung ein.
    • Wählen Sie unter Protokolle die Protokollkategorien aus, die Sie aktivieren möchten.
    • Wählen Sie unter Zieldetails die Option An Log Analytics-Arbeitsbereich senden und dann das Abonnement und den Log Analytics-Arbeitsbereich aus, die Sie verwenden möchten.

    Screenshot des Fensters „Diagnoseeinstellung“. „Alle Protokolle“ und „An Log Analytics-Arbeitsbereich senden“ sind ausgewählt. Ein Abonnement und ein Arbeitsbereich werden angezeigt.

  4. Wählen Sie Speichern.

    Wichtig

    Es kann bis zu einer Stunde dauern, bis die Verbindung mit dem Log Analytics-Arbeitsbereich verfügbar ist. Warten Sie eine Stunde, bevor Sie mit den Schritten im nächsten Abschnitt fortfahren.

Abfrageprotokolle

  1. Senden Sie Bewertungsanforderungen an den Endpunkt, um Einträge in den Protokollen zu erstellen.

  2. Öffnen Sie das Azure-Portal. Verwenden Sie zum Öffnen der Protokolle eine der folgenden Optionen:

    • Wechseln Sie zur Eigenschaftenseite für Ihren Onlineendpunkt. Wählen Sie unter Überwachung die Option Protokolle aus.
    • Wechseln Sie zu Ihrem Log Analytics-Arbeitsbereich. Wählen Sie auf der linken Seite Protokolle aus.
  3. Schließen Sie das Fenster Abfragehub, das standardmäßig geöffnet wird.

  4. Doppelklicken Sie unter Andere auf AmlOnlineEndpointConsoleLog. Wenn AmlOnlineEndpointConsoleLog nicht angezeigt wird, geben Sie diesen Wert in das Suchfeld ein.

    Screenshot der Seite „Protokolle“ für einen Endpunkt im Azure-Portal. Im Suchfeld und den Ergebnissen ist „AmlOnlineEndpointConsoleLog“ hervorgehoben.

  5. Klicken Sie auf Ausführen.

    Screenshot der Seite „Protokolle“ für einen Endpunkt im Azure-Portal. „Ausführen“ ist hervorgehoben, und die Ergebnisse der AmlOnlineEndpointConsoleLog-Abfrage werden angezeigt.

Beispielabfragen

Es stehen Beispielabfragen zur Verfügung. Führen Sie die folgenden Schritte aus, um die Abfragen anzuzeigen:

  1. Wählen Sie auf der Seite „Protokolle“ die Option Abfragen aus.

  2. Geben Sie im Suchfeld Onlineendpunkt ein.

    Screenshot der Registerkarte „Abfragen“ auf der Seite „Protokolle“ im Azure-Portal. Es werden zwei Beispielabfragen angezeigt, und die Registerkarte „Abfragen“ und das Suchfeld sind hervorgehoben.

Details der Protokollspalte

Die folgenden Tabellen enthalten detaillierte Informationen zu den Daten, die in den einzelnen Protokollen gespeichert sind:

AmlOnlineEndpointTrafficLog

Eigenschaft BESCHREIBUNG
Methode Die Methode, die der Client anfordert
Pfad Der Pfad, den der Client anfordert
SubscriptionId Die Machine Learning-Abonnement-ID des Onlineendpunkts.
AzureMLWorkspaceId Die Machine Learning-Arbeitsbereichs-ID des Onlineendpunkts.
AzureMLWorkspaceName Der Name des Machine Learning-Arbeitsbereichs des Online-Endpunkts.
EndpointName Der Name des Onlineendpunkts.
DeploymentName Der Name der Onlinebereitstellung.
Protocol Das Protokoll der Anforderung.
ResponseCode Der endgültige Antwortcode, der an den Client zurückgegeben wird
ResponseCodeReason Der endgültige Grund für den Antwortcode, der an den Client zurückgegeben wird
ModelStatusCode Der Antwortstatuscode vom Modell
ModelStatusReason Der Antwortstatusgrund vom Modell
RequestPayloadSize Die insgesamt vom Client empfangenen Bytes.
ResponsePayloadSize Die insgesamt an den Client zurückgesendeten Bytes.
UserAgent Der Benutzer-Agent-Header der Anforderung, einschließlich Kommentaren, aber auf maximal 70 Zeichen abgeschnitten
XRequestId Die Anforderungs-ID, die Azure Machine Learning für die interne Ablaufverfolgung generiert
XMSClientRequestId Die vom Client generierte Nachverfolgungs-ID
TotalDurationMs Die Dauer in Millisekunden vom Startzeitpunkt der Anforderung bis zum letzten Antwortbyte, das an den Client zurückgesendet wurde. Wenn der Client die Verbindung unterbrochen hat, wird die Zeit von der Startzeit bis zur Unterbrechung der Verbindung durch den Client gemessen.
RequestDurationMs Die Dauer in Millisekunden vom Startzeitpunkt der Anforderung bis zum letzten Byte der vom Client empfangenen Anforderung
ResponseDurationMs Die Dauer in Millisekunden vom Startzeitpunkt der Anforderung bis zum ersten vom Modell gelesenen Antwortbyte
RequestThrottlingDelayMs Die Verzögerung in Millisekunden bei der Anforderungsdatenübertragung aufgrund der Netzwerkdrosselung
ResponseThrottlingDelayMs Die Verzögerung in Millisekunden bei der Antwortdatenübertragung aufgrund der Netzwerkdrosselung

AmlOnlineEndpointConsoleLog

Eigenschaft BESCHREIBUNG
TimeGenerated Der UTC-Zeitstempel des Zeitpunkts, zu dem das Protokoll generiert wurde
Vorgangsname Der mit dem Protokolleintrag verbundene Vorgang
InstanceId Die ID der Instanz, die diesen Protokolleintrag generiert hat
DeploymentName Der Name der Bereitstellung, die dem Protokolleintrag zugeordnet ist
ContainerName Der Name des Containers, in dem das Protokoll generiert wurde
Nachricht Der Inhalt des Protokolls

AmlOnlineEndpointEventLog

Eigenschaft BESCHREIBUNG
TimeGenerated Der UTC-Zeitstempel des Zeitpunkts, zu dem das Protokoll generiert wurde
Vorgangsname Der mit dem Protokolleintrag verbundene Vorgang
InstanceId Die ID der Instanz, die diesen Protokolleintrag generiert hat
DeploymentName Der Name der Bereitstellung, die dem Protokolleintrag zugeordnet ist
Name Der Name des Ereignisses
Nachricht Der Inhalt des Ereignisses

Verwenden von Application Insights

Kuratierte Umgebungen umfassen die Integration mit Application Insights. Aufgrund dieser Integration werden integrierte Metriken und Protokolle an Application Insights gesendet. Daher können Sie die integrierten Application Insights-Features für die weitere Analyse verwenden. Beispiele für diese Features sind Livemetriken, Transaktionssuche, Fehleransicht und Leistungsansicht.

Weitere Informationen finden Sie unter Übersicht über Application Insights.

Sie können die Integration mit Application Insights aktivieren, wenn Sie in Studio eine Onlinebereitstellung erstellen. Wählen Sie auf der Seite „Bereitstellung“ unter Application Insights-Diagnose die Option Aktiviert aus.

Screenshot der Seite „Bereitstellung“ in Studio bei der benutzerseitigen Erstellung eines Onlineendpunkts. Die Einstellung „Application Insights-Diagnose“ ist hervorgehoben.

Wenn Sie Application Insights aktivieren, können Sie Überwachungsdiagramme auf hoher Ebene für einen verwalteten Onlineendpunkt anzeigen. Wechseln Sie in Studio zur Seite des Endpunkts, und wählen Sie dann die Registerkarte Überwachung aus.

Screenshot der Registerkarte „Überwachung“ auf der Seite eines Endpunkts in Studio. Die Registerkarte „Überwachung“ ist hervorgehoben. Ein Diagramm zeigt die Anforderungen pro Minute an den Endpunkt.