開始するには、以下のボタンをクリックし、Azure Portal のフォームに入力します。Datadog アカウントにアクティビティログをストリーミングするために必要な Azure リソースが、自動的にデプロイされます。
あるいは、Datadog は、Azure アクティビティログと Azure プラットフォームログ (リソースログを含む) の送信に使用できる自動化スクリプトを提供しています。
Azure アクティビティログ 以下の手順に従って、アクティビティログを Datadog アカウントにストリーミングするために必要な Azure リソースを作成および構成するスクリプトを実行します。これらのリソースには、アクティビティログの診断設定、Azure Functions、Event Hub ネームスペース、および Event Hub が含まれます。
Azure ポータルで、Cloud Shell に移動します。 以下のコマンドを実行して、自動化スクリプトを Cloud Shell 環境にダウンロードします。 Copy
( New-Object System . Net . WebClient ). DownloadFile ( "https://raw.githubusercontent.com/DataDog/datadog-serverless-functions/master/azure/eventhub_log_forwarder/activity_logs_deploy.ps1" , "activity_logs_deploy.ps1" )
スクリプトの内容を表示する こともできます。
以下のコマンドを実行し、<API_KEY>
を Datadog API トークン に、<SUBSCRIPTION_ID>
を Azure サブスクリプション ID に置き換えてスクリプトを起動します。Optional Parameters を追加して、デプロイを構成します。 Copy
./ activity_logs_deploy . ps1 -ApiKey < API_KEY > -SubscriptionId < SUBSCRIPTION_ID >
Azure プラットフォームログ Azure プラットフォームのログ (リソースログを含む) を送信するには、Event Hub とログフォワーダー関数のペアをデプロイします。
デプロイ後、ログを Datadog にストリーミングするために、各ログソースの診断設定を作成します。
Azure ポータルで、Cloud Shell に移動します。
以下の Powershell コマンドを実行して、自動化スクリプトを Cloud Shell 環境にダウンロードします。
Copy
( New-Object System . Net . WebClient ). DownloadFile ( "https://raw.githubusercontent.com/DataDog/datadog-serverless-functions/master/azure/eventhub_log_forwarder/resource_deploy.ps1" , "resource_deploy.ps1" )
スクリプトの内容を表示する こともできます。
以下の Powershell コマンドを実行し、<API_KEY>
を Datadog API トークン に、<SUBSCRIPTION_ID>
を Azure サブスクリプション ID に置き換えてスクリプトを起動します。また、その他のオプションのパラメーターを追加して、デプロイを構成することもできます。Optional Parameters を参照してください。 Copy
./ resource_deploy . ps1 -ApiKey < API_KEY > -SubscriptionId < SUBSCRIPTION_ID >
Datadog にログを送信するすべての Azure リソースの診断設定を作成します。これらの診断設定を構成して、作成したばかりの Event Hub へストリーミングします。 プラットフォームログパイプライン用にデプロイされたすべての Azure リソースには、デフォルト名に追加された ResourceGroup-Location が含まれています。例: datadog-eventhub-westus
。ただし、パラメーターをオーバーライドすれば、この規則を変更できます。
注 : リソースは同じ Azure リージョン内の Event Hub にのみストリーミングできるため、リソースログをストリーミングするリージョンごとにステップ 2 を繰り返す必要があります。
アクティビティログとリソースログの設定 アクティビティログとリソースログの両方をストリーミングするには、オプションのパラメーター -ResourceGroupLocation 1
を含む最初のスクリプトを実行します。アクティビティログはサブスクリプションレベルのソースなので、どのリージョンでもパイプラインを作成できます。これがデプロイされたら、westus
でリソースに診断設定を追加して、同じイベントハブを通してリソースログを送信します。
注 : このインテグレーションは、イベントを収集しません。
オプションパラメーター 注 : 以下のパラメーターをカスタマイズするときは、カスタムリソース名が一意であることを確認してください。リソース名が他の Azure リソースのリスト内にまだ存在していないことを確認します。
-Flag <Default Parameter>
説明 -DatadogSite <datadoghq.com>
このフラグを別の Datadog サイトを使用してパラメーターとして追加して、Datadog インスタンスをカスタマイズします。Datadog サイト:
-Environment <AzureCloud>
このフラグをパラメーターとして追加して、Azure 独立クラウドのストレージを管理します。追加のオプションは、AzureChinaCloud
、AzureGermanCloud
、AzureUSGovernment
です。 -ResourceGroupLocation <westus2>
更新された Azure-region を使用してこのフラグを追加することにより、Azure リソースグループとリソースがデプロイされるリージョンを選択できます。 -ResourceGroupName <datadog-log-forwarder-rg>
更新されたパラメーターを使用してこのフラグを追加することにより、Azure リソースグループの名前をカスタマイズします。 -EventhubNamespace <datadog-ns-4c6c53b4-1abd-4798-987a-c8e671a5c25e>
更新済みのパラメーターでこのフラグを追加し、Azure Event Hub の名前空間をカスタマイズします。デフォルトで、datadog-ns-<globally-unique-ID>
が生成されています。 -EventhubName <datadog-eventhub>
更新されたパラメーターを使用してこのフラグを追加することにより、Azure Event Hub の名前をカスタマイズします。 -FunctionAppName <datadog-functionapp-1435ad2f-7c1f-470c-a4df-bc7289d8b249>
更新済みのパラメーターでこのフラグを追加し、Azure 関数の名前をカスタマイズします。デフォルトで、datadog-functionapp-<globally-unique-ID>
が生成されています。 -FunctionName <datadog-function>
更新されたパラメーターを使用してこのフラグを追加することにより、Azure Function の名前をカスタマイズします。 -DiagnosticSettingName <datadog-activity-logs-diagnostic-setting>
更新されたパラメーターを使用してこのフラグを追加することにより、Azure 診断設定の名前をカスタマイズします。(アクティビティログの送信にのみ関連)
インストールでエラーが発生した場合は、自動ログ収集 でよくあるエラーケースを参照してください。
Azure から Datadog にログを送信するには、以下の手順に従ってください。
Azure Event Hub を作成。Datadog-Azure 関数を Event Hub トリガー でセットアップし、Datadog へログを転送します。 診断設定 を作成し、Azure サービスが Event Hub へログをストリーミングするように構成する。以下の手順では、Azure Portal を使用した基本的な初期設定について説明します。手順はすべて、Azure ドキュメントを参照し、CLI、Powershell、リソーステンプレートで実行できます。
Azure Event Hub Azure Event Hub を作成:
以下の手順に従って、新しいネームスペースを作成するか、既存のネームスペースに新しいイベントハブを追加します。
Azure ポータルで、Event Hubs 概要に移動し、Create をクリックします。 名前、価格帯、サブスクリプション、リソースグループを入力します。 場所を選択します。注 : Event Hub とログの送信元となるリソースは同じ場所になければなりません。アクティビティログや他のアカウント全体のログソースは、その限りではありません。 スループット単位、アベイラビリティーゾーン、および自動インフレに必要なオプションを選択します。 作成 をクリックします。イベントハブをイベントハブネームスペースに追加します。
Azure ポータルで、新規または既存のネームスペースに移動します。 + Event Hub をクリックします。名前、パーティション数、およびメッセージ保持に必要なオプションを選択します。 作成 をクリックします。Datadog Azure 関数 Datadog-Azure 関数を Event Hub トリガー でセットアップし、Datadog へログを転送します。
新しい関数アプリを作成するか、既存の関数アプリを使用して、次のセクションにスキップします。
Azure ポータルで、Function Apps 概要に移動し、Create をクリックします。 サブスクリプション、リソースグループ、地域を選択し、関数アプリの名前を入力します。 Publish to Code, Runtime stack to Node.js, and Version to 18 LTS を選択します。オペレーティングシステムとプランタイプを選択します。 Next:Hosting をクリックします。ストレージアカウントを選択します。 確認し、新しい関数アプリを作成します。 デプロイが完了するのを待ちます。 イベントハブトリガーテンプレートを使用して、関数アプリに新しい関数を追加します。
関数アプリリストから新規/既存の関数アプリを選択します。 関数メニューから Functions を選択し、Create をクリックします。 テンプレートメニューから Azure イベントハブトリガー を選択します。 Event Hub connection で、ネームスペースとイベントハブを選択します。作成 をクリックします。イベントハブトリガーを Datadog にポイントします。
関数ビューから新しいイベントハブトリガーを選択します。 開発者側メニューの Code + Test をクリックします。 Datadog-Azure 関数コード を index.js ファイルに追加します。関数アプリのコンフィギュレーションタブで DD_API_KEY
環境変数を作成して API キーを追加するか、22 行目の <DATADOG_API_KEY>
を置き換えて関数コードにコピーします。 Datadog US1 サイトを使用していない場合は、関数アプリの構成タブにある環境変数 DD_SITE
で Datadog サイト を設定するか、23 行目の関数コードにサイトパラメーターをコピーしてください。 関数を保存します。 トリガーの Integration をクリックしてから Azure Event Hubs をクリックし、次の設定を確認します。
a. Event Parameter Name が eventHubMessages
に設定されている。
b. Event Hub Cardinality が Many
に設定されている。
c. Event Hub Data Type が空のままになっている。 保存 をクリックします。関数を実行し、Datadog ログエクスプローラー でテストメッセージをチェックし、設定が正しいことを確認します。
注 : テストログイベントは、有効な JSON 形式である必要があります。 アクティビティログ Azure ポータルで、Activity Log に移動します。 Diagnostic Settings をクリックします。Add diagnostic setting をクリックします。カテゴリの詳細で、Datadog に送るログのカテゴリを選択します。 送信先情報で、Stream to an event hub を選択します。 イベントハブのネームスペースと名前を設定します。これらは、ネームスペーストリガーの作成に使用したネームスペースネームのスペースおよび名前と一致する必要があります。 共有アクセスキーを設定します。このキーは送信アクセスまたは管理アクセスで構成しなければなりません。 保存 をクリックします。Datadog ログエクスプローラー でこのリソースからのログをチェックして、正しくセットアップできたことを確認します。リソースログ 診断設定 を作成し、Azure サービスが Event Hub へログを転送するように構成する。
Azure ポータルで、Datadog に送るログのリソースへ移動します。 リソースブレードの監視セクションで、Diagnostic settings をクリックします。 Add diagnostic setting をクリックします。カテゴリの詳細で、Datadog に送るログのカテゴリを選択します。 送信先情報で、Stream to an event hub を選択します。 イベントハブのネームスペースと名前を設定します。これらは、ネームスペーストリガーの作成に使用したネームスペースネームのスペースおよび名前と一致する必要があります。 共有アクセスキーを設定します。このキーは送信アクセスまたは管理アクセスで構成しなければなりません。 保存 をクリックします。Datadog ログエクスプローラー でこのリソースからのログをチェックして、正しくセットアップできたことを確認します。Datadog では、Azure ログ収集に Event Hub セットアップを使用することを推奨しています。ただし、以下の手順に従って、Blob ストレージからすべての Azure App Services ログを転送することもできます。
Azure ポータル 、Azure ストレージエクスプローラー 、Azure CLI 、または Powershell から Azure BLOB ストレージ をセットアップします。Blob ストレージから Datadog へログを転送する Datadog-Azure 関数 をセットアップします。 ログを Blob ストレージに転送する Azure App Service を構成します。新しい Azure Blob ストレージ関数を作成する Azure 関数に馴染みのない方は、Azure 関数入門 をご覧ください。
Azure ポータル で、Function Apps 概要に移動し、Create をクリックします。サブスクリプション、リソースグループ、地域を選択し、関数アプリの名前を入力します。 Publish to Code, Runtime stack to Node.js, and Version to 18 LTS を選択します。オペレーティングシステム Windows とプランタイプを選択します。 Next:Hosting をクリックします。ストレージアカウントを選択します。 確認し、新しい関数を Create します。 デプロイが完了したら、関数アプリリストから新しい関数を選択します。 関数をポータル内 で構築するように選択し、Blog Storage トリガーテンプレートを使用します (More templates… の下)。プロンプトが表示されたら、Microsoft.Azure.WebJobs.Extensions.EventHubs
拡張機能をインストールします。 Storage account connection を選択するか追加し、Create を作成します。index.js
ファイルを作成し、Datadog-Azure 関数コード を追加します (<DATADOG_API_KEY>
はご使用の Datadog API キー に置き換えます)。関数を保存します。 統合 で、BLOB パラメーター名 を blobContent
に設定し、保存 をクリックします。Datadog ログエクスプローラー でログをチェックして、正しくセットアップできたことを確認します。