チュートリアル: Azure ポータルを使用して Azure Cosmos DB ワークスペース データに変換を追加する方法

このチュートリアルでは、Azure ポータルを使用して、ワークスペース データ収集規則 (DCR) でのサンプル 変換の構成について説明します。

Log Analyticsを有効にするためのコストを向上させるために、Log Analytics リソースにデータ収集ルールと変換を追加して列を除外し、返される結果の数を減らし、データが宛先に送信される前に新しい列を作成できるようになりました。

ワークスペース変換は、ワークスペース DCR と呼ばれるワークスペースの 1 つの DCR にまとめて格納されます。 各変換は、特定のテーブルに関連付けられます。 変換は、DCR を使用していないワークフローからこのテーブルに送信されるすべてのデータに適用されます。

このチュートリアルでは、Azure portal を使って、ワークスペース変換を構成します。 Azure Resource Manager テンプレートと REST API を使用した同じチュートリアルについては、「Tutorial: リソース マネージャー テンプレートを使用してAzure Monitorするワークスペース データ収集ルールに変換を追加するを参照してください。

このチュートリアルでは、以下の内容を学習します。

  • Log Analytics ワークスペース内のテーブルの workspace 変換を構成します。
  • ワークスペース変換のログ クエリを記述します。

Prerequisites

このチュートリアルを完了するには、次のものが必要です。

チュートリアルの概要

このチュートリアルでは、特定のレコードをフィルターで除外することで、 CDBDataPlaneRequests テーブルのストレージ要件を減らします。 また、列データの解析中に列の内容を削除して、データの一部をカスタム列に格納します。 CDBDataPlaneRequests テーブルは、ワークスペースでログ分析を有効にすると作成されます。

このチュートリアルでは、Azure ポータルを使用します。このポータルには、インジェスト時変換を作成するプロセスを説明するウィザードが用意されています。 手順を完了すると、ウィザードが表示されます。

  • クエリの他の列でテーブル スキーマを更新します。
  • 既定の DCR がまだワークスペースにリンクされていない場合は、 WorkspaceTransformation DCR を作成し、ワークスペースにリンクします。
  • インジェスト時変換を作成し、DCR に追加します。

クエリ監査ログを有効にする

作業しているテーブルを作成するには、ワークスペースのCDBDataPlaneRequestsを有効にする必要があります。 この手順は、すべてのインジェスト時間変換に必要なわけではありません。 私たちが取り組んでいるサンプルデータを生成するだけです。

変換をテーブルに追加する

テーブルが作成されたので、その変換を作成できます。

  1. Azure ポータルの Log Analytics ワークスペース メニューで、Tables を選択します。 CDBDataPlaneRequestsテーブルを見つけて、「変換の作成」を選択します。

    新しい変換の作成を示すスクリーンショット。

  2. この変換はワークスペースの最初の変換であるため、 ワークスペース変換 DCR を作成する必要があります。 同じワークスペース内の他のテーブルに対して変換を作成すると、同じ DCR に格納されます。 [ 新しいデータ収集ルールの作成] を選択しますワークスペースのサブスクリプションリソース グループは既に設定されています。 DCR の名前を入力し、[ 完了] を選択します。

  3. [次へ] を選択して、テーブルからサンプル データを表示します。 変換を定義すると、結果がサンプル データに適用されます。 このため、実際のデータに適用する前に結果を評価できます。 変換を定義するには、[変換エディター] を選択します。

    ログ テーブルからのサンプル データを示すスクリーンショット。

  4. 変換エディターでは、テーブルに取り込む前にデータに適用される変換を確認できます。 sourceという名前の仮想テーブルは、受信データを表します。このデータには、コピー先テーブル自体と同じ列セットがあります。 変換には、変更なしで source テーブルを返す単純なクエリが最初に含まれています。

  5. クエリを次の例に変更します。

    source
    | where StatusCode != 200 // searching for requests that are not successful
    | project-away Type, TenantId
    

    この変更により、次の変更が行われます。

    • これらのログ エントリは役に立たないため、 CDBDataPlaneRequests テーブル自体のクエリに関連する行が削除され、領域が節約されました。
    • 領域を節約するために、 TenantId 列と Type 列のデータが削除されました。
    • 変換では、クエリで extend 演算子を使用した列の追加もサポートされます。

    Azure ポータルを使用すると、変換の出力により、必要に応じてテーブル スキーマへの変更が開始されます。 列がまだ存在しない場合は、変換出力と一致するように列が追加されます。 テーブルに追加しない列が出力に含まれていないことを確認します。 出力にテーブルに既に含まれている列が含まれていない場合、それらの列は削除されませんが、データは追加されません。

    組み込みテーブルに追加されたカスタム列は、 _CFで終わる必要があります。 カスタム テーブルに追加された列には、このサフィックスは必要ありません。 カスタム テーブルには、 _CLで終わる名前があります。

  6. クエリを変換エディターにコピーし、[ 実行 ] を選択してサンプル データの結果を表示します。 新しい Workspace_CF 列がクエリ内にあることを確認できます。

    変換エディターを示すスクリーンショット。

  7. [適用] を選択して変換を保存し、[次へ] を選択して構成を確認します。 [作成] を選択して、新しい変換で DCR を更新します。

    変換が保存されているスクリーンショット。

変換をテストする

変換が有効になるまで約 30 分間待ってから、テーブルに対してクエリを実行してテストします。 この変換は、変換が適用された後にテーブルに送信されるデータにのみ影響します。

このチュートリアルでは、いくつかのサンプル クエリを実行して、 CDBDataPlaneRequests テーブルにデータを送信します。 変換によってこれらのレコードがフィルター処理されることを確認できるように、 CDBDataPlaneRequests に対するいくつかのクエリを含めます。

Troubleshooting

このセクションでは、発生する可能性があるさまざまなエラー状態とその修正方法について説明します。

Log Analytics の IntelliSense がテーブル内の新しい列を認識しない

IntelliSense を動作させるキャッシュは、更新に最大 24 時間かかる場合があります。

動的列の変換が機能しない

現在、既知の問題は動的列に影響します。 一時的な回避策は、動的列データに対して操作を実行する前に、 parse_json() を使用して明示的に解析することです。

次のステップ