Azure インテグレーションプログラム管理ガイド
概要 This guide demonstrates how to programmatically manage the Azure integration with Datadog, as well as other Azure resources such as the Datadog Agent VM extension. This enables you to manage observability across multiple accounts at once.
All sites : すべての Datadog サイト は、このページのステップを使用して、Azure メトリクス収集のための App Registration の認証プロセスと、Azure プラットフォームログを送信するための Event Hub のセットアップを完了することができます。
US3 : 組織が Datadog US3 サイトにある場合、Azure Native インテグレーションを使用して、Azure 環境の管理とデータ収集を効率化することができます。Datadog では、可能な限りこの方法を使用することを推奨しています。セットアップには、Azure 内の Datadog リソース を作成して、Azure サブスクリプションを Datadog 組織にリンクします。これは、メトリクス収集のためのアプリ登録の認証プロセスとログ転送のための Event Hub のセットアップを置き換えるものです。詳細は、Azure Native Integration の管理ガイド を参照してください。
Datadog Azure integration 標準の Azure インテグレーションでは、メトリクス収集を実装するためのアプリ登録の認証プロセスと、Azure プラットフォームログを送信するための Azure Event Hub のセットアップを使用します。Datadog を Azure 環境とインテグレーションする前に、Azure でアプリ登録を作成し、Datadog が提供されたスコープ (サブスクリプションまたは管理グループ) を監視するための Monitoring Reader 権限で構成します。アプリ登録がまだ作成されていない場合は、Azure Portal 経由でのインテグレーション または Azure CLI 経由でのインテグレーション でセットアップ手順を参照してください。
注 : Azure でアプリ登録を作成するときに、管理グループレベルで読み取り権限を割り当てることで、複数のサブスクリプションを監視し、管理グループ内の新しいサブスクリプションを自動的に監視することができます。
以下の手順に従って、Terraform を使ってインテグレーションをデプロイします。
Datadog Terraform プロバイダー を構成し、Terraform の構成で Datadog API と対話するように設定します。
以下の例を基本テンプレートとして、Terraform のコンフィギュレーションファイルを設定します。変更を適用する前に、以下のパラメーターを確実に更新してください。
tenant_name
: Azure Active Directory ID。client_id
: Your Azure application (client) ID.client_secret
: Your Azure web application secret key.さらなる使用例やオプションパラメーターの全リスト、Datadog の追加リソースについては、Terraform レジストリの Datadog Azure インテグレーションリソース ページを参照してください。
Copy
resource "datadog_integration_azure" "sandbox" {
tenant_name = "<AZURE_TENANT_NAME>"
client_id = "<AZURE_CLIENT_ID>"
client_secret = "<AZURE_CLIENT_SECRET_KEY>"
}
terraform apply
を実行します。データが収集され始めるまで最大 10 分間待ち、すぐに使える Azure 概要ダッシュボードを表示して、Azure リソースから送信されたメトリクスを確認します。複数のサブスクリプションまたはテナントの管理 複数のサブスクリプションまたはテナントにまたがって Terraform リソースを管理するために、エイリアスを持つ複数の provider ブロックを使用できます。詳しくは Provider Configuration をお読みください。
インテグレーションステータスの監視 インテグレーションが構成されると、Datadog は Azure API への連続した一連のコールを実行し始め、Azure 環境から重要な監視データを収集します。これらのコールは、時々エラーを返します (例えば、提供された資格情報が期限切れの場合など)。これらのエラーは、Datadog が監視データを収集する能力を阻害またはブロックする可能性があります。
重大なエラーが発生すると、Azure インテグレーションは Datadog イベントエクスプローラーにイベントを生成し、5 分ごとに再パブリッシュします。これらのイベントが検出されたときにトリガーし、適切なチームに通知するイベントモニターを構成することができます。
Datadog は、始めるためのテンプレートとして使用できる推奨モニターを提供します。推奨モニターを使用するには、
Datadog で、Monitors -> New Monitor と進み、Recommended Monitors タブを選択します。 [Azure] Integration Errors
というタイトルの推奨モニターを選択します。検索クエリまたはアラート条件に必要な修正を加えます。デフォルトでは、モニターは新しいエラーが検出されるたびにトリガーされ、過去 15 分間エラーが検出されなかったときに解決されます。 必要に応じて、通知メッセージと再通知メッセージを更新します。イベント自体には、イベントに関する適切な情報が含まれており、自動的に通知に含まれることに注意してください。これには、範囲、エラー応答、修復のための一般的な手順に関する詳細な情報が含まれます。 Azure のデータ収集に影響を与える問題についてチームにアラートが届くように、好みのチャンネル (メール、Slack、PagerDuty など) を通じて通知の構成 を行います。 Sending logs Azure 環境から Datadog へのログ転送を設定するには、Azure ログガイド を参照してください。
Datadog Azure VM 拡張機能 Terraform を使用して、Datadog Agent 拡張機能を作成および管理することができます。以下の手順で Agent を 1 台のマシンにインストールして構成し、zip 圧縮したコンフィギュレーションファイルを blob storage にアップロードして、Terraform の VM Extension ブロックで参照します。
Agent をインストールします 。任意の Agent 構成 を適用します。 Windows Server 2008、Vista、およびそれ以降では、%ProgramData%\Datadog
フォルダを zip ファイルとして保存します。Linux の場合は、/etc/datadog-agent
フォルダを zip ファイルとして保存します。 blob storage にファイルをアップロードします。 Reference the blob storage URL in the Terraform block with the agentConfiguration
parameter to create the VM extension. Extension settings Azure 拡張機能は、通常の設定と保護された設定の両方を受け入れることができます。
通常の設定は以下の通りです。
変数 タイプ 説明 site
文字列 Datadog インテークサイトを設定します。例: SITE=
agentVersion
文字列 x.y.z
または latest
というフォーマットの、インストールする Agent のバージョンagentConfiguration
URI (optional) URL to the Azure blob containing the Agent configuration as a zip. agentConfigurationChecksum
文字列 Agent 構成 zip ファイルの SHA256 チェックサム。agentConfiguration
が指定された場合、必須です。
保護された設定は以下の通りです。
変数 タイプ 説明 api_key
文字列 Datadog API キーを構成ファイルに追加します。
Note : If agentConfiguration
and api_key
are specified at the same time, the API key found in the agentConfiguration
takes precedence.
resource "azurerm_virtual_machine_extension" "example" {
name = "DDAgentExtension"
virtual_machine_id = azurerm_virtual_machine.example.id
publisher = "Datadog.Agent"
type = "DatadogWindowsAgent"
type_handler_version = "2.0"
settings = <<SETTINGS
{
"site":"<DATADOG_SITE>"
}
SETTINGS
protected_settings = <<PROTECTED_SETTINGS
{
"api_key": "<DATADOG_API_KEY>"
}
PROTECTED_SETTINGS
}
resource "azurerm_virtual_machine_extension" "example" {
name = "DDAgentExtension"
virtual_machine_id = azurerm_virtual_machine.example.id
publisher = "Datadog.Agent"
type = "DatadogLinuxAgent"
type_handler_version = "2.0"
settings = <<SETTINGS
{
"site":"<DATADOG_SITE>"
}
SETTINGS
protected_settings = <<PROTECTED_SETTINGS
{
"DATADOG_API_KEY": "<DATADOG_API_KEY>"
}
PROTECTED_SETTINGS
利用可能な引数の詳細については、Terraform レジストリの Virtual Machine Extension リソース を参照してください。