Ü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, Endpunkte und Bereitstellungen vergleichen, Elemente 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 Details auf Bereitstellungsebene oder Statusebene anzuzeigen. Für Metriken auf Bereitstellungsebene wie CPU-/GPU-Auslastung und Arbeitsspeicher- oder Datenträgerauslastung kann auch ein Drilldown auf Instanzebene ausgeführt werden. Mit Azure Monitor können Sie diese Metriken in Diagrammen nachverfolgen und Dashboards und Warnungen zur weiteren Analyse einrichten.

  • Protokolle: Sie können Metriken an den 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 und/oder Event Hubs senden. Darüber hinaus können Sie dedizierte Protokolltabellen für Onlineendpunkteereignisse, Datenverkehr und Konsolenprotokolle (Container) verwenden. Die Kusto-Abfragesprache ermöglicht komplexe Analysen und das Verknüpfen mehrerer Tabellen.

  • Application Insights: Kuratierte Umgebungen umfassen die Integration in Application Insights, und Sie können diese aktivieren oder deaktivieren, wenn Sie eine Onlinebereitstellung erstellen. Integrierte Metriken und Protokolle werden an Application Insights gesendet, und Sie können die integrierten Features von Application Insights (wie Livemetriken, Transaktionssuche, Fehler und Leistung) zur weitere Analyse verwenden.

In diesem Artikel wird Folgendes behandelt:

  • Auswählen der richtigen Methode zum Anzeigen und Nachverfolgen von Metriken und Protokollen
  • Anzeigen von Metriken für Ihren 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

  • Bereitstellen eines Azure Machine Learning-Onlineendpunkts
  • Sie benötigen mindestens Lesezugriff für den Endpunkt.

Metriken

Sie können Metrikseiten für Onlineendpunkte oder Bereitstellungen im Azure-Portal anzeigen. Ein einfacher Zugriff auf diese Metrikseiten erfolgt über Links auf der Benutzeroberfläche von Azure Machine Learning Studio, insbesondere auf der Registerkarte Details auf der Seite eines Endpunkts. Wenn Sie diesen Links folgen, gelangen Sie zu der genauen Metrikseite im Azure-Portal für den Endpunkt oder die Bereitstellung. Alternativ können Sie auch zum Azure-Portal wechseln, um nach der Metrikseite für den Endpunkt oder die Bereitstellung zu suchen.

So greifen Sie über im Studio verfügbare Links auf die Metrikseiten zu

  1. Wechseln Sie zum Azure Machine Learning-Studio.

  2. Wählen Sie in der linken Navigationsleiste die Seite Endpunkte aus.

  3. Wählen Sie einen Endpunkt aus, indem Sie auf seinen Namen klicken.

  4. Wählen Sie Metriken anzeigen im Abschnitt Attribute des Endpunkts aus, um die Metrikseite des Endpunkts im Azure-Portal zu öffnen.

  5. Wählen Sie im Abschnitt die Option Metriken anzeigen für jede verfügbare Bereitstellung aus, um die Seite mit den Metriken der Bereitstellung im Azure-Portal zu öffnen.

    A screenshot showing how to access the metrics of an endpoint and deployment from the studio UI.

So greifen Sie direkt über das Azure-Portal auf Metriken zu

  1. Melden Sie sich beim Azure-Portal an.

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

    Bei Onlineendpunkten und -bereitstellungen handelt es sich um ARM-Ressourcen (Azure Resource Manager), die sich in der besitzenden Ressourcengruppe befinden. Suchen Sie nach den Ressourcentypen Onlineendpunkt für maschinelles Lernen und Onlinebereitstellung für maschinelles Lernen.

  3. Wählen Sie in der linken Spalte Metriken aus.

Verfügbare Metriken

Abhängig von der ausgewählten Ressource unterscheiden sich die angezeigten Metriken. Der Gültigkeitsbereich von Metriken für Onlineendpunkte und Onlinebereitstellungen ist unterschiedlich.

Metriken im Endpunktbereich

  • Anforderungswartezeit
  • Anforderungswartezeit P50 (Anforderungswartezeit im 50. Perzentil)
  • Anforderungswartezeit P90 (Anforderungswartezeit im 90. Perzentil)
  • Anforderungswartezeit P95 (Anforderungswartezeit im 95. Perzentil)
  • Anforderungen pro Minute
  • Neue Verbindungen pro Sekunde
  • Anzahl aktiver Verbindungen
  • Netzwerkbytes

Nehmen Sie die Aufteilung nach den folgenden Dimensionen vor:

  • Bereitstellung
  • Statuscode
  • Statuscodeklasse

Beispielsweise können Sie eine Teilung entlang der Bereitstellungsdimension vornehmen, um die Anforderungslatenz verschiedener Bereitstellungen unter einem Endpunkt zu vergleichen.

Bandbreiteneinschränkung

Die Bandbreite wird gedrosselt, wenn die Kontingentgrenzen für verwaltete Onlineendpunkte überschritten werden. Weitere Informationen zu Grenzwerten finden Sie im Artikel zu Grenzwerten für Onlineendpunkte. So bestimmen Sie, ob Anforderungen gedrosselt werden

  • Überwachen der Metrik „Netzwerkbytes“
  • Die Antwortnachspänne enthalten die Felder 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 Bereitstellungsbereich

  • Prozentsatz der CPU-Auslastung
  • Bereitstellungskapazität (die Anzahl der Instanzen des angeforderten Instanztyps)
  • Datenträgerverwendung
  • GPU-Arbeitsspeicherauslastung (gilt nur für GPU-Instanzen)
  • GPU-Auslastung (gilt nur für GPU-Instanzen)
  • Speicherauslastung in %

Nehmen Sie die Aufteilung nach den folgenden Dimensionen vor:

  • Instanzen-ID

Sie können beispielsweise die CPU- und/oder Arbeitsspeicherauslastung zwischen verschiedenen Instanzen für eine Onlinebereitstellung vergleichen.

Erstellen von Dashboards und Warnungen

Mit Azure Monitor können Sie Dashboards und Warnungen basierend auf Metriken erstellen.

Erstellen von Dashboards und Visualisieren von Abfragen

Sie können benutzerdefinierte Dashboards erstellen und Metriken aus verschiedenen Quellen im Azure-Portal 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 von Log Analytics-Daten und Erstellen benutzerdefinierter KPI-Dashboards mithilfe von Application Insights.

Erstellen von Warnungen

Sie können auch benutzerdefinierte Warnungen erstellen, damit Sie über wichtige Statusaktualisierungen Ihres Onlineendpunkts informiert werden:

  1. Wählen Sie dazu oben rechts auf der Seite „Metriken“ die Option Neue Warnungsregel aus.

    Screenshot showing 'New alert rule' button surrounded by a red box.

  2. Wählen Sie einen Bedingungsnamen aus, um anzugeben, wann die Warnung ausgelöst werden soll.

    Screenshot showing 'Configure signal logic' button surrounded by a red box.

  3. Wählen Sie Aktionsgruppen hinzufügen>Create action groups (Aktionsgruppen erstellen) aus, um anzugeben, was bei der Auslösung Ihrer Warnung geschieht.

  4. Wählen Sie Warnungsregel erstellen aus, um die Erstellung Ihrer Warnung abzuschließen.

Weitere Informationen finden Sie unter Erstellen oder Bearbeiten einer Warnungsregel.

Protokolle

Es gibt drei Protokolle, die für Onlineendpunkte aktiviert werden können:

  • AmlOnlineEndpointTrafficLog: Sie können Datenverkehrsprotokolle aktivieren, wenn Sie die Informationen zu Ihrer Anforderung überprüfen möchten. Im Folgenden finden Sie einige Fälle:

    • Wenn die Antwort nicht 200 lautet, überprüfen Sie den Wert der Spalte „ResponseCodeReason“, um zu sehen, was passiert ist. Überprüfen Sie auch die Ursache im Abschnitt „HTTPS-Statuscodes“ im Artikel Problembehandlung von Onlineendpunkten.

    • Sie können den Antwortcode und den Antwortgrund Ihres Modells in der Spalte „ModelStatusCode“ und „ModelStatusReason“ überprüfen.

    • Sie möchten die Dauer der Anforderung überprüfen, z. B. die Gesamtdauer, die Dauer der Anforderung/Antwort und die durch die Netzwerk-Bandbreiteneinschränkung verursachte Verzögerung. In den Protokollen können Sie die Wartezeit für die Aufschlüsselung überprüfen.

    • Wenn Sie überprüfen möchten, wie viele Anforderungen oder fehlerhafte Anforderungen in letzter Zeit aufgetreten sind. Sie können auch die Protokolle aktivieren.

  • AmlOnlineEndpointConsoleLog: enthält Protokolle, die von den Containern an der Konsole ausgegeben werden. Im Folgenden finden Sie einige Fälle:

    • Wenn beim Start des Containers ein Fehler auftritt, kann das Konsolenprotokoll beim Debuggen hilfreich sein.

    • Überwachen Sie das Verhalten des Containers und stellen Sie sicher, dass alle Anforderungen ordnungsgemäß bearbeitet werden.

    • Schreiben Sie die IDs der Anforderungen in das Konsolenprotokoll. Durch die Verknüpfung der Anforderungs-ID, der AmlOnlineEndpointConsoleLog- und der AmlOnlineEndpointTrafficLog-Instanz im Log Analytics-Arbeitsbereich können Sie eine Anforderung vom Einstiegspunkt des Netzwerks eines Onlineendpunkts bis zum Container nachverfolgen.

    • Sie können dieses Protokoll auch für eine Leistungsanalyse verwenden, um die Zeit zu ermitteln, die das Modell für die Bearbeitung jeder Anforderung benötigt.

  • AmlOnlineEndpointEventLog: enthält Ereignisinformationen zum Lebenszyklus des Containers. Derzeit bieten wir Informationen zu den folgenden Arten von Ereignissen:

    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/Deaktivieren von Protokollen

Wichtig

Die Protokollierung verwendet Azure Log Analytics. Wenn Sie derzeit nicht über einen Log Analytics-Arbeitsbereich verfügen, können Sie mithilfe der Schritte in Erstellen eines Log Analytics-Arbeitsbereichs im Azure-Portal einen solchen erstellen.

  1. Wechseln Sie im Azure-Portal zu der Ressourcengruppe, die Ihren Endpunkt enthält, und wählen Sie dann den Endpunkt aus.

  2. Wählen Sie im Abschnitt Überwachung links auf der Seite die Option Diagnoseeinstellungen und dann Einstellungen hinzufügen aus.

  3. Wählen Sie die zu aktivierenden Protokollkategorien und dann An Log Analytics-Arbeitsbereich senden aus. Anschließend wählen Sie den zu verwendenden Log Analytics-Arbeitsbereich aus. Geben Sie schließlich einen Diagnoseeinstellungsnamen ein, und wählen Sie Speichern aus.

    Screenshot of the diagnostic settings dialog.

    Wichtig

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

  4. Übermitteln Sie Anforderungen zur Bewertung an den Endpunkt. Diese Aktivität sollte Einträge in den Protokollen erstellen.

  5. Wählen Sie entweder in den Eigenschaften des Onlineendpunkts oder im Log Analytics-Arbeitsbereich auf der linken Seite des Bildschirms die Option Protokolle aus.

  6. Schließen Sie das Dialogfeld Abfragen, das sich automatisch öffnet, und doppelklicken Sie dann auf AmlOnlineEndpointConsoleLog. Wenn Sie es nicht sehen, verwenden Sie das Feld Suchen.

    Screenshot showing the log queries.

  7. Ausführen auswählen.

    Screenshots of the results after running a query.

Beispielabfragen

Beispielabfragen finden Sie auf der Registerkarte Abfragen beim Anzeigen der Protokolle. Suchen Sie nach Onlineendpunkt, um Beispielabfragen zu finden.

Screenshot of the example queries.

Details der Protokollspalte

Die folgenden Tabellen enthalten Einzelheiten zu den in jedem Protokoll gespeicherten Daten:

AmlOnlineEndpointTrafficLog

Eigenschaft BESCHREIBUNG
Methode Die vom Client angeforderte Methode.
`Path` Der vom Client angeforderte Pfad.
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 von Azure Machine Learning für die interne Ablaufverfolgung generierte ID der Anforderung.
XMSClientRequestId Die vom Client generierte Nachverfolgungs-ID.
TotalDurationMs 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 Dauer in Millisekunden vom Startzeitpunkt der Anforderung bis zum letzten Byte der vom Client empfangenen Anforderung.
ResponseDurationMs Dauer in Millisekunden vom Startzeitpunkt der Anforderung bis zum ersten vom Modell gelesenen Antwortbyte.
RequestThrottlingDelayMs Verzögerung in Millisekunden bei der Übertragung von Anforderungen aufgrund der Netzwerk-Bandbreiteneinschränkung.
ResponseThrottlingDelayMs Verzögerung in Millisekunden bei der Antwortdatenübertragung aufgrund der Netzwerk-Bandbreiteneinschränkung.

AmlOnlineEndpointConsoleLog

Eigenschaft BESCHREIBUNG
TimeGenerated Der Zeitstempel (UTC), wann das Protokoll generiert wurde.
Vorgangsname Der mit der Protokollaufzeichnung verbundene Vorgang.
InstanceId Die ID der Instanz, die diesen Protokolldatensatz generiert hat.
DeploymentName Der Name der Bereitstellung, die dem Protokolldatensatz zugeordnet ist.
ContainerName Der Name des Containers, in dem das Protokoll generiert wurde.
`Message` Der Inhalt des Protokolls.

AmlOnlineEndpointEventLog

Eigenschaft BESCHREIBUNG
TimeGenerated Der Zeitstempel (UTC), wann das Protokoll generiert wurde.
Vorgangsname Der mit der Protokollaufzeichnung verbundene Vorgang.
InstanceId Die ID der Instanz, die diesen Protokolldatensatz generiert hat.
DeploymentName Der Name der Bereitstellung, die dem Protokolldatensatz zugeordnet ist.
Name Der Name des Ereignisses.
`Message` Der Inhalt des Protokolls.

Verwenden von Application Insights

Kuratierte Umgebungen umfassen die Integration in Application Insights, und Sie können diese aktivieren oder deaktivieren, wenn Sie eine Onlinebereitstellung erstellen. Integrierte Metriken und Protokolle werden an Application Insights gesendet, und Sie können die integrierten Features von Application Insights (wie Livemetriken, Transaktionssuche, Fehler und Leistung) zur weitere Analyse verwenden.

Weitere Informationen finden Sie in der Übersicht über Application Insights.

Im Studio können Sie die Registerkarte Überwachung auf einer Online-Endpunktseite verwenden, um Aktivitätsüberwachungsgraphen auf hoher Ebene für den verwalteten Onlineendpunkt anzuzeigen. Zur Verwendung der Registerkarte „Überwachung“ müssen Sie beim Erstellen des Endpunkts die Option Aktivieren von Diagnose und Datensammlung der Anwendungserkenntnisse auswählen.

A screenshot of monitoring endpoint-level metrics in the studio.