ロギング・フォーマットの概要

トップレベルのOracle Cloud Infrastructure Loggingフォーマットの詳細。

すべてのログ行は、関連付けしやすいように共通のイベント・フォーマットに正規化されます。こフォーマットは、CloudEvents v1.0のJSON実装仕様に基づいています。ログ行には3つの主要セクションがあります:
  • 統合エンベロープ
  • Oracle固有のメタデータ(oracle.*)
  • ログ行の内容(データ)

外部エンベロープ・フォーマット

収集フロント・エンドに送信されるすべてのメッセージは、外部エンベロープ・フォーマットを使用します。ログ・タイプに基づいて、メッセージ本文のみが変更されます。外部エンベロープ・フォーマットは、CloudEvents v1.0仕様に準拠しており、ロギング目的で定義された拡張フィールドがあります。次の表では、このフォーマットについて説明します。

名前 必須 位置 タイプ 説明
仕様バージョン はい Body: specversion 文字列 このメッセージが準拠するCloudEvents仕様のバージョン。
ID はい Body: id 文字列 このメッセージのソース固有の識別子。重複するメッセージは同じIDを持つことができます。コンシューマは、同じIDを持つイベントが一意であると想定できます。
タイプ はい Body: type 文字列 メッセージのタイプ。コンシューマは、typeおよびspecversionを使用して、本文の解釈方法を決定します。パターン: com.oraclecloud.{service}.{resource-type}.{category}。例: com.oraclecloud.compute.instance.terminated
ソース はい Body: source URI参照

メッセージ・ソース。

サービスによって発行される場合、メッセージを生成したリソースの名前(オブジェクト・ストレージ・バケット名、インスタンス名など)を示します。

エージェントによって発行される場合、イベントの読取りに使用されたソース/入力に基づきます。たとえば、(OCIDではなく)インスタンス名や、オンプレミス環境のアセットのホスト名などです。

サブジェクト いいえ Body: subject 文字列

イベントを生成した特定のサブリソース(ソースに適用可能な場合)。これは、サブリソースがあるソースに役立ちます。例:

  • オブジェクト・ストレージの例:

    Source: my-bucket
    Subject: image.png
  • カスタム・ロギングの例:

    Source: hostname
    Subject: /var/log/some.log
時間 いいえ Body: time タイムスタンプ メッセージが生成された時間。存在する場合は、RFC 3339で指定されているフォーマットに準拠する必要があります。指定しない場合、リクエストを受信する収集ホストの実時間が使用されます。
データ・スキーマ いいえ Body: dataschema 文字列 dataフィールドのスキーマ・バージョン。これは必須ではなく、指定しない場合は初期バージョンと想定されます。
データ・コンテンツ・タイプ いいえ Body: datacontenttype 文字列 メッセージ本文がエンコードされるフォーマット。指定しない場合、デフォルトはJSON (datacontenttype: application/jsonと同等)です。
メッセージ本文 はい Body: data オブジェクト datacontenttypeによって定義されたフォーマットでエンコードされたメッセージ本文。datacontenttypeを指定しない場合、これはJSON (datacontenttype: application/jsonと同等)であると想定されます。
Oracle Cloudメタデータ はい Body: oracle オブジェクト より多くのOracle固有のメタデータが、エンベロープの最上位レベルにある属性のマップで提供されます。これは、CloudEvents v1の属性拡張仕様に準拠しています。サポートされるOracle Cloud Infrastructureメタデータ属性については、次の表を参照してください。

Oracleメタデータ属性

次の属性は、メッセージ・フォーマットのoci拡張フィールドでサポートされます。これらの属性の命名は、CloudEvents v1の属性命名規則に準拠しています。つまり、小文字の英数字識別子で、長さは20文字未満です。

名前 収集に必須 取得用にエンリッチ タイプ 説明
logid はい - 文字列 メッセージが送信されたログ・オブジェクトのOCID。
loggroupid いいえ はい 文字列 オブジェクトが存在するログ・グループのOCID。
tenantid いいえ はい 文字列 ログ・オブジェクトを所有するテナントのOCID。
compartmentid いいえ はい 文字列 メッセージの収集時にログ・オブジェクトが存在していたコンパートメントのOCID。