Important
新しいユーザー設定フィールドの作成は、2023 年 3 月 31 日以降無効になります。 カスタム フィールド機能は非推奨になり、既存のユーザー設定フィールドは 2026 年 3 月 31 日までに機能しなくなります。 ログ レコードを解析し続けるために 、インジェスト時変換に移行 する必要があります。
現在、新しいユーザー設定フィールドを追加すると、データの表示が開始されるまでに最大 7 日かかる場合があります。
Azure Monitor の カスタム フィールド 機能を使用すると、独自の検索可能なフィールドを追加することで、Log Analytics ワークスペース内の既存のレコードを拡張できます。 ユーザー設定フィールドは、同じレコード内の他のプロパティから抽出されたデータから自動的に設定されます。
たとえば、次のサンプル レコードでは、イベントの説明に役立つデータが埋め込まれます。 このデータを別のプロパティに抽出すると、並べ替えやフィルター処理などのアクションで使用できるようになります。
注
プレビューでは、ワークスペース内のユーザー設定フィールドは 500 個に制限されています。 この制限は、この機能が一般提供に達すると拡張されます。
ユーザー設定フィールドの作成
ユーザー設定フィールドを作成する場合、Log Analytics は値を設定するために使用するデータを理解する必要があります。 FlashExtract と呼ばれる Microsoft Research のテクノロジを使用して、このデータをすばやく識別します。 Azure Monitor では、明示的な指示を行う必要はなく、指定した例から抽出するデータについて学習します。
次のセクションでは、ユーザー設定フィールドを作成する手順について説明します。 サンプル抽出のチュートリアルについては、「サンプルチュートリアル」を参照 してください。
注
ユーザー設定フィールドは、指定した条件に一致するレコードが Log Analytics ワークスペースに追加されると設定されるため、ユーザー設定フィールドの作成後に収集されたレコードにのみ表示されます。 ユーザー設定フィールドは、作成時にデータ ストアに既に存在するレコードには追加されません。
手順 1: ユーザー設定フィールドを取得するレコードを識別する
最初の手順では、ユーザー設定フィールドを取得するレコードを識別します。 標準のログ クエリから始めて、Azure Monitor が学習するモデルとして機能するレコードを選択します。 ユーザー設定フィールドにデータを抽出することを指定すると、 フィールド抽出ウィザード が開き、条件を検証して絞り込みます。
- [ログ] に移動し、クエリを使用して、ユーザー設定フィールドを取得するレコードを取得します。
- Log Analytics がユーザー設定フィールドにデータを取り込むためのモデルとして使用するレコードを選択します。 このレコードから抽出するデータを特定します。Log Analytics はこの情報を使用して、類似するすべてのレコードのユーザー設定フィールドを設定するロジックを決定します。
- レコードを右クリックし、[ フィールドの抽出] を選択します。
- フィールド抽出ウィザードが開き、選択したレコードがメインの [例] 列に表示されます。 ユーザー設定フィールドは、選択されているプロパティで同じ値を持つレコードに対して定義されます。
- 選択内容が目的とは一致しない場合は、他のフィールドを選択して抽出条件を絞り込みます。 条件のフィールド値を変更するには、抽出条件に一致する別のレコードを取り消して選択する必要があります。
手順 2: 最初の抽出を実行する
ユーザー設定フィールドを取得するレコードを特定したら、抽出するデータを特定します。 Log Analytics では、この情報を使用して、類似レコード内の類似パターンを識別します。 手順 3 では、結果を検証し、Log Analytics がその分析で使用するための詳細を提供できます。
- ユーザー設定フィールドに入力するサンプル レコード内のテキストを強調表示します。 その後、フィールドの名前とデータ型を指定し、最初の抽出を実行するためのダイアログ ボックスが表示されます。 _CF文字は自動的に追加されます。
- [ 抽出 ] をクリックして、収集されたレコードの分析を実行します。
- [概要] セクションと [検索結果] セクションには、抽出の結果が表示されるので、その精度を調べることができます。 概要 には、レコードを識別するために使用される条件と、識別された各データ値の数が表示されます。 検索結果 には、条件に一致するレコードの詳細な一覧が表示されます。
手順 3: 抽出の精度を確認し、ユーザー設定フィールドを作成する
最初の抽出を実行すると、Log Analytics によって、既に収集されているデータに基づいて結果が表示されます。 結果が正確に見える場合は、それ以上の作業なしでユーザー設定フィールドを作成できます。 そうでない場合は、Log Analytics でロジックを改善できるように結果を絞り込むことができます。
- 最初の抽出の値が正しくない場合は、不正確なレコードの横にある [編集] アイコンをクリックし、[ この強調表示を変更 ] を選択して選択内容を変更します。
- エントリは、Main Example の下の [Additional examples]\(追加の例\) セクションにコピーされます。 ここで強調表示を調整して、Log Analytics が行う必要がある選択内容を理解するのに役立ちます。
- この新しい情報を使用して既存のすべてのレコードを評価するには、[ 抽出 ] をクリックします。 この新しいインテリジェンスに基づいて、先ほど変更したレコード以外のレコードの結果を変更できます。
- 抽出内のすべてのレコードが、新しいユーザー設定フィールドにデータを入力するデータを正しく識別するまで、引き続き修正を追加します。
- 結果に問題がなければ、[ 抽出の保存] をクリックします。 ユーザー設定フィールドは定義されましたが、レコードにはまだ追加されません。
- 指定した条件に一致する新しいレコードが収集されるのを待ってから、ログ検索をもう一度実行します。 新しいレコードにはユーザー設定フィールドが必要です。
- 他のレコード プロパティと同様に、ユーザー設定フィールドを使用します。 これを使用してデータを集計およびグループ化し、それを使用して新しい分析情報を生成することもできます。
ユーザー設定フィールドの削除
ユーザー設定フィールドを削除するには、2 つの方法があります。 1 つ目は、「手順 2: 最初の抽出を実行する」で説明されているように、完全なリストを表示するときの各フィールドの [削除] オプションです。 もう 1 つの方法は、レコードを取得し、フィールドの左側にあるボタンをクリックする方法です。 メニューには、ユーザー設定フィールドを削除するオプションがあります。
サンプルチュートリアル
次のセクションでは、ユーザー設定フィールドを作成する完全な例について説明します。 次の使用例は、サービスの状態の変化を示す Windows イベントでサービス名を抽出します。 これは、Windows コンピューターでのシステムの起動時に Service Control Manager によって作成されたイベントに依存します。 この例に従う場合は、 システム ログの情報イベントを収集する必要があります。
次のクエリを入力して、サービスの開始または停止を示すイベントであるイベント ID が 7036 の Service Control Manager からすべてのイベントを返します。
次に、イベント ID 7036 のレコードを右クリックし、[イベント] から [フィールドの抽出] を選択します。
フィールド抽出ウィザードが開き、[メインの例] 列で EventLog フィールドと EventID フィールドが選択されます。 これは、イベント ID が 7036 のシステム ログからのイベントに対してユーザー設定フィールドが定義されることを示します。 これで十分なので、他のフィールドを選択する必要はありません。
RenderedDescription プロパティでサービスの名前を強調表示し、Service を使用してサービス名を識別します。 ユーザー設定フィールドは Service_CF呼び出されます。 この場合のフィールド型は文字列であるため、変更せずに残すことができます。
一部のレコードではサービス名が正しく識別されますが、他のレコードでは識別されません。 検索結果には、WMI パフォーマンス アダプターの名前の一部が選択されなかったことが示されます。 概要には、Windows モジュール インストーラーの代わりにモジュール インストーラーが識別されたレコードが 1 つ示されています。
まず、WMI パフォーマンス アダプター レコードを使用します。 編集アイコンをクリックし、 この強調表示を変更します。
強調表示を増やして WMI という単語を含め、抽出を再実行します。
WMI パフォーマンス アダプターのエントリが修正され、Log Analytics もその情報を使用して Windows モジュール インストーラーのレコードを修正していることがわかります。
これで、 Service_CF が作成されたが、レコードにまだ追加されていないことを確認するクエリを実行できるようになりました。 これは、ユーザー設定フィールドが既存のレコードに対して機能しないため、新しいレコードが収集されるのを待つ必要があるためです。
しばらくすると、新しいイベントが収集され、条件に一致するレコードに Service_CF フィールドが追加されていることがわかります。
他のレコード プロパティと同様に、ユーザー設定フィールドを使用できるようになりました。 これを説明するために、新しい Service_CF フィールドごとにグループ化して、最もアクティブなサービスを検査するクエリを作成します。
次のステップ
- 条件のカスタム フィールドを使用してクエリを作成するための ログ クエリ について説明します。
- カスタム フィールドを使用して解析する カスタム ログ ファイル を監視します。