ログ

ロギング・サービスをデータ・サイエンスに統合して、カスタム・ログを作成および管理できます。

カスタム・ログは、特定のコンテキストで収集されたログ・イベントを格納および取得する最重要の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つの個別のログを作成することも、両方に同じログを使用することもできます。

ログの構成

まだの場合は、ロギング・サービスでログ・グループを作成し、カスタム・ログを構成します:

  1. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ロギング」で、「ログ・グループ」をクリックします。
  2. 作業する権限があるコンパートメントを選択し、「ログ・グループの作成」をクリックします。

    「ログ・グループの作成」パネルが表示されます。

  3. 次を入力します:
    • コンパートメント: ログ・グループを作成するコンパートメント。このフィールドは、コンパートメントの選択に基づいて事前入力されます。
    • 名前: このログ・グループの名前。ログ・グループ名の最初のキャラクタは、文字にする必要があります。詳細は、ログ名およびログ・グループ名を参照してください。機密情報を入力しないでください。

    • 説明: わかりやすい説明。
    • (オプション)タグ付け情報を入力します。
  4. 「作成」をクリックします

    「ログ・グループの詳細」ページが表示されます。

  5. 「ログ」をクリックします。
  6. 「カスタム・ログの作成」をクリックします。
  7. カスタム・ログの名前を入力します。
  8. (オプション)別のコンパートメントを選択します。
  9. ログ・グループを選択します。
  10. ジョブおよびモデル・デプロイメントがロギング・サービス・エージェント構成に統合されていないため、「後で構成を追加」を選択します。
  11. 「カスタム・ログの作成」をクリックします。

ログへのアクセス

ジョブおよびモデル・デプロイメントのログにはOCIコンソールからアクセスできます。「ソリューションおよびプラットフォーム」「ロギング」サービスを選択し、「検索」をクリックします。

「検索」ボックスで、「検索するログの選択」をクリックします。コンパートメント、ログ・グループおよびログを選択します。必要に応じてフィルタを適用します。

「探索」タブにログ・データが表示されます。ログの検索を参照してください。

ヒント

「コピー」を使用してログOCIDをコピーし、ジョブおよびモデル・デプロイメント・リソースで使用します。たとえば、ジョブ・ログのOCIDを、同時に実行できる異なる構成の複数のジョブ実行に貼り付けることができます。