- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
このガイドでは、Datadog の Azure インテグレーションを構成するユーザー向けの詳細情報とリファレンスアーキテクチャ、および特定のユースケース向けの代替構成オプションを提供します。
本ガイドの図は、Azure インテグレーションページ のステップに従った場合の構成プロセスと結果を視覚的に表したものです。このガイドでは、Datadog と Azure 環境との相互作用の詳細な概要を提供し、セキュリティ、コンプライアンス、ガバナンスに関する一般的な質問に回答します。
Azure インテグレーションページ でドキュメント化されているセットアッププロセスは、推奨手順であり、大多数のユーザーにとって理想的な構成になります。特定のユースケースでは、このドキュメントに記載されている別の構成オプションが望ましい場合があります。パフォーマンス、機能、または管理の容易さにおけるトレードオフについては、必要に応じて概説します。
Datadog の Azure インテグレーションを有効にすると、Datadog は以下のことが可能になります。
使用される Azure API と収集されるデータは、標準バージョンまたは Azure Native バージョンのどちらのインテグレーションを使用しても同一です。
すべての Datadog サイトで利用可能です
以下の手順に従って、標準の Azure インテグレーションを有効にします。
Monitoring Reader
ロール) を与えます。以下の図は、メインドキュメントで説明されている Azure インテグレーション構成のプロセスと結果のアーキテクチャの概要を示しています。
これが完了すると、自動的にデータ収集が開始されます。Datadog に入力されたアプリ登録情報により、Datadog は Azure Active Directory (AD) からトークンをリクエストします。Datadog は、このトークンを Azure の各種 API への API 呼び出しの認可として使用し、提供されたスコープ内のリソースを検出し、データを収集します。この継続的なプロセスは、デフォルトでは 2 分間隔で実行され、Azure 環境からデータを検出・収集するために使用されます。データ収集プロセスを以下に示します。
Datadog US3 サイトでのみ利用可能です
アカウントのリンク: Azure の Datadog リソースは、Azure 環境と Datadog アカウントをリンクします。このリンクは、他の Datadog サイトで利用可能な標準の Azure インテグレーションと同じデータ収集を可能にしますが、認証メカニズムが異なります。そのアクセスは、ユーザーが作成し構成した App Registration ではなく、Azure の Datadog リソースに関連付けられた System Managed Identity を使用して割り当てられます。
権限: Monitoring Reader
ロールの割り当ては Datadog リソースの作成時に自動的に行われ、Datadog リソースの親サブスクリプションにスコープされます。Datadog リソースにモニタリング用のサブスクリプションを追加すると、このスコープは自動的に Managed Identity 用に更新されます。
以下の手順に従って、Azure Native インテグレーションを有効にします。
外部 ISV として、このアクセスをリクエストし、使用するには、さらに別のプロセスが必要です。
以下の図は、Azure Native インテグレーション構成のプロセスと結果のアーキテクチャの概要を示しています。
これが完了すると、データ収集が自動的に開始されます。Datadog は、以下の図のように、Azure 環境からメトリクスを継続的に検出して収集します。
Datadog では、標準インテグレーションと Azure Native インテグレーションのどちらを使用する場合でも、デフォルト構成を使用することを強く推奨しています。これは、インテグレーションが継続的に強化され、新しい差別化された洞察を提供し、データ収集のパフォーマンスと信頼性が向上しているためです。メトリクス収集のより制限的な構成では、これらの改善が阻害される可能性があります。
以下のセクションでは、アクセス制限のオプションとその意味について詳しく説明します。
サブスクリプションレベル以下の Datadog アクセスを以下で割り当てることができます。
注: このアクセスは、標準の Azure インテグレーションでは App Registration を通じて、Azure ネイティブインテグレーションでは Datadog リソースに関連付けられた System Managed Identity を通じて管理されます。
サブスクリプションレベル以下のアクセススコープを更新した場合でも、Datadog はリソースとその利用可能なメトリクスを検出し、指定されたスコープ内で動的に取り込みます。
Datadog のアクセスをサブスクリプションレベル以下に制限することで、以下のようになります。
Monitoring Reader ロールは、モニターリソースとサブスクリプションレベルのデータへの広範なアクセスを提供します。この読み取り専用アクセスにより、Datadog は既存の機能と新しい機能の両方で最高のユーザーエクスペリエンスを提供することができます。Azure AD ロールは、このアクセスをテナントレベルの Azure AD リソースに拡張することができます。
Monitoring Reader ロール以下のアクセスを制限することの意味は以下の通りです。
Azure AD のロールを制限または省略することの影響は次のとおりです。
すべての Datadog サイトで利用可能です
下図は、Azure インテグレーションページのログ収集セクションに記載されている、Azure から Datadog へのログ転送のリファレンスアーキテクチャです。
上記のデフォルトアーキテクチャは、ほとんどのユーザーに適しています。Azure 環境の規模と構成、および組織がこのアーキテクチャを実装するために使用する方法に応じて、関連する可能性のある追加の考慮事項について、以下のセクションで詳しく説明します。
メインの Azure ログ収集セクション の Deploy to Azure ボタンは、Event Hub とフォワーダー関数のペアを作成するためのテンプレートを提供します。このテンプレートを使用して直接デプロイすることに加えて、独自のインフラストラクチャーをコードとしてデプロイするための出発点として、基礎となる ARM テンプレートを使用することができます。
これらのテンプレートは、アクティビティログ用のオプションの診断設定を除いて、診断設定を追加しません。Datadog は、リソースログについては、ARM テンプレートや Terraform を利用して、プログラムでリソースに診断設定を追加することを推奨します。これらの診断設定は、リソースログを Datadog に送信する必要があるすべてのリソースに追加する必要があります。
診断設定は、リソースと同じリージョン内の Event Hub にのみリソースログを送信できます。リソースログを Datadog に送信したいリソースを含む各リージョンに、Event Hub とフォワーダー関数のペアを追加します。
ただし、診断設定は、リソースと同じサブスクリプション内の Event Hub にログを送信することに限定されません。Azure テナント内に複数のサブスクリプションがある場合、同じリージョン内で単一の Event Hub とフォワーダー関数を共有できます。
ログの量が増加すると、ボトルネックが発生することがあります。大量のログを送信する場合は、パーティションを追加するか、Premium または Dedicated ティアの使用を検討するとよいでしょう。 ログ量が特に多い場合は、同じリージョン内に Event Hub とフォワーダー関数のペアを追加し、トラフィックを分割することを検討できます。
Datadog US3 サイトでのみ利用可能です
以下の図は、Azure Native インテグレーションログ転送構成のプロセスと結果のアーキテクチャの概要を示しています。
Azure Native インテグレーションでは、Azure リソースやアクティビティログの Datadog への転送を実装するために、Datadog リソースの外で何かを構成する必要はありません。診断設定は、Datadog リソースで指定されたタグルールだけを使用して、構成に合わせて自動的に追加または削除されます。
注: 以下のように、フィルターなしでリソースログを有効にすると、すべてのリソースログを送信できます。
Datadog リソースによって作成された診断設定は、すべてのログカテゴリーを含み、Send to Partner Solution
で構成され、発信元の Datadog リソースにログを送り返します。これらは、DATADOG_DS_V2_<UNIQUE_IDENTIFIER>
という命名形式に従っています。
リソースの削除を含む手動による変更は、数分以内に元に戻されます。
Datadog リソースによって作成された診断設定の例を以下に示します。
Datadog リソースでログを有効にするためのワンクリックボタンは、診断設定を追加するプロセスを自動化します。場合によっては、Azure Native インテグレーションによる自動ログ転送機能を利用しながら、診断設定を組織で管理・構成したい場合もあります。
手動で作成された診断設定は、Datadog リソースのログ設定に影響されず、Datadog リソースで指定されたタグルールに基づいて削除されません。手動でログ転送を行うために、Datadog リソースでリソース ログを有効にする必要はありません。ただし、ログ転送に使用する Datadog リソースが無効な状態であってはなりません。
診断設定を手動で管理する理由には、以下のようなものがあります。
コードポリシーとしてのインフラストラクチャー すべてのリソースを決定論的に作成および管理する必要がある、IaC に関する厳格な内部ポリシー (たとえば、Datadog リソースによる診断設定の自動作成によって、希望する状態と実際の状態との間に解決不能な競合が発生する場合など)。
リソースログカテゴリーの制限 Datadog リソースによって自動的に作成される診断設定には、すべてのログカテゴリーが含まれるため、これらのカテゴリーのサブセットを指定するには、診断設定を自分で作成する必要があります。 注: 除外フィルターを使用して、Datadog への取り込み時にこれらのログのインデックス化を除外することもできます。
クロスサブスクリプションログ転送
クロスサブスクリプションログ転送は、特定のサブスクリプションからログを送信し、他のデータを送信しない場合に便利です。クロスサブスクリプションのログ転送を有効にするには、診断設定を作成する前に、ログを送信する各サブスクリプションに Microsoft.Datadog
リソースプロバイダーを登録します。ログ転送に使用される Datadog リソースは、自身のサブスクリプションと、監視リソースブレードを介して構成されたサブスクリプションから、メトリクスとデータを収集します。
テスト Datadog にログのサンプルを送信することは、テストやその他の調査に役立ちます。このような場合、更新されたタグや設定から自動的に作成されるのを待つよりも、手動で診断設定を追加した方が早い場合があります。
このアーキテクチャは、オプションのクロスサブスクリプションのセットアップを含め、以下の通りです。
お役に立つドキュメント、リンクや記事: