OCI Log Analytics: ファイル・アップロードREST APIを使用したLog Analyticsへのログのプッシュ (2025/12/02)

OCI Log Analytics: ファイル・アップロードREST APIを使用したLog Analyticsへのログのプッシュ (2025/12/02)

https://blogs.oracle.com/ateam/post/oci-log-analytics-push-logs-to-log-analytics-using-file-upload-rest-api

投稿者: Amine Tarhini | Principal Cloud Architect


Oracle Log Analytics は、サービス コネクタ、管理エージェント、オブジェクト収集ルール、オンデマンド アップロード、REST API アップロードなどのさまざまなログ収集方法をサポートしています。 

前回のブログでは、管理エージェントの継続的な収集方法を使用して、REST API 経由でログを公開するアプリケーションからログを「プル」するケースについて説明しました。

このブログでは、Log Analytics REST API アップロード方法を使用してアプリケーションからログを「プッシュ」するケースについて説明します。

この方法では、Log Analytics が提供する次のいずれかの API を使用できます。

  1. アップロードログイベントファイル
  2. アップロードログファイル

最初のAPIについては、こちらのドキュメント 「LogEvents APIを使用したイベントログのアップロード」で解説されています。このブログでは、プレーンテキスト以外の形式(JSONなど)のログファイルで使いやすい2番目のAPIについて説明します。ここで使用しているサンプルファイルは次のとおりです。


クリップボードにコピーされました
エラー: コピーできませんでした
クリップボードにコピーされました
エラー: コピーできませんでした
{ "logRecord": { "eventTime": "2025-12-01T12:08:00", "ID": "101", "appName": "App 1", "message": "Message 1", "severity": "Information" }, "additionalAttributes": { "compName": "App 1, comp 1", "emailSent": "N" } } { "logRecord": { "eventTime": "2025-12-01T12:09:00", "ID": "102", "appName": "App 1", "message": "Message 2", "severity": "Warning" }, "additionalAttributes": { "compName": "App 1, comp 2", "emailSent": "Y" } } { "logRecord": { "eventTime": "2025-12-01T12:10:00", "ID": "103", "appName": "App 2", "message": "Message 3", "severity": "Critical" }, "additionalAttributes": { "compName": "App 2, comp 1", "emailSent": "Y" } }

前提条件

テナンシーで Log Analytics を有効にし、サービスを使用するために必要な権限を持つ IAM グループに属している必要があります。詳細については、「Log Analytics とそのリソースへのアクセスを有効にする」のドキュメントを参照してください。

このブログで説明されている設定は、 Postman を使ってテストできます。動作を確認できたら、Log Analytics にログをプッシュする予定のアプリケーションから使用できます。

  • Log Analyticsの名前空間をメモしておいてください。通常はテナンシー名ですが、異なる場合はOCIコンソールで確認してください。「Observability & Management」->「Log Analytics」->「Administration」->「Service Details」。
  • ログデータをマッピングするLog Analyticsロググループを特定または作成します。参考: ログを保存するためのロググループの作成。ロググループのOCIDをメモしておいてください。
  • Log Analytics REST API は認証が必要です。OCI ユーザー ID を使用するか、専用の「サービス アカウント」OCI ユーザーを作成することができます。いずれの場合も、使用するユーザーの API キーを作成する必要があります。参考:  API 署名キーの追加
  • Postman のセットアップ:
    • Postman UI で「Oracle Cloud Infrastructure REST API」を検索します。
    • OCI 資格情報を使用して、「OCI 資格情報」環境変数をフォークして更新します。
    • 「Logging Search API」コレクションをフォークします (Log Analytics 用のコレクションはありませんが、このコレクションを使用して Log Analytics エンドポイントに投稿できます)。
    • 次のスクリーンショットのように、OCI資格情報環境を更新してください。「Logging Search API」コレクションを更新する必要はありません。
      ポストマン環境
      ポストマン環境

       

タスク

パーサーを作成する

  • OCI コンソールで、「Log Analytics」->「管理」->「パーサー」に移動します。
  • 「パーサーの作成」->「JSON タイプ」をクリックします。
  • 名前と説明を入力します。
  • 「ログ内容の例」フィールドに、ログ ファイルのサンプル レコードを貼り付けます。
  • 「フィールド」タブで、ログ レコードのフィールドを Log Analytics のフィールドにマッピングします。
    • ログレコードにタイムスタンプ型のフィールドが含まれている場合は、Oracle定義のフィールド「Time」にマッピングしてください。このフィールドは、ログエクスプローラーで時刻フィールドとして使用されます。レコードに時刻フィールドが含まれていない場合、ログ分析では収集時刻が使用されます。
    • マッピングしたくない/マッピングする必要がないフィールドは空白のままにしておきます。
    • Log Analytics によって提供される既定のフィールドのいずれかを選択するか、新しいフィールドを作成することができます。
  • 「パーサー テスト」タブをクリックしてテストし、ログ レコードが正しくマップされていることを確認します。
  • 「パーサーを作成」をクリックします。
    パーサーを作成する
    パーサーを作成する
    パーサーテスト
    パーサーテスト

     

ログソースを作成する

  • OCI コンソールで、「Log Analytics」->「管理」->「ソース」に移動します。
  • 「ソースを作成」をクリックします。
  • 名前と説明を入力します。
  • 「ソースタイプ」には「ファイル」を選択します。
  • 「エンティティ タイプ」では、「ホスト (Linux)」(またはログ出力アプリケーションに適した別のタイプ) を選択します。
  • 「パーサー」では「特定のパーサー」を選択し、前の手順で作成したパーサーを選択します。
    ログソース
    ログソース

     

Postmanでテストする

  • 「Logging Search API」コレクションに新しいリクエストを作成します。
  • タイプ: POST
  • URI: https://loganalytics. <OCI リージョン> .oci.oraclecloud.com/20200601/namespaces/ <ログ分析名前空間> /actions/uploadLogFile?logSourceName=My+JSON+Source&filename=MyTestFile.json
    • このシナリオでは、ファイルの内容をリクエストボディに直接貼り付けます。この場合、URIの「filename」パラメータは参照用です。必須パラメータなので指定する必要がありますが、任意のテキスト文字列を使用できます。
  • 承認: 親から承認を継承します。
  • ヘッダー: 次のヘッダーを追加します。
    • コンテンツタイプ: アプリケーション/オクテットストリーム
    • opc-meta-loggrpid: <ロググループのOCID>
  • Body:
    • 「raw」をクリックしてファイルの内容を直接貼り付けることもできます。
    • または、「バイナリ」をクリックしてファイルを指定することもできます。
  • 送信をクリック
  • 「200 OK」と次のようなメッセージが表示されます:
    {
        "timeCreated": "2025-12-01T15:45:20.000Z"
    }
    リクエストが成功しました
    リクエストが成功しました

     

ログエクスプローラーで確認

  • OCI コンソールで、「Log Analytics」->「Log Explorer」に移動します。
  • クエリ バーに次のクエリを入力します: 'Log Source' = 'My JSON Source'。
  • ログ レコードの期間をカバーするように時間セレクターを更新します。
  • ログ レコードが正常にアップロードされたことを確認します。
    ログエクスプローラー
    ログエクスプローラー

     

参照

コメント

このブログの人気の投稿

Oracle Database 19cサポート・タイムラインの重要な更新 (2024/11/20)

ミリ秒の問題: BCCグループとOCIが市場データ・パフォーマンスを再定義する方法(AWSに対するベンチマークを使用) (2025/11/13)

OCIサービスを利用したWebサイトの作成 その4~Identity Cloud Serviceでサイトの一部を保護 (2021/12/30)