Azure Monitor でのデータ収集ルール (DCR)
データ収集ルールは、Azure Monitor 向けのレガシ データ収集方法を改善する、ETL に似たデータ収集プロセスの一部です。 このプロセスでは、一般的なデータ インジェスト パイプラインや、Azure Monitor パイプラインがすべてのデータ ソースに使用され、、また、他の方法よりも管理しやすくスケーラブルで標準の構成方法が使用されます。 DCR ベースのデータ収集の具体的な利点としては、次のようなものがあります。
- さまざまなデータ ソースを構成するための一貫した方法。
- 変換を適用して、受信データを格納する前にフィルター処理または変更する機能。
- コードとしてのインフラストラクチャと DevOps プロセスをサポートするスケーラブルな構成オプション。
- ハイエンドのスケーラビリティ、階層化されたネットワーク構成、定期的な接続を提供する、独自の環境でのエッジ パイプラインのオプション。
Azure Monitor パイプラインを使用したデータ収集を次の図に示します。 各コレクション シナリオは DCR で定義され、データの処理方法と送信先が指定されます。 Azure Monitor パイプライン自体は、次の 2 つのコンポーネントで構成されます。
- クラウド パイプラインは、Azure サブスクリプションで自動的に使用可能になる、Azure Monitor のコンポーネントです。 このために構成は必要なく、Azure portal に表示されることもありません。 これは、Azure Monitor に送信されるデータの処理パスを表します。 DCR では、受信したデータをクラウド パイプラインが処理する方法についての指示を提供します。
- エッジ パイプラインは、Azure Monitor パイプライン をユーザー独自のデータ センターに拡張する、オプションのコンポーネントです。 これを使うことで大規模な収集が可能になり、クラウド パイプラインに配信する前にテレメトリ データのルーティングが行なえます。 このコンポーネントの値の詳細については、「エッジ パイプライン」を参照してください。
データ収集ルールを使用する
データ収集ルール (DCR) は Azure に保存されているため、他の Azure リソースと同様に一元的なデプロイと管理ができます。 これらは指示のセットであり、Azure Monitor パイプラインを使用したデータ収集をサポートします。 さまざまなデータ収集シナリオを定義およびカスタマイズするための一貫性のある一元的な方法を提供します。 シナリオに応じて、DCR では、収集する必要があるデータ、そのデータを変換する方法、それをどこに送信するかなどの詳細を指定します。
次のセクションで説明するように、特定のデータ収集シナリオ向けに DCR を指定するには、基本的な方法が 2 つ存在します。
データ収集ルールの関連付け (DCRA)
データ収集ルールの関連付け (DCRA) は、DCR をモニター対象のリソースに関連付けるために使用されます。 これは多対多リレーションシップであり、1 つの DCR を複数のリソースに関連付けたり、1 つのリソースを複数の DCR に関連付けたりできます。 これにより、さまざまな要件を持つリソースのセット間で、モニターを維持するための戦略を策定できます。
たとえば次の図では、仮想マシンで実行されている Azure Monitor (AMA) エージェントの、データ収集を示しています。 エージェントは、インストールされると Azure Monitor に接続し、それに関連付けられている DCR を取得します。 このシナリオでは、DCR は、収集するイベントとパフォーマンス データを指定します。エージェントはこれを使用してマシンから収集して Azure Monitor に送信するデータを決定します。 データが配信されると、データ パイプラインは、DCR で指定された変換を実行してデータをフィルター処理および変更した後で、指定されたワークスペースとテーブルにそのデータを送信します。
直接インジェスト
直接インジェストでは、受信データを処理するために特定の DCR が指定されます。 たとえば、次の図では、ログ インジェスト API を使用して、カスタム アプリケーションからのデータを表示しています。 各 API 呼び出しでは、DCR を指定して、それによりデータを処理します。 この DCR は、受信データの構造を把握し、データがターゲット テーブルの形式になるようにするための変換を含み、変換したデータを送信するワークスペースとテーブルを指定します。
変換
"変換" を使用すると、受信データが Azure Monitor に保存される前に、データを変更できます。 ユーザーは、不要なデータをフィルター処理して取り込みのコストを削減したり、Log Analytics ワークスペースに保持すべきではない機密データを削除したり、データを書式設定して宛先のスキーマと一致させたりできます。 この変換処理は、クラウド パイプラインで実行される DCR が定義する KQL クエリです。
エンドポイント
クラウド パイプラインに送信されるデータは、特定のエンドポイントの URL に送信される必要があります。 これはシナリオによって、パブリック エンドポイント、DCR 自体によって提供されるエンドポイント、またはユーザーが Azure サブスクリプションで作成するデータ収集エンドポイント (DCE) のどれかになります。 さまざまなデータ収集シナリオで使用されるエンドポイントの詳細については、「Azure Monitor のデータ収集エンドポイント」を参照してください。
エッジ パイプライン
エッジ パイプラインは、Azure Monitor パイプラインを、ユーザー独自のデータ センターに拡張します。 これにより、テレメトリ データが Azure クラウドの Azure Monitor に配信される前に、大規模な収集とルーティングが可能になります。
Azure Monitor エッジ パイプラインの具体的なユース ケースは次のとおりです。
- スケーラビリティ。 エッジ パイプラインでは、Azure Monitor エージェントなどの他の収集方法によって制限される可能性がある監視対象リソースからの大量のデータを処理できます。
- 定期的な接続性。 一部の環境では、クラウドへの接続の信頼性が低い場合や、接続のない期間が予期せず長くなる場合があります。 エッジ パイプラインでは、データをローカルにキャッシュし、接続が復元されたときにクラウドと同期できます。
- レイヤード ネットワーク。 環境によっては、ネットワークがセグメント化され、データをクラウドに直接送信できない場合があります。 エッジ パイプラインを使用すると、クラウドにアクセスできない監視対象リソースからデータを収集し、クラウド内の Azure Monitor への接続を管理できます。
データ収集シナリオ
次の表は、DCR と Azure Monitor パイプラインの使用を現在サポートしている、データ収集シナリオについて説明しています。 この構成の詳細については、各エントリのリンク先を参照してください。
シナリオ | 説明 |
---|---|
仮想マシン | Azure Monitor エージェント を VM にインストールし、クライアント オペレーティング システムから収集するイベントとパフォーマンス データを定義する 1 つ以上の DCR に関連付けます。 この構成は Azure portal を使用して実行できるため、DCR を直接編集する必要はありません。 Azure Monitor エージェントを使用してデータを収集するに関する記事をご覧ください。 |
仮想マシンで VM Insights を有効にすると、VM クライアントからのテレメトリに Azure Monitor エージェントがデプロイされます。 事前定義された一連のパフォーマンス データを収集するために DCR が自動的に作成されます。 「VM insights の有効化の概要」を参照してください。 |
|
Container insights | Kubernetes クラスターに対して Container Insights を有効にすると、クラスターから Log Analytics ワークスペースにログを送信するために、Azure Monitor エージェントのコンテナー化されたバージョンがデプロイされます。 DCR は自動的に作成されますが、コレクション設定をカスタマイズするために変更が必要な場合があります。 データ収集ルールを使用して Container Insights でデータ収集を構成する方法に関する記事を参照してください。 |
ログ インジェスト API | ログ インジェスト API を使用すると、任意の REST クライアントから Log Analytics ワークスペースにデータを送信できます。 API 呼び出しは、データを受け入れる DCR を指定し、DCR のエンドポイントを指定します。 この DCR は、受信データの構造を把握し、データがターゲット テーブルの形式になるようにするための変換を含み、変換したデータを送信するワークスペースとテーブルを指定します。 「Azure Monitor のログ インジェスト API」を参照してください。 |
Azure Event Hubs | Azure Event Hubs から Log Analytics ワークスペースにデータを送信します。 DCR は受信ストリームを定義し、変換先のワークスペースとテーブルに合わせてデータを書式設定する変換を定義します。 「チュートリアル: Azure Event Hubs から Azure Monitor ログにイベントを取り込む (パブリック プレビュー)」を参照してください。 |
ワークスペース変換 DCR | ワークスペース変換 DCR は、Log Analytics ワークスペースに関連付けられている特殊な DCR であり、他の方法を使用して収集されるデータに対して変換を実行できるようにします。 ワークスペース用に 1 つの DCR を作成し、1 つ以上のテーブルに変換を追加します。 この変換は、DCR を使用しないメソッド経由でテーブルに送信されるすべてのデータに適用されます。 Azure Monitor のワークスペース変換 DCR に関するページを参照してください。 |
DCR リージョン
データ収集ルールは、Log Analytics ワークスペースと、Azure Government および China クラウドがサポートされるすべてのパブリック リージョンで利用できます。 エアギャップ クラウドはまだサポートされていません。 DCR は、特定のリージョンで作成されて保存され、同じ地域内のペアになっているリージョンにバックアップされます。 このサービスはリージョン内の 3 つの可用性ゾーンすべてにデプロイされます。 このため、これはゾーン冗長サービスとなり、可用性がさらに向上します。
単一リージョン データ所在地は、顧客データを 1 つのリージョンに格納できるようにするプレビュー機能であり、現在は、アジア太平洋地域の東南アジア リージョン (シンガポール) と、ブラジル地域のブラジル南部リージョン (サンパウロ州) でのみ使用できます。 これらのリージョンでは、単一リージョンの保存が既定で有効になっています。
次のステップ
DCR の使用方法の詳細については、次の記事を参照してください。
- DCR の JSON 構造と、さまざまなワークフローに使われるさまざまな要素の説明については、データ収集ルールの構造に関する記事。
- さまざまなデータ収集シナリオのサンプル DCR については、「Azure Monitor でのデータ収集ルール (DCR) のサンプル」。
- さまざまなデータ収集シナリオ用の DCR を作成するさまざまな方法については、「Azure Monitor でデータ収集規則 (DCR) を作成および編集する」。
- 各 DCR に適用される制限については、「Azure Monitor サービスの制限」。