🍃

Logic Apps から Log Ingestion API を実行

に公開

はじめに

本記事では、Logic Apps のマネージド ID と HTTP アクションを活用し、Log Ingestion API を通じて Log Analytics ワークスペースにカスタムログを記録する方法を解説します。Azure Monitor コネクターでは直接ログを書き込むアクションが用意されていませんが、Log Ingestion API を利用することで柔軟なログ収集が可能となります。

事前準備

以下の Microsoft ドキュメントに沿って、次の 3 つの準備を行います。

  • データ収集エンドポイントを作成する
  • Log Analytics ワークスペースに新しいテーブルを作成する
  • データ収集ルールを作成する

https://learn.microsoft.com/ja-jp/azure/azure-monitor/logs/tutorial-logs-ingestion-api?tabs=dce

また Microsoft Entra アプリケーションを作成する の代わりに Logic Apps のマネージド ID を有効化します。


DCR にアクセス許可を割り当てる で [アクセス権の割り当て先] で [マネージド ID] を選択し、Logic Apps のマネージド ID を指定します。

HTTP アクションの設定

Logic Apps の HTTP アクションを以下のように設定します。

設定項目 設定値
URI https://your-dce-name.ingest.monitor.azure.com/dataCollectionRules/your-dcr-immutable-id/streams/your-stream-name?api-version=2023-01-01
Method POST
Headers Content-Type : application/json
Body 書き込みたいログを Array 型の JSON 形式で指定
Advanced parameters Authentication を追加
Authentication type Managed identity
Managed identity System-assigned managed identity
Audience https://monitor.azure.com/

URI サンプル

https://dce-cus-default-xxxx.centralus-1.ingest.monitor.azure.com/dataCollectionRules/dcr-1234567890abcdefghijklmnopqrstuv/streams/Custom-MyTableRawData?api-version=2023-01-01

Body サンプル

[
{
    "Time": "2025-06-12T03:24:24.4122873Z",
    "Computer": "Computer1",
    "AdditionalContext": {
        "InstanceName": "user1",
        "TimeZone": "Pacific Time",
        "Level": 4,
        "CounterName": "AppMetric1",
        "CounterValue": 15.3    
    }
},
{
    "Time": "2025-06-12T03:24:24.4122873Z",
    "Computer": "Computer2",
    "AdditionalContext": {
        "InstanceName": "user2",
        "TimeZone": "Central Time",
        "Level": 3,
        "CounterName": "AppMetric1",
        "CounterValue": 23.5     
    }
}
]

設定イメージは以下の通りです。

実行結果

Logic Apps の実行結果例です。


Log Analytics ワークスペースにデータが記録されていることを確認できます。

まとめ

Logic Apps のマネージド ID と HTTP アクションを活用することで、Log Ingestion API を通じて柔軟にカスタムログを Log Analytics ワークスペースへ記録できます。
この仕組みは監査や運用自動化、セキュリティ監視など幅広い用途に応用可能になります。

参考

https://learn.microsoft.com/ja-jp/azure/azure-monitor/logs/tutorial-logs-ingestion-code?tabs=powershell

Microsoft (有志)

Discussion