チュートリアル: Azure portal を使ってワークスペース データ収集ルールに変換を追加する

このチュートリアルでは、Azure portal を使って、サンプルの変換をワークスペース データ収集ルール (DCR) に構成する手順について説明します。 Azure Monitor の変換を使うと、宛先への送信前に、受信データをフィルター処理または変更することができます。 ワークスペース変換は、まだ Azure Monitor データ インジェスト パイプラインを使っていないワークフローに対するインジェスト時間の変換をサポートしています。

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

Note

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

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

  • Log Analytics ワークスペースのテーブルに対してワークスペース変換を構成する。
  • ワークスペース変換用のログ クエリを作成する。

前提条件

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

チュートリアルの概要

このチュートリアルでは、特定のレコードをフィルターすることで、LAQueryLogs テーブルのストレージ要件を削減します。 また、列データを解析してカスタム列にデータを格納するときに、列の内容を削除します。 Laquerylogs テーブルは、ワークスペースでログ クエリの監査を有効にしたときに作成されます。 これと同じ基本的なプロセスを使用して、Log Analytics ワークスペースでサポートされているテーブルの変換を作成できます。

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

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

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

作業する LAQueryLogs テーブルを作成するには、ワークスペースでクエリ監査を有効にする必要があります。 このステップは、すべてのインジェスト時間変換には必要ありません。 使用するサンプル データを生成するだけです。

  1. Azure portal の [Log Analytics ワークスペース] メニューで、[診断設定]>[診断設定を追加する] の順に選択します。

    [診断設定] を示すスクリーンショット。

  2. 診断設定の名前を入力します。 監査データが同じワークスペースに保存されるようにワークスペースを選択します。 [監査] カテゴリを選択してから、[保存] を選択して診断設定を保存し、[診断設定] ページを閉じます。

    新しい診断設定を示すスクリーンショット。

  3. [ログ] を選択し、クエリを実行して LAQueryLogs にデータを入力します。 これらのクエリは、監査ログに追加するデータを返す必要はありません。

    サンプル ログ クエリを示すスクリーンショット。

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

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

  1. Azure portal の [Log Analytics ワークスペース] メニューで、[テーブル]を選択します。 LAQueryLogs テーブルを見つけて、[変換の作成] を選択します。

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

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

    新しいデータ収集ルールの作成を示すスクリーンショット。

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

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

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

  5. 次の例のようにクエリを修正します。

    source
    | where QueryText !contains 'LAQueryLogs'
    | extend Context = parse_json(RequestContext)
    | extend Workspace_CF = tostring(Context['workspaces'][0])
    | project-away RequestContext, Context
    

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

    • これらのログ エントリは役に立たないため、スペースを節約するために LAQueryLogs テーブル自体のクエリに関連する行が削除されます。
    • クエリされたワークスペースの名前の列が追加されます。
    • RequestContext 列のデータは、スペースを節約するために削除されました。

    注意

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

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

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

    変換エディターが表示されたスクリーンショット。

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

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

変換をテストする

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

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

トラブルシューティング

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

Log Analytics の IntelliSense でテーブルの新しい列が認識されない

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

動的列の変換が機能していません

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

次のステップ