サービス・コネクタを使用した他のOCIサービスからのログの収集

Oracle Log Analyticsにログを収集して、そのログを分析して、問題のトラブルシューティング、ヘルとパフォーマンスのモニター、およびOracle Cloud Infrastructureサービスでの運用タスクの監視を行うことができます。

サービス・コネクタを使用して、Oracle Cloud Infrastructureサービスをログのソースとして、Oracle Log Analyticsを宛先として識別します。サービス・コネクタ・ハブの動作の詳細は、Oracle Cloud Infrastructureドキュメントサービス・コネクタ・ハブの概要を参照してください。

ノート

サービス・コネクタの作成後、ログを処理するためのエンティティが自動的に作成されます。適切なログ収集を保証するため、エンティティは削除しないでください。

Oracle Operator Access Controlログの場合、エンティティは自動的には作成されません。エンティティを作成するには、「ログ出力リソースを表すエンティティの作成」を参照してください。

トピック

重要: Oracleでは、Log Analyticsコンソールで使用可能なデータ取込みワークフローを使用して、他のOCIサービスからログをすばやく取り込むことをお薦めします。Log Analyticsのホームまたはログ・エクスプローラに移動し、「コンパス」をクリックして、「データの追加」をクリックします。

  • OCI監査ログおよびIDCS監査ログを除くOCIサービスからのすべてのタイプのログについて、「OCIリソースのモニター」セクションを展開し、「OCIリソースのログ収集の構成」をクリックします。
  • OCI監査ログまたはIDCS監査ログの場合は、セクション「セキュリティおよびコンプライアンス」を展開し、選択したログをクリックします。このワークフローでは、ポリシー、ログ・グループ、サービス・コネクタなど、必要なすべてのリソースが自動的に作成されます。

ワーク・フローの直感的なステップに従って、ログの取込みを開始します。前提条件として、ステップを完了するために必要な権限があることを確認してください。ステップの簡単な説明は、Oracle Cloud Observability and Management Platformビデオ: 他のOCIサービスからLog Analyticsにログをすばやく取り込む方法を参照してください。

または、次のステップを実行して、ログ収集を手動で設定することもできます。

追加情報

  • ログを収集するためのOracle定義ソースの一覧: Oracle Cloud Infrastructureサービスからログを収集するためのOracle定義ソースの一覧は、Oracle定義ソースを参照して、OCI..というタイトルのソースを検索します。

  • 収集できるサービス・ログのタイプ: Oracle Cloud Infrastructureサービスから収集できるログのタイプ、パーサー、サンプルのログ・コンテンツ、フィールドおよびJSONパスは、OCIパーサーの詳細を参照してください。

  • サービス・コネクタを介して収集されたログのフィルタ: サービス・コネクタのOCIDは、フィールドLog Originにマップされます。そのサービス・コネクタからOracle Log Analyticsに移行するログを表示するには、ログをフィールドLog Originでフィルタします。固定された属性およびフィールドによるログのフィルタを参照してください。

OCIロギング・サービスからのログの収集の許可

収集するサービス・ログのタイプに基づいて、Oracle Log Analyticsで、リソースに関する情報を取得し、各リソースのエンティティを作成できるようにするポリシーを作成する必要があります。

ポリシーを作成すると、作成されるエンティティは、そのリソースから収集されたすべてのログに自動的に関連付けられます。ポリシーを作成しない場合、ログは収集されますが、エンティティは作成されません。

次の権限は、サービス・コネクタからOracle Log Analyticsにログをアップロードするためのものです。OCIコンソールを使用してサービス・コネクタを作成するときに、これらのポリシー・ステートメントを追加するように求められます。または、次のポリシー・ステートメントを含むポリシーを手動で作成できます。

allow any-user to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in compartment id <Log_Group_Compartment_OCID> where all {request.principal.type = 'serviceconnector', target.loganalytics-log-group.id = '<Log_Group_OCID>', request.principal.compartment.id = '<Service_Connector_Compartment_OCID>'}
allow group <userGroup> to MANAGE serviceconnectors in tenancy
allow group <userGroup> to READ logging-family in tenancy

上記のポリシーでは、

  • Log_Group_Compartment_OCID: ログを格納する必要があるOracle Log Analyticsのログ・グループのコンパートメントOCID。

  • Log_Group_OCID: ログを格納する必要があるOracle Log Analyticsのログ・グループのOCID。

  • Service_Connector_Compartment_OCID: サービス・コネクタ・ハブのコンパートメントOCID。

ノート

サービスに初めてナビゲートするときに使用可能なオンボーディングUIを使用してOracle Log Analyticsを有効にした場合、一部のポリシーがすでに作成されます。Log Analyticsのオンボーディング中に作成されたポリシーを参照してください。

各タイプのサービス・ログに対するポリシー

Oracle Log Analyticsは、サービス・コネクタを介して新しいログを受信したときに、基礎となるOCIリソースを表すエンティティを作成します。OCIリソースから必要な情報を取得するには、OCIリソースへのread以上のアクセスをOracle Log Analyticsに提供する必要があります。たとえば、オブジェクト・ストレージ内のバケットに関する情報を読み取るには、次のいずれかのポリシーを記述できます:

OCIリソースのREAD PRIVILEGEを含むポリシー・ステートメント:

allow resource loganalyticsvrp LogAnalyticsVirtualResource to {BUCKET_READ} in compartment <specify_compartment>

または

OCI RESOURCEのread動詞を含むポリシー・ステートメント:

allow resource loganalyticsvrp LogAnalyticsVirtualResource to read buckets in compartment <specify_compartment>

前述のポリシー・ステートメントは、コンパートメントへのreadアクセスを制限します。テナンシ全体へのアクセスを拡張するには、それに応じてポリシー・ステートメントを変更できます。

Oracle Log Analyticsでは、サービス・コネクタを介したログ収集のために、次のOCIリソースがサポートされています。前述のように、OCIリソースのread verbを使用してポリシーを作成するか、リソースにread privilegeを使用できます。

OCIリソースの説明 OCIリソース 読取り権限
Analytics Cloudインスタンス analytics-instances ANALYTICS_INSTANCE_READ
APIゲートウェイ api-gateways API_GATEWAY_READ
APMドメイン apm-domains APM_DOMAIN_READ
Kubernetes用コンテナ・エンジン clusters CLUSTER_READ
データ・フロー(アプリケーション) dataflow-application DATAFLOW_APPLICATION_READ
データ統合ワークスペース dis-workspaces DIS_WORKSPACE_READ
Data Scienceジョブ data-science-jobs DATA_SCIENCE_JOB_READ
データ・サイエンス・モデルのデプロイメント data-science-model-deployments DATA_SCIENCE_MODEL_DEPLOYMENT_READ
DevOpsビルド・パイプライン devops-build-pipeline DEVOPS_BUILD_PIPELINE_READ
DevOpsビルド・パイプライン・ステージ devops-build-pipeline-stage DEVOPS_BUILD_PIPELINE_STAGE_READ
DevOpsビルド実行 devops-build-run DEVOPS_BUILD_RUN_READ
DevOpsデプロイメント devops-deployment DEVOPS_DEPLOY_DEPLOYMENT_READ
DevOpsデプロイメント・パイプライン devops-deploy-pipeline DEVOPS_DEPLOY_PIPELINE_READ
DevOpsデプロイメント・ステージ devops-deploy-stage DEVOPS_DEPLOY_STAGE_READ
電子メール配信サービス approved-senders APPROVED_SENDER_READ
イベント・サービス cloudevents-rules EVENTRULE_READ
機能(FNアプリ) fn-app FN_APP_READ
関数(FN関数) fn-function FN_FUNCTION_READ
GoldenGateデプロイメント goldengate-deployments GOLDENGATE_DEPLOYMENT_READ
インスタンス instances INSTANCE_READ
IPSecトンネル ipsec-connections IPSEC_CONNECTION_READ
ロード・バランサ load-balancers LOAD_BALANCER_READ
メディア・ワークフロー media-workflow MEDIA_WORKFLOW_READ
メディア・ワークフロー・ジョブ media-workflow-job MEDIA_WORKFLOW_JOB_READ
ネットワーク・ファイアウォール network-firewall NETWORK_FIREWALL_READ
オブジェクト・ストレージ(バケット) buckets BUCKET_READ
OCI Database with PostgreSQL postgres-db-systems POSTGRES_DB_SYSTEM_READ
OICインスタンス integration-instance INTEGRATION_INSTANCE_READ
オペレータ・コントロール operator-control-family -
サービス・コネクタ serviceconnectors SERVICE_CONNECTOR_READ
VCN - VNIC vnics, vcns, subnets VNIC_READ, VCN_READ, SUBNET_READ
Webアプリケーション・ファイアウォール web-app-firewall WEB_APP_FIREWALL_READ
ノート

サービスに初めてナビゲートするときに使用可能なオンボーディングUIを使用してOracle Log Analyticsを有効にした場合、一部のポリシーがすでに作成されます。Log Analyticsのオンボーディング中に作成されたポリシーを参照してください。

ログを収集するためのサービス・コネクタの設定

ログを収集するためのサービス・コネクタを設定する前に、収集するログのコンパートメントおよびログ・グループを識別してください。

次の例のステップでは、Oracle Cloud Infrastructure LoggingサービスからVCNサービス・ログを収集する方法を示します:

  1. これは、Oracle Cloud Infrastructure Loggingサービスでログを有効にする方法を示す推奨ステップです。

    Oracle Cloud Infrastructure Loggingサービスに移動し、「ログ」に移動します。

    「リソース・ログの有効化」をクリックして、VCNサービス・ログを有効にします。ダイアログ・ボックスが開きます。

    1. リソース・コンパートメントを選択します。
    2. サービスを選択します。たとえば、仮想クラウド・ネットワーク(サブネット)
    3. リソースを選択します。たとえば、VCNリソース。
    4. 「ログの構成」で、フロー・ログなどのログ・カテゴリとログ名を選択します。
    5. 「ログの場所」で、Oracle Log Analyticsでログを参照するコンパートメントとログ・グループを選択します。

    「ログの有効化」をクリックします。

  2. ログのソース・サービスおよびターゲットのOracle Log Analyticsを指定して、サービス・コネクタを設定します。これは、Oracle Cloud Infrastructureサービス・コネクタ・ハブと統合されているソース・サービス(Oracle Cloud Infrastructure Loggingサービスなど)から、または直接Oracle Cloud Infrastructureサービス・コネクタ・ハブから設定できます。

    Oracle Cloud Infrastructure ロギング・サービスに移動し、「サービス・コネクタ」に移動して、「コネクタの作成」をクリックします。

    または、Oracle Cloud Infrastructureサービス・コネクタ・ハブ・サービスに移動し、「サービス・コネクタの作成」をクリックします。

    「サービス・コネクタの作成」ページが開きます。

    1. コネクタの名前を入力し、説明を指定します。
    2. コネクタ・リソースを作成する必要があるリソース・コンパートメントを選択します。
    3. 「サービス・コネクタの構成」で、ロギングソース・サービスとして、ログ・アナリティクスターゲット・サービスとして指定します。
    4. 「ソース接続の構成」で、サービスから収集するログの詳細(VCNサービス・ログなど)を指定します。

      コンパートメント名、ログが属しているログ・グループ、およびステップ1で構成したログの名前を選択します。

    同じサービス・コネクタを構成して、より多くのログを収集できます。「別のログ」をクリックし、ステップ2-dを繰り返します。

    オプションで、「タスクの構成」でフィルタを作成できます。

    「コネクタの作成」をクリックします。

サービス・コネクタの作成後、選択したログがOracle Log Analyticsで使用できることを確認できます。

OCIロギング・サービスからのクロステナンシ・ログ収集の許可

ログを収集するOracle Cloud Infrastructure Loggingなどのソース・サービスのテナントをSource_Tenantとします。サービス・コネクタを作成するテナントをTarget_Tenantとします。サービス・コネクタは、ソース・サービスから収集されるログのターゲットとしてOracle Log Analyticsで構成されます。サービス・コネクタ・ハブとOracle Log Analyticsが同じターゲット・テナントで使用できることを前提としています。

次のポリシーを設定して、サービス・コネクタが作成されるテナンシとは異なるテナンシからのログ収集を構成します。

ソース・テナントに追加するポリシー

次に、サービス・コネクタ・ハブ・テナンシの任意のユーザーがロギング・サービスに対してREADアクセス権を持つことを許可するポリシー・ステートメントの例を示します:

define tenancy <Target_Tenant> as <Target_Tenant_OCID>
define group <Common_User_Group> as <Common_User_Group_OCID>
admit any-user of tenancy <Target_Tenant> to read logging-family IN TENANCY WHERE ALL {request.principal.type = 'serviceconnector'}
admit group <Common_User_Group> of tenancy <Target_Tenant> to read logging-family IN TENANCY

また、監査イベント・ログを読み取るには、次の権限が必要です。

admit group <Common_User_Group> of tenancy <Target_Tenant> to read audit-events in TENANCY
admit any-user of tenancy <Target_Tenant> to read audit-events IN tenancy WHERE ALL {request.principal.type = 'serviceconnector'}

ソース・サービスから収集する必要があるサービス・ログのタイプに対してポリシーを設定してください。OCIロギング・サービスからのログの収集の許可を参照してください。

ターゲット・テナントに追加するポリシー

次に、任意のユーザーがサービスのコネクタ・ハブを介してロギング・サービスにアクセスできるようにし、ターゲットIAMグループCommon_User_Groupがサービス・のコネクタ・ハブに対してMANAGEアクセス権を持つことを可能にするポリシー・ステートメントの例を次に示します:

define tenancy <Source_Tenant> as <Source_Tenant_OCID>
endorse any-user to read logging-family IN tenancy <Source_Tenant> WHERE ALL {request.principal.type = 'serviceconnector'}
endorse group <Common_User_Group> to read logging-family IN tenancy <Source_Tenant>

また、ソース監査イベント・ログを読み取るには、次の権限が必要です。

endorse group <Common_User_Group> to read audit-events in tenancy <Source_Tenant>
endorse any-user to read audit-events in tenancy <Source_Tenant> WHERE ALL {request.principal.type = 'serviceconnector'}

次の権限は、サービス・コネクタからOracle Log Analyticsにログをアップロードするためのものです。次のポリシー・ステートメントを含むポリシーを手動で作成してください:

allow any-user to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in compartment id <Log_Group_Compartment_OCID> where all {request.principal.type = 'serviceconnector', target.loganalytics-log-group.id = '<Log_Group_OCID>', request.principal.compartment.id = '<Service_Connector_Compartment_OCID>'}
allow group <Common_User_Group> to MANAGE serviceconnectors in tenancy

上記のポリシーでは、

  • Log_Group_OCID: Oracle Log Analyticsログ・グループのOCID。

  • Log_Group_Compartment_OCID: Oracle Log Analyticsログ・グループが配置されているコンパートメントのOCID。

  • Service_Connector_Compartment_OCID: サービス・コネクタのコンパートメントOCID。

  • Common_User_Group: サービス・コネクタを作成するユーザー・グループ。

ソース・テナントとターゲット・テナント間のコネクタの作成

ソースおよびターゲット・テナントに必要なポリシーが作成されたら、CLIを使用してサービス・コネクタを作成します。次のCLIコマンドの例では、ソースとしてロギングを指定し、クロス・テナンシ・サービス・コネクタを作成するためのターゲットとしてOracle Log Analyticsを指定します。

oci --profile <Target_Profile> sch service-connector create 
    --display-name XTenancyConnector 
    --compartment-id <Connector_Compartment_OCID> 
    --source '{ "kind": "logging", "logSources": 
        [ { "compartmentId": "<Logging_LogGroup_Compartment_OCID>", 
            "logGroupId": "<Logging_LogGroup_OCID>" } ] }' 
    --target '{ "kind": "loggingAnalytics", "logGroupId": "<LogAnalytics_LogGroup_OCID>" }'

上記のコマンドは、読みやすくするためにフォーマットされています。改行タブ、および追加のスペースなどの文字を実行する前に削除します。

前述のCLIコマンドで、

  • Target_Profile: ターゲット・テナンシにマップされる.oci/configファイル内のプロファイル。

  • Connector_Compartment_OCID: サービス・コネクタ・リソースが作成されるコンパートメントのOCID。

  • Logging_LogGroup_Compartment_OCID: Oracle Cloud Loggingログ・グループが属するコンパートメントのOCID。これはソース・テナントにあります。

  • Logging_LogGroup_OCID: Oracle Cloud Loggingログ・グループのOCID。これはソース・テナントにあります。

  • LogAnalytics_LogGroup_OCID: Oracle Log Analyticsログ・グループのOCID。これはターゲット・テナントにあります。

CLIコマンドの詳細は、CLIコマンド・リファレンス- 作成を参照してください。

サービス・コネクタの作成後、選択したログがOracle Log Analyticsで使用できることを確認できます。

サービス・コネクタからのログの収集の停止

OCI LoggingからOracle Log Analyticsにログを継続的に収集するようにサービス・コネクタを設定している場合は、コネクタを非アクティブ化するか削除することで、ログ収集を停止できます。

ログ収集を一時的に停止し、後でログ収集を再開できるようにコネクタ構成を保持する必要がある場合は、コネクタを非アクティブ化します。

サービス・コネクタからログ収集を完全に停止する場合は、コネクタを削除します。

  1. ログ収集用に設定されているサービス・コネクタの識別: コネクタ・ハブ・サービスに移動し、コンパートメント内のコネクタをリストします。コネクタのリストを参照してください。

    コネクタの名前をクリックして、コネクタの詳細および構成を表示します。ログ収集に設定されている適切なサービス・コネクタを特定します。

  2. ログ収集の停止: 要件に応じて、「非アクティブ化」または「削除」をクリックします。コネクタの非アクティブ化およびコネクタの削除を参照してください。

    これにより、特定のOCIサービスからOracle Log Analyticsへのデータ・フローが停止します。

コネクタを非アクティブ化し、ログ収集を再開する場合は、そのコネクタを再アクティブ化します。「コネクタのアクティブ化」を参照してください。