チュートリアル: 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 ワークスペースのテーブルに対してワークスペース変換を構成する。
- ワークスペース変換用のログ クエリを作成する。
前提条件
このチュートリアルを完了するには、次のものが必要です。
- 少なくとも共同作成者権限がある Log Analytics ワークスペース。
- ワークスペースでDCR オブジェクトを作成するためのアクセス許可。
- データが既にあるテーブル。
- テーブルをワークスペース変換 DCR にリンクすることはできません。
チュートリアルの概要
このチュートリアルでは、特定のレコードをフィルターすることで、LAQueryLogs
テーブルのストレージ要件を削減します。 また、列データを解析してカスタム列にデータを格納するときに、列の内容を削除します。 Laquerylogs テーブルは、ワークスペースでログ クエリの監査を有効にしたときに作成されます。 これと同じ基本的なプロセスを使用して、Log Analytics ワークスペースでサポートされているテーブルの変換を作成できます。
このチュートリアルでは、Azure portal を使用して、インジェスト時間変換を作成するプロセスの手順を説明するウィザードを提供します。 手順を完了すると、ウィザードが次のように表示されます。
- クエリから他の列を使用してテーブル スキーマを更新します。
WorkspaceTransforms
DCR を作成し、既定の DCR がまだワークスペースにリンクされていない場合は、それをワークスペースにリンクします。- インジェスト時間変換を作成し、DCR に追加します。
クエリ監査ログを有効にする
作業する LAQueryLogs
テーブルを作成するには、ワークスペースでクエリ監査を有効にする必要があります。 このステップは、すべてのインジェスト時間変換には必要ありません。 使用するサンプル データを生成するだけです。
Azure portal の [Log Analytics ワークスペース] メニューで、[診断設定]>[診断設定を追加する] の順に選択します。
診断設定の名前を入力します。 監査データが同じワークスペースに保存されるようにワークスペースを選択します。 [監査] カテゴリを選択してから、[保存] を選択して診断設定を保存し、[診断設定] ページを閉じます。
[ログ] を選択し、クエリを実行して
LAQueryLogs
にデータを入力します。 これらのクエリは、監査ログに追加するデータを返す必要はありません。
変換をテーブルに追加する
テーブルが作成されたので、それに対して変換を作成できます。
Azure portal の [Log Analytics ワークスペース] メニューで、[テーブル]を選択します。
LAQueryLogs
テーブルを見つけて、[変換の作成] を選択します。これはワークスペースの最初の変換であるため、ワークスペース変換の DCR を作成する必要があります。 同じワークスペースで他のテーブルの変換を作成すると、それらはこの同じ DCR に格納されます。 [新しいデータ収集ルールの作成] を選択します。 [サブスクリプション] と [リソース グループ] には、ワークスペースの値が既に設定されています。 DCR の名前を入力し、[完了] を選択します。
[次へ] を選択して、テーブルからサンプル データを表示します。 変換を定義すると、結果がサンプル データに適用されます。 このため、実際のデータに適用する前に結果を評価できます。 変換を定義するには、[変換エディター] を選択します。
変換エディターでは、データがテーブルにインジェストされる前にデータに適用される変換を確認できます。 受信データは、変換先テーブル自体と同じ列のセットを持つ
source
という名前の仮想テーブルで表されます。 変換には、最初は変更なしでsource
テーブルを返す単純なクエリが含まれています。次の例のようにクエリを修正します。
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
で終わります。- これらのログ エントリは役に立たないため、スペースを節約するために
クエリを変換エディターにコピーし、[実行] を選択してサンプル データの結果を表示します。 新しい
Workspace_CF
列がクエリに含まれていることを確認できます。[適用] を選択して変換を保存し、[次へ] を選択して構成を確認します。 [作成] を選択して、新しい変換で DCR を更新します。
変換をテストする
変換が有効になるまで約 30 分待ってから、テーブルに対してクエリを実行してテストします。 変換が適用された後にテーブルに送信されたデータのみが影響を受けます。
このチュートリアルでは、いくつかのサンプル クエリを実行して、LAQueryLogs
テーブルにデータを送信します。 変換によってこれらのレコードがフィルター処理されることを確認できるように、LAQueryLogs
に対するクエリをいくつか含めます。 出力には新しい Workspace_CF
列が含まれるようになり、LAQueryLogs
のレコードはありません。
トラブルシューティング
このセクションでは、発生する可能性があるさまざまなエラー状態とその修正方法について説明します。
Log Analytics の IntelliSense でテーブルの新しい列が認識されない
IntelliSense を動作させるキャッシュは、更新に最大 24 時間かかる場合があります。
動的列の変換が機能していません
既知の問題は現在、動的列に影響を与えます。 一時的な回避策は、動的列データに対して操作を実行する前に、parse_json()
を使用して明示的に解析することです。