Logs

Sie können den Logging-Service in Data Science integrieren, um benutzerdefinierte Logs zu erstellen und zu verwalten.

Ein benutzerdefiniertes Log ist eine erstklassige OCI-Ressource, die in einem bestimmten Kontext erfasste Logereignisse speichert und erfasst. Mit dem Logging-Service können Sie benutzerdefinierte Data Science-Logs für die folgenden Ressourcen aktivieren, verwalten und durchsuchen:

Hinweis

Diese Integration ist für alle unterstützten Ressourcen optional.

Joblogs

Sie können Tätigkeitsressourcen in den Logging-Service integrieren, um Joblaufdetails in einem benutzerdefinierten Log zu erfassen.

Sowohl Standardausgabe (stdout) als auch Standardfehler (stderr) aus dem Jobartefakt werden erfasst und im benutzerdefinierten Log verfügbar gemacht. Diese Ausgaben sind für den Data Science-Service nicht verfügbar. Es wird dringend empfohlen, die Loggingintegration für Jobs zu aktivieren, sowohl zum Debuggen potenzieller Probleme als auch zum Überwachen des Fortschritts der Ausführung Ihrer Jobartefakte.

Standardausgabemeldungen werden dem Typ "com.oraclecloud.datascience.jobrun.stdout" zugewiesen, während Standardfehlermeldungen zum Typ "com.oraclecloud.datascience.jobrun.stderr" gehören. Für beide Typen enthalten die Logmetadaten die "source", also die OCID des Joblaufs, der die Meldungen ausgibt.

Wenn die Loggingintegration in den Jobloggingkonfigurationen aktiviert ist, können Sie eine der folgenden Aktionen ausführen:

  • Sie können Ihre eigene Loggruppe und Ihr eigenes Log angeben, um Joblaufausgaben zu erfassen. Dabei können Sie alle Jobläufe so konfigurieren, dass sie dasselbe Log verwenden. Das wird aber nicht empfohlen. Logmeldungen sind einfacher zu lesen, wenn jeder Joblauf ein eigenes Log nutzt.

    Oder

  • Sie können Ihre eigene Loggruppe angeben, aber den Data Science-Service so einrichten, dass zu Beginn jedes Joblaufs benutzerdefinierte Logs in der von Ihnen angegebenen Loggruppe automatisch in Ihrem Namen erstellt werden. Wenn die automatische Logerstellung aktiviert ist, müssen Sie nicht selber vor jedem Joblauf Logs konfigurieren. Das erstellte Log erhält den Namen jobrun-<partial-jobrun-ocid>-logs. Dieser kann jedoch nach Bedarf bearbeitet werden. Sie wirkt sich nicht auf die Loggingintegration mit dem Joblauf aus.

Hinweis

Sie verwalten den Lebenszyklus der Logs, einschließlich Logs, die automatisch vom Data Science-Service automatisch für Sie erstellt werden.

Logs werden nicht gelöscht, wenn Jobs und Jobläufe gelöscht werden.

Für beide Loggingkonfigurationstypen muss der Resource Principal des Joblaufs Berechtigungen zum Schreiben in Ihre benutzerdefinierten Logs besitzen.

Modell-Deployment-Logs

Wenn Sie das Logging für Modellbereitstellungen integrieren, werden die Kategorien "Zugriffslog" und "Vorhersagelog" erstellt:

Zugriffslogs

Die Kategorie "Zugriffslog" ist ein benutzerdefiniertes Log, das detaillierte Informationen zu Anforderungen erfasst, die an den Modellendpunkt gesendet werden. Diese Informationen umfassen den Empfangszeitpunkt der Anforderung, Fehlercodes usw. Wenn bei Ihrem Modell-Deployment Probleme auftreten, sollten Sie im Allgemeinen als Erstes die Zugriffslogs prüfen.

In den Zugriffslogs für Modell-Deployments erfasste Metadaten:

logEmissionTime

Der Zeitpunkt in UTC, zu dem das Log aus dem Code ausgegeben wurde.

message

Der Anforderungspfad.

modelLatency

Die Zeit für die Verarbeitung einer Anforderung auf dem Modellserver in Millisekunden.

opcRequestId

Die Anforderungs-ID. Dieser Wert ist dieselbe requestId, die in der Antwort abgerufen wird.

status

Der Statuscode der Anforderungsantwort.

Beispiel für einen Zugriffslogeintrag für das Modell-Deployment:

"data": {
  "logEmissionTime": "2021-01-25T07:23:39.101Z",
  "message": "POST /predict 1.1",
  "modelLatency": 4.43,
  "opcRequestId": "0BC0860C17DC46D79A0A1A7B4F139829",
  "status": 200
}
Vorhersagelogs

Vorhersagelogs stammen aus Loggingaufrufen (stdout und stderr), die benutzerdefinierte Codeausführungen in den Python-Dateien der Modellartefakte vorgenommen haben. Vorhersagelogs können nützliche Informationen zum Modell ausgeben und sind vollständig anpassbar. Sie können Zugriffs- und Vorhersagelogs im Rahmen der Aktionen Erstellen und Bearbeiten konfigurieren.

In den Vorhersagelogs für Modell-Deployments erfasste Metadaten:

MD_OCID

Der Wert der Modell-Deployment-OCID.

level

Die Loggerebene. Wird auch als Schweregrad der Logmeldung bezeichnet.

logEmissionTime

Zeitpunkt in UTC, zu dem das Log aus dem Code ausgegeben wurde.

message

Eine benutzerdefinierte Meldung, die aus dem Python-Code des Modellartefakts ausgegeben wird.

name

Der Name des verwendeten Loggers.

Beispiel für einen Vorhersagelogeintrag für das Modell-Deployment:

"data": {
      "MD_OCID": "ocid1.datasciencemodeldeployment.oc1.iad.amaaaaaav66vvniauqakarfnyvn6gd2qt4fjpv2ffdnrthqyhqpapevmmh6a",
      "level": "ERROR",
      "logEmissionTime": "2021-01-27T08:43:04.029Z",
      "message": "exception :: name 'function' is not defined",
      "name": "root"
    },

Sie können zwei separate Logs für Vorhersage und Zugriff erstellen oder für beide dasselbe Log verwenden.

Logs konfigurieren

Erstellen Sie eine Loggruppe, und konfigurieren Sie ein benutzerdefiniertes Log im Logging-Service, wenn noch keines vorhanden ist:

  1. Öffnen Sie das Navigationsmenü, und wählen Sie Beobachtbarkeit und Management aus. Wählen Sie unter Logging die Option Loggruppen aus.
  2. Wählen Sie ein Compartment aus, für das Sie berechtigt sind, und wählen Sie Loggruppe erstellen aus.

    Der Fensterbereich Loggruppe erstellen wird angezeigt.

  3. Geben Sie Folgendes ein:
    • Compartment: Das Compartment, in dem Sie die Loggruppe erstellen möchten. Dieses Feld ist je nach Compartment-Auswahl bereits ausgefüllt.
    • Name: Ein Name für diese Loggruppe. Das erste Zeichen eines Loggruppennamens muss ein Buchstabe sein. Weitere Informationen finden Sie unter Namen von Logs und Loggruppen. Geben Sie keine vertraulichen Informationen ein.

    • Beschreibung: Eine benutzerfreundliche Beschreibung.
    • (Optional) Geben Sie Tagginginformationen ein.
  4. Klicken Sie auf Erstellen

    Daraufhin wird die Detailseite der Loggruppe angezeigt.

  5. Wählen Sie Logs (Logs) aus.
  6. Wählen Sie Benutzerdefiniertes Log erstellen aus.
  7. Geben Sie einen Namen für das benutzerdefinierte Log ein.
  8. (Optional) Wählen Sie ein anderes Compartment aus.
  9. Wählen Sie die Loggruppe aus.
  10. Wählen Sie Konfiguration später hinzufügen aus, weil Jobs und Modell-Deployments nicht in die Agent-Konfiguration des Logging-Service integriert sind.
  11. Wählen Sie Benutzerdefiniertes Log erstellen aus.

Auf Logs zugreifen

Sie können über die OCI-Konsole unter Lösungen und Plattform auf die Logs für Ihre Jobs und Modellbereitstellungen zugreifen, indem Sie den Logging-Service und dann Suchen auswählen.

Wählen Sie im Feld Search die Option Select logs to search. Wählen Sie ein Compartment, eine Loggruppe und ein Log aus. Wenden Sie gegebenenfalls Filter an.

Die Logdaten sollten auf der Registerkarte Explorieren angezeigt werden. Siehe Logs durchsuchen.

Tipp

Kopieren Sie die Log-ID mit Kopieren, um sie in den Jobs und Modell-Deployment-Ressourcen zu verwenden. Beispiel: Sie können eine Joblog-OCID in mehrere Jobläufe für verschiedene Konfigurationen einfügen, die gleichzeitig ausgeführt werden können.