ログ
ロギング・サービスをデータ・サイエンスに統合して、カスタム・ログを作成および管理できます。
カスタム・ログは、特定のコンテキストで収集されたログ・イベントを格納および取得する最重要のOCIリソースです。ロギング・サービスを使用して、次のリソースのデータ・サイエンス・カスタム・ログを有効化、管理および検索できます:
この統合は、サポートされているすべてのリソースに対してオプションです。
ジョブのログ
ジョブ・リソースをロギング・サービスと統合して、ジョブ実行の詳細をカスタム・ログに記録できます。
ジョブ・アーティファクトからの標準出力(stdout
)と標準エラー(stderr
)の両方の出力が取得され、カスタム・ログで使用可能になります。これらの出力は、データ・サイエンス・サービスで使用できません。潜在的な問題のデバッグとジョブ・アーティファクトの実行の進行状況のモニターの両方で、ジョブのロギング統合を有効にすることを強くお薦めします。
標準出力メッセージは"com.oraclecloud.datascience.jobrun.stdout"
タイプに分類され、標準エラー・メッセージは"com.oraclecloud.datascience.jobrun.stderr"
タイプに分類されます。どちらのタイプでも、ログ・メタデータには"source"
が含まれます。これは、メッセージを出力するジョブ実行のOCIDです。
ジョブ・ロギング構成でロギング統合が有効になっている場合は、次のいずれかを実行できます:
-
独自のログ・グループと独自のログを指定して、ジョブ実行出力を取得します。すべてのジョブ実行が同じログを使用するように構成することはできますが、推奨しません。ログ・メッセージは、各ジョブ実行で独自のログに出力される場合、読みやすくなります。
または
-
独自のログ・グループを指定しますが、データ・サイエンス・サービスが、各ジョブ実行の開始時に指定したログ・グループ内にカスタム・ログを自動的に作成できるようにします。自動ログ作成が有効になっている場合、各ジョブ実行の前にログを自分で構成する必要はありません。作成されたログの名前は
jobrun-<partial-jobrun-ocid>-logs
で指定されますが、必要に応じて名前を編集できます。ジョブ実行とのロギング統合には影響しません。
データ・サイエンス・サービスによって自動的に作成されるログを含むログのライフサイクルを管理します。
ジョブおよびジョブ実行が削除されてもログは削除されません。
どちらのタイプのロギング構成の場合も、ジョブ実行リソース・プリンシパルにはカスタム・ログへの書込み権限が必要です。
モデル・デプロイメント・ログ
モデル・デプロイメントのロギングを統合すると、アクセス・ログおよび予測ログのカテゴリが作成されます:
- アクセス・ログ
-
アクセス・ログ・カテゴリは、モデル・エンドポイントに送信されるリクエストに関する詳細情報を取得するカスタム・ログです。この情報には、リクエストを受信した時刻、エラー・コードなどが含まれます。モデル・デプロイメントで問題が発生している場合は、通常、最初に確認するのはアクセス・ログです。
モデル・デプロイメント・アクセス・ログによって取得されるメタデータは次のとおりです:
logEmissionTime
-
コードからログが出力された時間(UTC)。
message
-
リクエスト・パス。
modelLatency
-
モデル・サーバーでリクエストの処理に要した時間(ミリ秒)。
opcRequestId
-
リクエストID。この値は、レスポンスで取得されるのと同じ
requestId
です。 status
-
リクエスト・レスポンス・ステータス・コード。
たとえば、モデル・デプロイメントのアクセス・ログ・エントリは次のようになります:
"data": { "logEmissionTime": "2021-01-25T07:23:39.101Z", "message": "POST /predict 1.1", "modelLatency": 4.43, "opcRequestId": "0BC0860C17DC46D79A0A1A7B4F139829", "status": 200 }
- 予測ログ
-
予測ログは、モデル・アーティファクトPythonファイルで実行されたカスタム・コードのロギング(
stdout
およびstderr
)コールから生成されます。予測ログは、モデルに関する有用な情報を出力でき、完全にカスタマイズ可能です。アクセス・ログおよび予測ログの構成は、作成および編集アクションの一部です。モデル・デプロイメントの予測ログによって取得されるメタデータは次のとおりです:
MD_OCID
-
モデル・デプロイメントOCID値。
level
-
ロガー・レベル。ログ・メッセージの重大度レベルとも呼ばれます。
logEmissionTime
-
コードからログが出力された時間(UTC)。
message
-
モデル・アーティファクトPythonコードから出力されたカスタム・メッセージ。
name
-
使用するロガーの名前。
たとえば、モデル・デプロイメントの予測ログ・エントリは次のようになります:
"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" },
予測およびアクセス用に2つの個別のログを作成することも、両方に同じログを使用することもできます。
ログの構成
まだの場合は、ロギング・サービスでログ・グループを作成し、カスタム・ログを構成します:
ログへのアクセス
ジョブおよびモデル・デプロイメントのログにはOCIコンソールからアクセスできます。「ソリューションおよびプラットフォーム」で「ロギング」サービスを選択し、「検索」をクリックします。
「検索」ボックスで、「検索するログの選択」をクリックします。コンパートメント、ログ・グループおよびログを選択します。必要に応じてフィルタを適用します。
「探索」タブにログ・データが表示されます。ログの検索を参照してください。
「コピー」を使用してログOCIDをコピーし、ジョブおよびモデル・デプロイメント・リソースで使用します。たとえば、ジョブ・ログのOCIDを、同時に実行できる異なる構成の複数のジョブ実行にペーストできます。