Oracle Cloud Infrastructure Loggingのログの有効化

データ統合では、Oracle Cloud Infrastructure Loggingを使用して、コンソールまたはCLIでロギングを有効にし、サービス・ログを取得できます。

パブリック・ログは次のタイプで使用できます:

  • 統合、データ・ローダー、REST、SQL、パイプライン・タスク実行など、様々なタスク実行の実行ログ
  • データ・フロー・ログの作成、編集および削除

ロギングを有効にできるのは管理ユーザーのみです。管理者以外のユーザーは、ログの内容のみを表示できます。ログの内容は、管理ユーザーがロギングを有効にして設定し、ロギング・グループおよびコンテンツへのアクセス権を付与した後にのみ表示できます。

現在、データ統合サービス・ログは、DIS Workspace Logsログ・カテゴリを使用してワークスペース・リソース・レベルで有効化されています。たとえば、ロギングが有効でアクティブの場合、指定したデータ統合ワークスペースのデータ・フローに関連付けられた統合タスク実行でロギング機能がオンになります。

リソース・ログは、Oracle Cloud Infrastructure Loggingのログ・グループと呼ばれる論理コンテナにグループ化されます。管理ユーザーは、少なくとも1つのログ・グループを作成する必要があります。

Oracle Cloud Infrastructure Loggingの使用を開始する前に:

  • OCIロギング・サービスで使用される基本的な概念および用語について理解します。OCIロギングのドキュメントのロギングの概要を参照してください。

  • ログ・グループおよびログ・コンテンツへのアクセスを管理するグループを作成します。アイデンティティ・ドメインを使用するOCI IAMのドキュメントでグループの管理を参照してください。

  • データ統合サービスのパブリック・ロギングを有効にするポリシーを追加します。

    ノート

    有効化権限を特定のユーザーに制限するには、any-userを特定のユーザーに置き換えます。

    ALLOW any-user TO {DIS_WORKSPACE_OBJECT_CREATE} in tenancy WHERE ALL {request.service.name = 'dataintegration', request.principal.type = 'service'}
  • データ統合サービスでOCIロギングを使用できるようにするポリシーを追加します。

    allow group <group-name> to manage log-groups in compartment <compartment-name>
    allow group <group-name> to manage log-content in compartment <compartment-name>
  • OCIロギングを使用するために必要なポリシーがあることを確認します。OCIロギング・ドキュメントのログおよびログ・グループの作業に必要な権限を参照してください。

  • OCIロギング・サービスで、1つ以上のログ・グループを作成して、論理コンテナのログを編成および管理します。OCIロギングのドキュメントのログ・グループの作成を参照してください。

コンソールでのログの有効化

コンソールで次のステップに従って、Oracle Cloud Infrastructure Loggingを使用してデータ統合サービス・ロギングを有効にします。ロギングを有効にできるのは管理ユーザーのみです。

現在、データ統合サービス・ログはワークスペース・レベルで有効になっています。ロギングを有効にするには、ワークスペースおよびワークスペースが配置されているコンパートメントの名前を知っておく必要があります。

  1. ナビゲーション・メニューを開き、「監視および管理」.をクリックします「ロギング」で、「ログ」をクリックします。
  2. 「サービス・ログの有効化」をクリックします。「リソース・ログの有効化」パネルが表示されます。
  3. 「リソースの選択」で、次の手順を実行します。
    1. サービス・ログを収集するデータ統合ワークスペースがあるリソース・コンパートメントを選択します。
    2. 「サービス」で、Data Integration Serviceを選択して、サービスのリソース・ロギングを有効にします。
    3. 「リソース」で、収集のパブリック・ログを有効にするデータ統合ワークスペースの名前を選択します。
  4. 「ログの構成」で、次を実行します:
    1. 「ログ・カテゴリ」を選択して、このリソースに作成するログのタイプを指定します。

      現在、カテゴリDIS Workspace Logsは1つのみです。このカテゴリには、指定したデータ統合ワークスペースでのタスク実行のすべてのログが含まれます。たとえば、データ・フローに関連付けられた統合タスク実行です。

    2. ログ名」にこのログの名前を入力します。次のログ名のガイドラインを使用します。
      • 先頭の文字は英字で始める必要があります。
      • 1から256文字を使用します。
      • ログ名では、大/小文字が区別されます。有効な文字は、文字(大文字または小文字)、数字、ハイフン、アンダースコアおよび期間です。
      • 機密情報を入力しないでください。
    ノート

    サービス、リソースおよびログ・カテゴリの任意の組合せに対して指定できるログは1つのみです。
  5. 必要に応じて、「拡張オプションの表示」をクリックして、ログを作成する場所を指定します。
    1. 「コンパートメント」を選択します。
    2. ログ・グループを選択します。

      OCIロギング・サービスは、ログ・グループを使用して論理コンテナのログを編成および管理します。

      選択メニューにログ・グループがない場合は、「新規グループの作成」をクリックして作成します。OCIロギングのドキュメントのログ・グループの作成を参照してください。

  6. (オプション)「ログ保持」で、ログを保持する期間を指定したり、トラッキングにタグを適用することもできます。
  7. 「ログの有効化」をクリックします。
「ログの詳細」ページが表示されます。「ステータス」は「作成中」と表示され、ログの作成中は「ログの探索」の下に「ログの作成中」というメッセージが表示されます。ログが作成されると、「ステータス」が「アクティブ」に変わります。ログの詳細ページについてさらに学習するには、OCIロギングのドキュメントにあるログの詳細の取得を参照してください。

CLIでのログの有効化

CLIで次のステップに従って、Oracle Cloud Infrastructure Loggingを使用してワークスペースのデータ統合サービス・ロギングを有効にします。

  1. パブリック・ログ・グループを作成します。
    リクエスト
    oci logging log-group create --compartment-id $COMPARTMENT_ID --display-name "dis-logs"
    レスポンス
    {
      "data": {
        "compartment-id": "<compartment-ocid>",
        "id": "<log-workrequest-ocid>",
        "operation-type": "CREATE_LOG_GROUP",
        "percent-complete": 100.0,
        "resources": [
          {
            "action-type": "CREATED",
            "entity-type": "loggroup",
            "entity-uri": "/logGroups/<log-group-ocid>",
            "identifier": "<log-group-ocid>"
          }
        ],
        "status": "SUCCEEDED",
        "time-accepted": "2022-23-08T18:53:29.065000+00:00",
        "time-finished": "2022-23-08T18:53:29.065000+00:00",
        "time-started": "2022-23-08T18:53:29.065000+00:00"
      }
    }
  2. ワークスペースのデータ統合サービス・ログを有効にします。
    リクエスト
    export LOG_GROUP_ID=<log-group-ocid>
    oci logging log create --display-name "MyWorkspace Logs" --log-group-id $LOG_GROUP_ID --log-type SERVICE --is-enabled true --configuration file://config.json
    config.jsonファイル
    {
        "compartment-id" : "<compartment-ocid>",
        "source": {
            "resource" : "<workspace-ocid>",
            "service" : "dataintegration",
            "source-type" : "OCISERVICE",
            "category" : "disworkspacelogs"
        }
    }
    レスポンス
    {
      "opc-work-request-id": "<log-workrequest-ocid>"
    }
  3. 作成されたパブリック・ログのログIDを取得します。

    ログIDは、指定されたコンパートメント内の指定されたリソースおよびログ・カテゴリに対して一意に生成されるOCIDです。

    リクエスト
    export LOG_WR_ID=<log-workrequest-ocid>
    oci logging work-request get --work-request-id $LOG_WR_ID
    レスポンス
    {
      "data": {
        "compartment-id": "<compartment-ocid>",
        "id": "<log-workrequest-ocid>",
        "operation-type": "CREATE_LOG",
        "percent-complete": 100.0,
        "resources": [
          {
            "action-type": "CREATED",
            "entity-type": "log",
            "entity-uri": "/logs/<log-ocid>",
            "identifier": "<log-ocid>"
          }
        ],
        "status": "SUCCEEDED",
        "time-accepted": "2022-23-08T18:58:29.065000+00:00",
        "time-finished": "2022-23-08T18:58:29.065000+00:00",
        "time-started": "2022-23-08T18:58:29.065000+00:00"
      }
    }

データ統合のパブリック・ログの例

次に、JSON形式のデータ統合サービスのパブリック・ログの例を示します。

出力のデータ統合フィールドは次のとおりです。

フィールド 説明

logLevel

ログのレベル。たとえば: INFOWARN/ERROR

message

実際のログ・メッセージ。

objectId

taskRunIdまたはdataflowIdは、ログに記録される操作のタイプによって異なります。

IDは、ログが生成されるオブジェクトの汎用一意識別子(UUID)です。たとえば、タスク実行の場合はTaskRunKey UUIDです。データ・フロー保存ログの場合は、dataflow UUIDです。

opcRequestId

受信したリクエストのopcRequestId

workspaceId

ワークスペースOCID。

{
  "datetime": 1660885646612,
  "logContent": {
    "data": {
      "logLevel": "INFO",
      "message": "ACTION: INTEGRATION_TASK-TASK-RUN- Submit on TASK b7fba0c4-bf0d-4c29-b49f-b21673cc2791 - SUCCESS",
      "objectId": "b7fba0c4-bf0d-4c29-b49f-b21673cc2791",
      "opcRequestId": "csidb3d7aef846ab99c53689c81107f0/f11c0c8e208a49e8a1f79176bdf611a6/D4927163D0EAC4B699CD3076A17C5FD0",
      "workspaceId": "ocid1.disworkspace.oc1.phx.<long-string-letters-12345>"
    },
    "id": "2d0da51e-e02d-4ba2-b766-6255ed1b1269",
    "oracle": {
      "compartmentid": "ocid1.tenancy.oc1..<long-string-letters-12345>",
      "ingestedtime": "2022-08-19T05:07:55.326Z",
      "loggroupid": "ocid1.loggroup.oc1.phx.<long-string-letters-12345>",
      "logid": "ocid1.log.oc1.phx.<long-string-letters-12345>",
      "tenantid": "ocid1.tenancy.oc1..<long-string-letters-12345>"
    },
    "source": "ocid1.disworkspace.oc1.phx.<long-string-letters-12345>",
    "specversion": "1.0",
    "time": "2022-08-19T05:07:26.612Z",
    "type": "public.log.dis.execute"
  }
}