Azure Monitor (プレビュー) の Log Analytics ワークスペースでカスタム フィールドを作成する

重要

新しいユーザー設定フィールドの作成は、2023 年 3 月 31 日以降無効になります。 カスタム フィールドの機能は非推奨となり、既存のカスタム フィールドは 2026 年 3 月 31 日までに機能しなくなります。 ログ レコードを解析し続けるために、取り込み時の変換に移行する必要があります。

現在、新しいカスタム フィールドを追加したときに、データの表示が開始されるまでに最大 7 日かかる場合があります。

Azure Monitor のカスタム フィールド機能を使用すると、独自の検索可能なフィールドを追加して、ご自身の Log Analytics ワークスペースの既存のレコードを拡張できます。 カスタム フィールドは、同じレコードの他のプロパティから抽出したデータから自動的に設定されます。

Diagram shows an original record associated with a modified record in a Log Analytics workspace with property value pairs added to the original property in the modified record.

たとえば、以下のサンプル レコードには、イベントの説明に埋もれている有益なデータがあります。 このデータを別のプロパティに抽出すると、並べ替えやフィルター処理などに使用できます。

Screenshot of sample extract.

Note

プレビュー版では、カスタム フィールド数の上限はワークスペース内で 500 個です。 この機能が一般公開されるときには、この上限は上がる予定です。

カスタム フィールドを作成する

カスタム フィールドを作成する場合、その値を設定するために使用するデータを Log Analytics が認識する必要があります。 Log Analytics は、FlashExtract という Microsoft Research のテクノロジを使用して、そのデータをすばやく特定しています。 ユーザーが明示的な指示をしなくても、Azure Monitor はユーザーが提供した例から抽出するデータを学習します。

以下のセクションでは、カスタム フィールドを作成する手順について説明します。 サンプル抽出のチュートリアルについては、この記事の末尾を参照してください。

Note

カスタム フィールドは、指定した条件に一致するレコードが Log Analytics ワークスペースに追加されるときに設定されます。このため、カスタム フィールドの作成後に収集されたレコードに限り、カスタム フィールドが表示されます。 カスタム フィールドの作成時にデータ ストアに既にあったレコードには、カスタム フィールドは追加されません。

手順 1: カスタム フィールドを追加するレコードを指定する

最初の手順は、カスタム フィールドを追加するレコードの指定です。 まず標準のログ クエリから始めて、Azure Monitor の学習元になる、モデルとして動作するレコードを選択します。 データをカスタム フィールドに抽出しようとすると、フィールド抽出ウィザードが開きます。この画面で、条件を検証し、調整します。

  1. [ログ] に移動し、クエリを使用してカスタム フィールドがあるレコードを取得します。
  2. Log Analytics でカスタム フィールドを設定するデータを抽出する際に、モデルとして機能するために使用するレコードを選択します。 このレコードから抽出するデータを特定すると、Log Analytics はその情報を使用して、すべての同様のレコードのカスタム フィールドを設定します。
  3. レコードを右クリックし、[からフィールドを抽出] を選択します。
  4. フィールドの抽出ウィザードが開き、選択したレコードが [メインの例] 列に表示されます。 選択したプロパティと同じ値を持つ、そのレコードのカスタム フィールドが定義されます。
  5. 目的の選択内容ではない場合、追加のフィールドを選択して条件を絞り込みます。 条件のフィールド値を変更するには、取り消して、目的の条件と一致する別のレコードを選択する必要があります。

手順 2: 初回の抽出を実行する

カスタム フィールドを追加するレコードを特定したら、抽出するデータを特定します。 Log Analytics は、その情報を使用して、似たレコード内の似たパターンを特定します。 その後に、結果を検証して、Log Analytics で分析に使用する詳細情報を指定します。

  1. カスタム フィールドを設定するサンプル レコードのテキストを選択します。 フィールドの名前とデータ型を指定し、初回の抽出を実行するためのダイアログ ボックスが表示されます。 _CF という文字が自動的に付加されます。
  2. [抽出] をクリックして、収集したレコードの分析を実行します。
  3. [概要][検索結果] セクションには抽出結果が表示されるので、正確さを確認できます。 [概要] には、レコードの特定に使用される条件と、特定された各データ値の件数が表示されます。 [検索結果] には、条件と一致するレコードの詳細な一覧が表示されます。

手順 3: 抽出の正確さを確認し、カスタム フィールドを作成する

初回の抽出を実行すると、既に収集されたデータに基づいて結果が Log Analytics に表示されます。 結果が正確と判断したら、追加作業なしでカスタム フィールドを作成できます。 結果が正確ではない場合、Log Analytics がロジックを改善できるように結果を調整することができます。

  1. 初回の抽出の値が正しくない場合、不正確なレコードの横にある [編集] アイコンをクリックし、 [この選択内容の変更] を選択して選択内容を変更します。
  2. エントリは、 [メインの例][追加の例] セクションにコピーされます。 この選択内容を調整することで、Log Analytics が正しい選択内容を理解しやすくなります。
  3. [抽出] をクリックし、この新しい情報を使用してすべての既存のレコードを評価します。 この新しい情報に基づいて、変更したレコード以外のレコードの結果を変更できます。
  4. 抽出のすべてのレコードによって、新しいカスタム フィールドを設定できるデータが正しく特定されるまで、修正を加え続けます。
  5. 結果に満足したら、 [抽出の保存] をクリックします。 カスタム フィールドは定義されましたが、まだレコードには追加されません。
  6. 指定した条件に一致する新しいレコードが収集されるまで待ってから、ログ検索を再実行してください。 新しいレコードにはカスタム フィールドがあります。
  7. 他のレコードのプロパティと同様に、カスタム フィールドを使用します。 カスタム フィールドを使用してデータを集計してグループ化できます。また、カスタム フィールドを使用して新しい分析を行うこともできます。

カスタム フィールドを削除する

カスタム フィールドを削除するには、2 つの方法があります。 1 つは、上記のように完全な一覧を表示するときの各フィールドの [削除] オプションです。 もう 1 つは、レコードを取得し、フィールドの左側にあるボタンをクリックする方法です。 メニューには、カスタム フィールドを削除するオプションが表示されます。

サンプルのチュートリアル

次のセクションでは、カスタム フィールドの作成例を段階的に説明します。 この例では、サービスの変化する状態を示す Windows イベントのサービス名を抽出します。 これは、サービス コントロール マネージャーによって Windows コンピューターでシステム起動時に作成されるイベントに依存します。 この例に従うには、 システム ログの情報イベントを収集する必要があります

Service Control Manager からイベント ID が 7036 のすべてのイベント (サービスの開始または停止を示すイベント) を返すために、ここでは次のクエリを入力します。

Screenshot showing a query for an event source and ID.

次に、イベント ID 7036 のレコードを右クリックし、[フィールドを `イベント` から抽出する] を選択します。

Screenshot showing the Copy and Extract fields options, which are available when you right-click a record from the list of results.

フィールド抽出ウィザードが開き、[メインの例] 列の [EventLog] フィールドと [EventID] フィールドが選択されています。 これは、システム ログからイベント ID が 7036 のイベントに対してカスタム フィールドが定義されることを示します。 これで十分なので、他のフィールドは選択する必要がありません。

Screenshot of main example.

[RenderedDescription] プロパティのサービス名を選択し、 [サービス] を使用してサービス名を指定します。 カスタム フィールド名は Service_CF になります。 ここでのフィールドの種類は文字列なので、変更する必要はありません。

Screenshot of Field Title.

サービス名が正しく指定されたレコードと、指定されていないレコードがあります。 [検索結果] は、 [WMI Performance Adapter] の名前の一部が選択されなかったことを示しています。 [概要] では、Windows Modules Installer ではなく Modules Installer を検出したレコードが 1 つあることが示されています。

Screenshot showing portions of the service name highlighted in the Search Results pane and one incorrect service name highlighted in the Summary.

まず WMI Performance Adapter レコードから始めます。 そのレコードの編集アイコンをクリックし、 [この選択内容の変更] をクリックします。

Screenshot of modify highlight.

WMI という単語を含むようにこの選択内容を広げて、抽出を再実行します。

Screenshot of additional example.

WMI Performance Adapter のエントリが修正されたことを確認し、Log Analytics にもその情報が使用され、Windows Module Installer のレコードが修正されたことを確認できます。

Screenshot showing the full service name highlighted in the Search Results pane and the correct service names highlighted in the Summary.

これで、Service_CF が作成されているものの、どのレコードにも追加されていないことを検証するクエリを実行できるようになりました。 これは、カスタム フィールドが既存のレコードに対して動作しないことが原因です。そのため、新しいレコードが収集されるのを待つ必要があります。

Screenshot of initial count.

ある程度時間が経ち、新しいイベントが収集されると、その条件に一致するレコードに Service_CF フィールドが追加されたことを確認できます。

Final results

他のレコードのプロパティと同様に、カスタム フィールドを使用できるようになります。 それを説明するために、新しい Service_CF フィールドでグループ化し、最もアクティブなサービスを調べるクエリを作成します。

Screenshot of group by query.

次のステップ

  • 基準となるカスタム フィールドを使用してクエリを作成するためのログ クエリについて学習します。
  • カスタム フィールドを使用して解析対象のカスタム ログ ファイルを監視します。