Überwachen von Azure Machine Learning
Wenn Sie über unternehmenskritische Anwendungen und Geschäftsprozesse verfügen, die auf Azure-Ressourcen beruhen, sollten Sie Verfügbarkeit, Leistung und Betrieb dieser Ressourcen überwachen. In diesem Artikel wird das Überwachen von Daten beschrieben, die von Azure Machine Learning generiert werden. Außerdem erfahren Sie, wie Sie diese Daten mit Azure Monitor analysieren und Warnungen für diese erstellen.
Tipp
Die Informationen in diesem Dokument richten sich in erster Linie an Administratoren, da hier die Überwachung für Azure Machine Learning Service und zugehörige Azure-Dienste beschrieben wird. Wenn Sie Datenanalyst oder Entwickler sind und spezifische Informationen zu Ihren Modelltrainingsausführungen überwachen möchten, sehen Sie sich die folgenden Artikel an:
- Starten, Überwachen und Abbrechen von Trainingsausführungen in Python
- Protokollieren von Metriken für Trainingsausführungen
- Nachverfolgen von Experimenten mit MLflow
Wenn Sie Informationen überwachen möchten, die von Modellen generiert werden, die für Onlineendpunkte bereitgestellt werden, lesen Sie Überwachen von Onlineendpunkten.
Was ist Azure Monitor?
Azure Machine Learning erstellt Überwachungsdaten mit Azure Monitor, wobei es sich um einen Azure-Dienst zur vollständigen Stapelüberwachung handelt. Azure Monitor bietet einen vollständigen Satz von Funktionen zum Überwachen Ihrer Azure-Ressourcen. Mit Azure Monitor können außerdem Ressourcen in anderen Clouds und lokal überwacht werden.
Beginnen Sie mit dem Artikel Überwachen von Azure-Ressourcen mit Azure Monitor, in dem die folgenden Konzepte beschrieben werden:
- Was ist Azure Monitor?
- Kosten für die Überwachung
- In Azure gesammelte Überwachungsdaten
- Konfigurieren der Datensammlung
- Standardtools in Azure zum Analysieren von Überwachungsdaten sowie zum Generieren von Warnungen
Die folgenden Abschnitte bauen auf diesem Artikel auf, indem die spezifischen Daten beschrieben werden, die für Azure Machine Learning erfasst werden. In diesen Abschnitten finden Sie außerdem Beispiele für die Konfiguration der Datensammlung und die Analyse der Daten mit Azure-Tools.
Tipp
Informationen zu den mit Azure Monitor verbundenen Kosten finden Sie unter Überwachen der Nutzung und geschätzten Kosten in Azure Monitor. Informationen hinsichtlich der Zeit, die benötigt wird, bis Ihre Daten in Azure Monitor angezeigt werden, finden Sie unter Protokolldatenerfassungszeit in Azure Monitor.
Überwachen von Daten aus Azure Machine Learning
Azure Machine Learning erfasst dieselben Arten von Überwachungsdaten wie andere Azure-Ressourcen, die unter Überwachen von Daten aus Azure-Ressourcen beschrieben werden.
Eine ausführliche Referenz zu den Protokollen und Metriken, die von Azure Machine Learning erstellt werden, finden Sie unter Überwachen von Azure Machine Learning-Daten – Referenz.
Sammlung und Routing
Tipp
Protokolle werden in Kategoriegruppen zusammengefasst. Kategoriegruppen enthalten eine Sammlung verschiedener Protokolle, die es Ihnen erleichtern, unterschiedliche Überwachungsziele zu erreichen. Diese Gruppen werden dynamisch definiert und können sich im Laufe der Zeit ändern, wenn neue Ressourcenprotokolle verfügbar werden und der Kategoriegruppe hinzugefügt werden. Beachten Sie, dass hierfür zusätzliche Gebühren anfallen können.
Mit der Ressourcenprotokoll-Kategoriegruppe Überwachung können Sie die Ressourcenprotokolle auswählen, die für die Überwachung Ihrer Ressource erforderlich sind. Weitere Informationen finden Sie unter Diagnoseeinstellungen in Azure Monitor-Ressourcenprotokolle.
Plattformmetriken und das Aktivitätsprotokoll werden automatisch erfasst und gespeichert, können jedoch mithilfe einer Diagnoseeinstellung an andere Speicherorte weitergeleitet werden.
Ressourcenprotokolle werden erst erfasst und gespeichert, sobald Sie eine Diagnoseeinstellung erstellt und an einen oder mehrere Standorte weitergeleitet haben. Wenn Sie mehrere Azure Machine Learning-Arbeitsbereiche verwalten müssen, können Sie die Protokolle für alle Arbeitsbereiche in dasselbe Protokollierungsziel leiten und alle Protokolle von einem einzigen Ort aus abfragen.
Ausführliche Informationen zum Erstellen einer Diagnoseeinstellung über das Azure-Portal, die Azure-Befehlszeilenschnittstelle oder PowerShell finden Sie unter Erstellen einer Diagnoseeinstellung zum Sammeln von Plattformprotokollen und Metriken in Azure. Wenn Sie eine Diagnoseeinstellung erstellen, legen Sie fest, welche Kategorien von Protokollen gesammelt werden sollen. Eine Liste der Kategorien für Azure Machine Learning finden Sie in der Referenz zu Azure Machine Learning-Überwachungsdaten.
Wichtig
Ein Aktivieren dieser Einstellungen erfordert zusätzliche Azure-Dienste (Speicherkonto, Event Hub oder Log Analytics). Dadurch können sich Ihre Kosten erhöhen. Um geschätzte Kosten zu berechnen, wechseln Sie zum Azure-Preisrechner.
Sie können die folgenden Protokolle für Azure Machine Learning konfigurieren:
Kategorie | BESCHREIBUNG |
---|---|
AmlComputeClusterEvent | Ereignisse von Azure Machine Learning-Computeclustern |
AmlComputeClusterNodeEvent (veraltet) | Ereignisse von Knoten in einem Azure Machine Learning-Computecluster |
AmlComputeJobEvent | Ereignisse von Knoten, die in Azure Machine Learning-Compute ausgeführt werden |
AmlComputeCpuGpuUtilization | ML Services-Protokolle zur CPU- und GPU-Computenutzung |
AmlOnlineEndpointTrafficLog | Protokolle für Datenverkehr an Onlineendpunkte. |
AmlOnlineEndpointConsoleLog | Protokolle, die die Container für Onlineendpunkte in die Konsole schreiben. |
AmlOnlineEndpointEventLog | Protokolle für Ereignisse in Bezug auf den Lebenszyklus von Onlineendpunkten. |
AmlRunStatusChangedEvent | Änderungen am ML-Ausführungsstatus. |
ModelsChangeEvent | Ereignisse beim Zugriff auf das ML-Modell und wenn es erstellt oder gelöscht wird. |
ModelsReadEvent | Ereignisse, wenn das ML-Modell gelesen wird. |
ModelsActionEvent | Ereignisse beim Zugriff auf das ML-Modell. |
DeploymentReadEvent | Ereignisse, wenn eine Modellimplementierung gelesen wird. |
DeploymentEventACI | Ereignisse bei der Modellimplementierung in ACI (sehr kommunikativ). |
DeploymentEventAKS | Ereignisse bei der Modellimplementierung in AKS (sehr kommunikativ). |
InferencingOperationAKS | Ereignisse für Rückschlüsse oder verwandte Vorgänge für AKS-Computetypen. |
InferencingOperationACI | Ereignisse für Rückschlüsse oder verwandte Vorgänge für ACI-Computetypen. |
EnvironmentChangeEvent | Ereignisse, wenn ML-Umgebungskonfigurationen erstellt oder gelöscht werden. |
EnvironmentReadEvent | Ereignisse, wenn ML-Umgebungskonfigurationen gelesen werden (sehr kommunikativ). |
DataLabelChangeEvent | Ereignisse, wenn Datenbezeichnungen oder deren Projekte erstellt oder gelöscht werden. |
DataLabelReadEvent | Ereignisse, wenn Datenbezeichnungen oder deren Projekte gelesen werden. |
ComputeInstanceEvent | Ereignisse beim Zugriff auf die ML Compute-Instanz (sehr kommunikativ) |
DataStoreChangeEvent | Ereignisse, wenn ML-Datenspeicher erstellt oder gelöscht wird. |
DataStoreReadEvent | Ereignisse, wenn ML-Datenspeicher gelesen wird. |
DataSetChangeEvent | Ereignisse, wenn ML-Datenspeicher erstellt oder gelöscht wird. |
DataSetReadEvent | Ereignisse, wenn ML-Datenspeicher gelesen wird. |
PipelineChangeEvent | Ereignisse, wenn ein ML-Pipelineentwurf, -Endpunkt oder -Modul erstellt oder gelöscht wird. |
PipelineReadEvent | Ereignisse, wenn ein ML-Pipelineentwurf, -Endpunkt oder -Modul gelesen wird. |
RunEvent | Ereignisse, wenn ML-Experimente erstellt oder gelöscht werden. |
RunReadEvent | Ereignisse, wenn ML-Experimente gelesen werden. |
Hinweis
Ab Februar 2022 wird die AmlComputeClusterNodeEvent-Kategorie veraltet sein. Wir empfehlen, stattdessen die Kategorie AmlComputeClusterEvent zu verwenden.
Hinweis
Wenn Sie Metriken in einer Diagnoseeinstellung aktivieren, sind Dimensionsinformationen derzeit nicht in den Informationen enthalten, die an ein Speicherkonto, an einen Event Hub oder an Log Analytics gesendet werden.
In den folgenden Abschnitten werden die Metriken und Protokolle behandelt, die Sie erfassen können.
Analysieren von Metriken
Sie können Metriken für Azure Machine Learning mit Metriken von anderen Azure-Diensten analysieren, indem Sie Metriken über das Menü Azure Monitor öffnen. Ausführliche Informationen zur Verwendung dieses Tools finden Sie unter Erste Schritte mit dem Azure-Metrik-Explorer.
Eine Liste der erfassten Plattformmetriken finden Sie in der Referenz zur Überwachung von Azure Machine Learning-Datenmetriken.
Alle Metriken für Azure Machine Learning befinden sich im Namespace Machine Learning Service-Arbeitsbereich.
Sie können zur Referenz auf eine Liste aller in Azure Monitor unterstützter Ressourcenmetriken anzeigen.
Tipp
Metrikdaten stehen in Azure Monitor 90 Tage zur Verfügung. Beim Erstellen von Diagrammen können jedoch nur 30 Tage visualisiert werden. Wenn Sie z. B. einen 90-tägigen Zeitraum visualisieren möchten, müssen Sie ihn in drei Diagramme mit jeweils 30 Tagen in diesem 90-Tage-Zeitraum aufteilen.
Filtern und Teilen
Für Metriken, die Dimensionen unterstützen, können Sie Filter mit einem Dimensionswert anwenden. Beispielsweise können Sie Active Cores (Aktive Kerne) nach dem Clusternamencpu-cluster
filtern.
Sie können eine Metrik auch nach Dimension teilen, um visuell darzustellen, wie verschiedene Segmente der Metrik miteinander zu vergleichen sind. Beispielsweise können Sie den Pipeline Step Type (Pipelineschritttyp) teilen, um die Anzahl der in der Pipeline verwendeten Typen von Schritten anzuzeigen.
Weitere Informationen zum Filtern und Teilen finden Sie unter Erweiterte Funktionen von Azure Metrik-Explorer.
Analysieren von Protokollen
Um Azure Monitor Log Analytics verwenden zu können, müssen Sie eine Diagnosekonfiguration erstellen und Send information to Log Analytics (Informationen an Log Analytics senden) aktivieren. Weitere Informationen finden Sie im Abschnitt Erfassung und Weiterleitung.
Daten in Azure Monitor-Protokollen werden in Tabellen gespeichert, wobei jede Tabelle ihren eigenen Satz eindeutiger Eigenschaften hat. In Azure Machine Learning werden Daten in den folgenden Tabellen gespeichert:
Tabelle | BESCHREIBUNG |
---|---|
AmlComputeClusterEvent | Ereignisse von Azure Machine Learning-Computeclustern |
AmlComputeClusterNodeEvent (veraltet) | Ereignisse von Knoten in einem Azure Machine Learning-Computecluster |
AmlComputeJobEvent | Ereignisse von Knoten, die in Azure Machine Learning-Compute ausgeführt werden |
AmlComputeInstanceEvent | Ereignisse beim Zugriff auf die ML Compute-Instanz (Lese-/Schreibzugriff) Kategorie umfasst: ComputeInstanceEvent (sehr kommunikativ) |
AmlDataLabelEvent | Ereignisse beim Zugriff auf Datenbezeichnungen oder deren Projekte (gelesen, erstellt oder gelöscht) Kategorie umfasst: DataLabelReadEvent, DataLabelChangeEvent |
AmlDataSetEvent | Ereignisse beim Zugriff auf ein registriertes oder nicht registriertes ML-Dataset (gelesen, erstellt oder gelöscht) Kategorie umfasst: DataSetReadEvent, DataSetChangeEvent |
AmlDataStoreEvent | Ereignisse beim Zugriff auf ML-Datenspeicher (gelesen, erstellt oder gelöscht) Kategorie umfasst: DataStoreReadEvent, DataStoreChangeEvent |
AmlDeploymentEvent | Ereignisse bei der Modellimplementierung in ACI oder AKS Kategorie umfasst: DeploymentReadEvent, DeploymentEventACI, DeploymentEventAKS |
AmlInferencingEvent | Ereignisse für Rückschlüsse oder verwandte Vorgänge für AKS- oder ACI-Computetypen Kategorie umfasst: InferencingOperationACI (sehr kommunikativ), InferencingOperationAKS (sehr kommunikativ) |
AmlModelsEvent | Ereignisse beim Zugriff auf das ML-Modell (gelesen, erstellt oder gelöscht) Umfasst Ereignisse, wenn das Verpacken von Modellen und Ressourcen in erstellungsbereite Pakete erfolgt Kategorie umfasst: ModelsReadEvent, ModelsActionEvent |
AmlPipelineEvent | Ereignisse beim Zugriff auf ML-Pipelineentwürfe, -Endpunkte oder -Module (gelesen, erstellt oder gelöscht). Kategorie umfasst: PipelineReadEvent, PipelineChangeEvent |
AmlRunEvent | Ereignisse beim Zugriff auf ML-Experimente (gelesen, erstellt oder gelöscht) Kategorie umfasst: RunReadEvent, RunEvent |
AmlEnvironmentEvent | Ereignisse bei ML-Umgebungskonfigurationen (gelesen, erstellt oder gelöscht) Kategorie umfasst: EnvironmentReadEvent (sehr kommunikativ), EnvironmentChangeEvent |
AmlOnlineEndpointTrafficLog | Protokolle für Datenverkehr an Onlineendpunkte. |
AmlOnlineEndpointConsoleLog | Protokolle, die die Container für Onlineendpunkte in die Konsole schreiben. |
AmlOnlineEndpointEventLog | Protokolle für Ereignisse in Bezug auf den Lebenszyklus von Onlineendpunkten. |
Hinweis
Ab Februar 2022 wird die AmlComputeClusterNodeEvent-Tabelle veraltet sein. Wir empfehlen, stattdessen die Tabelle AmlComputeClusterEvent zu verwenden.
Wichtig
Wenn Sie Protokolle im Menü von Azure Machine Learning auswählen, wird Log Analytics geöffnet, wobei der Abfragebereich auf den aktuellen Arbeitsbereich festgelegt ist. Dies bedeutet, dass Protokollabfragen nur Daten aus dieser Ressource umfassen. Wenn Sie eine Abfrage ausführen möchten, die Daten aus anderen Datenbanken oder Daten aus anderen Azure-Diensten enthält, wählen Sie im Menü Azure Monitor die Option Protokolle aus. Ausführliche Informationen finden Sie unter Protokollabfragebereich und Zeitbereich in Azure Monitor Log Analytics.
Eine ausführliche Referenz zu den Protokollen und Metriken finden Sie unter Überwachen von Azure Machine Learning-Daten – Referenz.
Kusto-Beispielabfragen
Wichtig
Wenn Sie Protokolle im [service-name]-Menü auswählen, wird Log Analytics geöffnet, wobei der Abfragebereich auf den aktuellen Azure Machine Learning-Arbeitsbereich festgelegt ist. Dies bedeutet, dass Protokollabfragen nur Daten aus dieser Ressource umfassen. Wenn Sie eine Abfrage ausführen möchten, die Daten aus anderen Arbeitsbereichen oder anderen Azure-Diensten enthält, klicken Sie im Menü Azure Monitor auf Protokolle. Ausführliche Informationen finden Sie unter Protokollabfragebereich und Zeitbereich in Azure Monitor Log Analytics.
Die folgenden Abfragen sind Abfragen, mit denen Sie Ihre Azure Machine Learning-Ressourcen überwachen können:
Abrufen der Aufträge, die in den letzten fünf Tagen fehlerhaft waren:
AmlComputeJobEvent | where TimeGenerated > ago(5d) and EventType == "JobFailed" | project TimeGenerated , ClusterId , EventType , ExecutionState , ToolType
Abrufen der Datensätze für einen bestimmten Auftragsnamen:
AmlComputeJobEvent | where JobName == "automl_a9940991-dedb-4262-9763-2fd08b79d8fb_setup" | project TimeGenerated , ClusterId , EventType , ExecutionState , ToolType
Abrufen von Clusterereignissen, die in den letzten fünf Tagen für Cluster aufgetreten sind, in denen die VM-Größe gleich „Standard_D1_V2“ ist:
AmlComputeClusterEvent | where TimeGenerated > ago(4d) and VmSize == "STANDARD_D1_V2" | project ClusterName , InitialNodeCount , MaximumNodeCount , QuotaAllocated , QuotaUtilized
Abrufen von Clusterknotenzuordnungen in den letzten acht Tagen:
AmlComputeClusterEvent | where TimeGenerated > ago(8d) and TargetNodeCount > CurrentNodeCount | project TimeGenerated, ClusterName, CurrentNodeCount, TargetNodeCount
Wenn Sie mehrere Azure Machine Learning-Arbeitsbereiche mit demselben Log Analytics-Arbeitsbereich verbinden, können Sie Abfragen über alle Ressourcen hinweg durchführen.
Rufen Sie die Anzahl der am letzten Tag ausgeführten Knoten in Arbeitsbereichen und Clustern ab:
AmlComputeClusterEvent | where TimeGenerated > ago(1d) | summarize avgRunningNodes=avg(TargetNodeCount), maxRunningNodes=max(TargetNodeCount) by Workspace=tostring(split(_ResourceId, "/")[8]), ClusterName, ClusterType, VmSize, VmPriority
Erstellen eines Dashboards für die Arbeitsbereichsüberwachung mithilfe einer Vorlage
Ein Dashboard bietet eine fokussierte und organisierte Ansicht Ihrer Cloudressourcen im Azure-Portal. Weitere Informationen zum Erstellen von Dashboards finden Sie unter Erstellen, Anzeigen und Verwalten von Metrikwarnungen mit Azure Monitor.
Zum Bereitstellen eines Beispieldashboards können Sie eine öffentlich verfügbare Vorlage verwenden. Das Beispieldashboard basiert auf Kusto-Abfragen, daher müssen Sie die Log Analytics-Datensammlung für Ihren Azure Machine Learning-Arbeitsbereich aktivieren, bevor Sie das Dashboard bereitstellen.
Warnungen
Sie können auf Warnungen für Azure Machine Learning zugreifen, indem Sie Warnungen über das Azure Monitor-Menü öffnen. Ausführliche Informationen zum Erstellen von Warnungen finden Sie unter Erstellen, Anzeigen und Verwalten von Metrikwarnungen mit Azure Monitor.
In der folgenden Tabelle sind allgemeine und empfohlene Metrikwarnungsregeln für Azure Machine Learning aufgeführt:
Warnungstyp | Bedingung | Beschreibung |
---|---|---|
Model Deploy Failed (Fehler bei der Modellimplementierung) | Aggregationstyp: Total (Gesamt), Operator: Größer als, Schwellenwert: 0 | Mindestens eine Modellimplementierung ist fehlgeschlagen. |
Quota Utilization Percentage (Prozentsatz der Kontingentnutzung) | Aggregationstyp: Average (Mittelwert), Operator: Größer als, Schwellenwert: 90 | Trifft zu, wenn die Kontingentnutzung größer als 90 % ist. |
Unusable Nodes (Nicht verwendbare Knoten) | Aggregationstyp: Total (Gesamt), Operator: Größer als, Schwellenwert: 0 | Es gibt mindestens einen nicht verwendbaren Knoten. |
Nächste Schritte
- Eine Referenz zu den Protokollen und Metriken finden Sie in der Referenz zur Überwachung von Azure Machine Learning-Daten.
- Informationen zum Arbeiten mit Kontingenten im Zusammenhang mit Azure Machine Learning finden Sie unter Verwalten und Anfordern von Kontingenten für Azure-Ressourcen.
- Ausführliche Informationen zur Überwachung von Azure-Ressourcen finden Sie unter Überwachen von Azure-Ressourcen mit Azure Monitor.