診断設定を使ってDatadogへのAzure リソース ログを送信する手順
Azure リソース ログをDatadogへ送信するための手順です。
アクティビティログを例に手順を確認しています。
診断設定などで取得されるAzureのリソース ログは、Datadogに送信して監視に利用することができます。
Azure Event HubsやAzure Function Appsのリソース作成・設定から、Azureリソースの診断設定、Datadogでのログ確認までをまとめています。
Azureテナント(サブスクリプション)とDatadogの接続手順については、こちらで紹介しています。
Azure Event Hubsのリソースを作成
公式サイト手順
Datadog公式サイトの手順を参考に、作業を進めます。
自動でリソースを作成する方法もありますが、今回は理解を深めるために手動で設定しています。
Azure Event Hubsとは
Azure Event Hubsは、大量のデータをリアルタイムで収集、処理、保存することを目的として提供されているサービスです。
今回は、Azureリソースのログ収集に利用します。
少しややこしいのですが、Azure Event Hubsは”Azure Event Hubs 名前空間"と"イベントハブ(Event Hub)"から構成されます。
イメージとしては、名前空間はイベントハブを収容するための箱(コンテナー)です。
イベントハブ(Event Hub)はデータを受信・送信するためのアクセスポイント(実体)となります。
イベントハブのリソースは、名前空間内に作成します。
Azure Event Hubs 名前空間のリソースを作成
Azure Event Hubs 名前空間のリソースを作成します。
リソース名は"test-datadog"としています。
※手順は検証目的の設定値としています。実際の利用用途や利用量に応じて適切に設定してください。
Event Hubsのリソースを作成 | |
Event Hubsで作成を選択します。 | ![]() |
名前空間の名前や場所を設定します。 |
![]() |
![]() |
|
詳細設定はデフォルト値のまま変更せず、次へ進みます。 | ![]() |
ネットワーク設定もデフォルト値のまま変更せず、次へ進めます。 | ![]() |
確認画面で作成を選択します。 | ![]() |
イベントハブ(Event Hub)を作成
イベントハブ(Event Hub)を作成します。
イベントハブはEvent Hubs 名前空間リソース内に作成します。
イベントハブ名はDatadog-01としています。
イベントハブ(Event Hubs)作成 | |
Event Hubs 名前空間のリソースメニューでEvent Hubsを選択します。 イベントハブを作成します。 |
![]() |
名前を入力します。 それ以外の設定はデフォルト値のままとします。 確認および作成を選択します。 |
![]() |
—広告—
Azure Function Appsのリソースを作成
Azure Function Appsとは
Azure Function Appsは、関数(Azure Functions)を実行するサーバーレスのサービス実行環境です。
イベントに応答してコードを自動的に実行するマネージドサービスです。
イベントハブ(Event Hub)で受信したデータをDatadogに送信する役割を担います。
Azure Function Appsのリソースを作成
Azure Function Appsのリソースを作成します。
プランは従量課金(Serverless)を選択しています。
リソース名はfunc-test-datadogとしています。
※手順は検証目的の設定値としています。実際の利用用途や利用量に応じて適切に設定してください。
Azure Functionsの使用量クオータ設定
Azure Functions(関数アプリ)の従量課金(Serverless)プランでは、利用量に応じて課金が発生します。
検証時には想定外の課金を防ぐために、使用量クオータを設定しておいた方がよいでしょう。
※今回は検証目的のため、使用量の上限を設定しています。今回は仮に10,000で設定しています。(この値は仮に設定したものです。)
使用量クオータ設定 | |
関数アプリのリソースメニューで構成を選択します。 関数のランタイム設定タブで、日ごとの使用量クオータ欄に10,000と入力し、保存します。 |
![]() |
再起動確認メッセージが表示されます。 続行を選択します。 |
![]() |
関数(Functions)のリソースを作成
コードを記述する関数(Functions)のリソースを作成します。
関数名はDatadogTriggerとしています。
Azure Event Hubsトリガーの詳細については、マイクロソフト公式サイトを参照してください。
Azure Functions の Azure Event Hubs トリガー
DatadogのAPI Key値を確認
DatadogのAPI Key値は、Organization SettingsのAPI Keysメニューから確認できます。
API Keyを確認 | |
Organization SettingsのAPI Keysを選択します。 API Keyの一覧が表示されます。 値を確認したいAPI Keyを選択します。 |
![]() |
API Key値をコピーして確認できます。 | ![]() |
アプリケーション設定の追加
関数(Functions)で使用するDatadogの設定値をアプリケーション設定に登録します。
-
- アプリケーション設定
- DD_API_KEY:Datadogで発行したAPI Key値を設定
- DD_SITE:Datadogの接続先URLを設定
- アプリケーション設定
※今回は検証目的での設定です。アプリケーション設定値の管理にAzure Key Vaultなどのシークレット管理するなど、セキュリティ面も考慮します。
Datadog-Azure用の関数コードを設定
作成した関数(Functions)にDatadog-Azure用の関数コードを設定します。
手順:Datadog Azure 関数
コード:index.js
Datadogへログが送信できるか関数(Functions)でテスト
Datadogへログが送信できるかテストします。
—広告—
診断設定を利用してAzure アクティビティログをDatadogに送信
DatadogにAzureリソースのログを送信する場合は、診断設定を利用します。
診断設定の宛先としてイベントハブ(Event Hubs)を選択します。
アクティビティログの診断設定
アクティビティログの診断設定は、Azureポータルのモニターから行うことができます。
アクティビティログの診断設定 | |
モニターのリソースメニューでアクティビティログを選択します。 アクティビティログをエクスポートを選択します。 |
![]() |
診断設定を追加するを選択します。 | ![]() |
診断設定の名前を入力します。 送信するログカテゴリにチェックを入れます。 宛先の詳細でイベントハブへのストリーミングを選択します。作成したイベントハブ(Event Hub)のリソースを選択し、保存をクリックします。 |
![]() |
アクティビティログの受信をDatadogで確認
受信したアクティビティログをDatadogのLogsで確認します。
Datadogでログを表示 | |
Datadogで受信したアクティビティログを確認します。 ログが正常に取り込まれていることが確認できます。 |
![]() |
※画面サンプルは、仮想マシンを起動した際のアクティビティログです。
最後に
今回はアクティビティログを例に、Azureで取得されるログをDatadogに送信するための設定手順を確認しました。
自動化されたスクリプトも用意されていますが、今回は設定内容の確認を兼ねて手動でリソースを作成しています。
Azure Event HubsやAzure Functions(関数アプリ)を利用することで、Datadogへリソースのログを転送することができました。
Azureリソースのログ転送は診断設定から行えるため、手軽にDatadogへログを転送できます。
引き続き、いろいろ試してみたいと思います。
DatadogへのAzure テナント登録手順については、こちらで紹介しています。
Datadog Agentを利用した仮想マシンのログ転送設定手順については、こちらで紹介しています。