次の方法で共有


Azure Monitor ログのテーブルと列を追加または削除する

データ収集ルールを使用すると、Azure テーブルまたはカスタム テーブルにデータを送信する前に、ログ データをフィルター処理して変換できます。 この記事では、カスタム テーブルを作成し、Log Analytics ワークスペース内のテーブルにカスタム列を追加する方法について説明します。

重要

テーブル スキーマを更新するときは必ず、テーブルにデータを送信するデータ収集ルールを更新してください。 データ収集ルールで定義するテーブル スキーマによって、Azure Monitor でターゲット テーブルにデータがストリーミングされる方法が決まります。 テーブル スキーマを変更しても、Azure Monitor によってデータ収集ルールが自動的に更新されることはありません。

前提条件

アクション アクセス許可が必要
テーブルの管理 Log Analytics ワークスペース以上のスコープでの Microsoft.OperationalInsights/workspaces/* アクセス許可。
たとえば、特権組み込みロールによって提供される Log Analytics 共同作成者などです。

テーブルにデータを取り込むには、次のものが必要な場合があります。

  • データ収集エンドポイント (DCE)。 詳細については、 DCE を参照してください。

  • JSON ファイル内のソース データの少なくとも 1 つのレコードのサンプル。 これは、VM からテキストと JSON データ ソースを収集するために必要なものなど、ポータルでカスタム テーブルを作成するために使用されます

    [
      {
        "TimeGenerated": "supported_datetime_format",
        "<column_name_1>": "<column_name_1_value>",
        "<column_name_2>": "<column_name_2_value>"
      },
      {
        "TimeGenerated": "supported_datetime_format",
        "<column_name_1>": "<column_name_1_value>",
        "<column_name_2>": "<column_name_2_value>"
      },
      {
        "TimeGenerated": "supported_datetime_format",
        "<column_name_1>": "<column_name_1_value>",
        "<column_name_2>": "<column_name_2_value>"
      }
    ]
    
  • Log Analytics ワークスペース内のすべてのテーブルには、レコードのインジェスト時間を識別するために使用される TimeGenerated 列が必要です。 列がない場合は、テーブルの DCR の変換に自動的に追加されます。 詳細については、 サポートされている datetime 形式を参照してください

カスタム テーブルを作成する

Azure テーブルには、定義済みのスキーマがあります。 ログ データを別のスキーマで格納するには、データ収集ルールを使用してデータを収集、変換し、Log Analytics ワークスペースのカスタム テーブルに送信する方法を定義します。 補助プランを使用してカスタム テーブルを作成するには、「補助プラン を使用してテーブルを設定する」を参照してください。

重要

カスタム テーブルには、_CL というサフィックスが付いています。たとえば tablename_CL です。 Azure portal では、テーブル名に _CL サフィックスが自動的に追加されます。 別の方法を使用してカスタム テーブルを作成する場合は、_CL サフィックスを自分で追加する必要があります。 データ収集ルールの DataFlows Streams プロパティの tablename_CL は、Log Analytics ワークスペースの tablename_CL 名と一致する必要があります。

警告

テーブル名は課金目的で使用されるため、機密情報を含めないようにします。

Azure portal を使ってカスタム テーブルを作成するには:

  1. [Log Analytics ワークスペース] メニューから [テーブル] を選択します。

    Log Analytics ワークスペースの [テーブル] 画面を示すスクリーンショット。

  2. [作成] を選択してから、[New custom log (DCR based)] (新しいカスタム ログ (DCR ベース)) を選択します。

    新しい DCR ベースのカスタム ログを示すスクリーンショット。

  3. テーブルの名前と、必要に応じて説明を指定します。 _CL サフィックスをカスタム テーブルの名前に追加する必要はありません。これは、ポータルで指定した名前に自動的に追加されます。

  4. [データ収集ルール] ドロップダウンから既存のデータ収集ルールを選択します。または、[新しいデータ収集ルールの作成] を選択して、新しいデータ収集ルールの [サブスクリプション][リソース グループ][名前] を指定します。

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

  5. [データ収集エンドポイント] を選択し、[次へ] を選択します。

    カスタム ログ テーブル名を示すスクリーンショット。

  6. [ファイルの参照] を選択し、新しいテーブルのサンプル データを含む JSON ファイルを見つけます。

    ファイルのカスタム ログ参照を示すスクリーンショット。

    サンプル データに TimeGenerated 列が含まれていない場合は、この列で変換が作成されていることを示すメッセージが表示されます。

  7. テーブルに取り込む前にログ データを変換する場合:

    1. [変換エディター] を選択します。

      変換エディターを使用すると、受信データ ストリームの変換を作成できます。 これは、受信した各レコードに対して実行される KQL クエリです。 Azure Monitor ログでは、クエリの結果が変換先のテーブルに格納されます。

      カスタム ログ データ プレビューを示すスクリーンショット。

    2. [実行] をクリックして結果を表示します。

      初期カスタム ログ データ クエリを示すスクリーンショット。

  8. [適用] を選択して変換を保存し、作成しようとしているテーブルのスキーマを表示します。 [次へ] をクリックして続行します。

    カスタム ログの最後のスキーマを示すスクリーンショット。

  9. 最後の詳細を確認し、[作成] を選択してカスタム ログを保存します。

    カスタム ログ作成を示すスクリーンショット。

テーブルを削除する

Azure テーブルではないテーブルは削除できますが、データの削除方法はテーブルの種類によって異なります。

詳細については、「Log Analytics ワークスペース内のテーブルを削除したときにデータがどうなるか」を参照してください。

Azure portal からテーブルを削除するには:

  1. [Log Analytics ワークスペース] メニューから [テーブル] を選択します。

  2. 削除するテーブルを名前で検索するか、[種類] フィールドで検索結果を選んで検索します。

    Log Analytics ワークスペースの [テーブル] 画面を示すスクリーンショット。[名前でフィルター] と [種類] のフィールドが強調表示されています。

  3. 削除するテーブルを選択し、テーブルの右側にある省略記号 (...)、[削除] の順に選択します。「yes」と入力して削除を確定します。

    Log Analytics ワークスペースのテーブルに対する [テーブルの削除] 画面を示すスクリーンショット。

カスタム列を追加または削除する

カスタム テーブルでは、テーブルの作成後に列を追加または削除することで、スキーマを変更できます。 Azure テーブルでは、カスタム列の追加と削除のみが許可されます。

カスタム テーブルの列名を定義する場合は、次の規則を使用します。

  • 列名は文字 (A ~ Z または a ~ z) で始まる必要があります。

  • 最初の文字の後には、文字、数字、またはアンダースコアのみを使用します。

  • 列名にスペース、ドット、ダッシュ、またはその他の句読点を使用しないでください。

  • ASCII 以外の文字 (Æ、É、Ö など) は列名ではサポートされていません。

  • 列名の大文字と小文字が区別されるのは、Analytics と Basic テーブルの場合のみです。 補助ログ テーブルのインジェストでは、相違が大文字と小文字の違いのみである重複する列名のデータは破棄されます。

  • 列名の長さは 2 ~ 45 文字にする必要があります。

  • Azure テーブルのカスタム列名の末尾が _CF

  • idBilledSizeIsBillableInvalidTimeGeneratedTenantIdTitleTypeUniqueId_ItemId_ResourceGroup_ResourceId_SubscriptionId_TimeReceivedなど、システムまたは予約列と競合する名前は使用しないでください。

重要

カスタム テーブルのスキーマ規則は、 一般的な Kusto 識別子規則よりも厳密です。 Kusto はクエリで引用符で囲まれた通常とは異なるプロパティ名を参照できますが、カスタム テーブル スキーマでは列名に対して文字、数字、アンダースコアのみを受け入れます。

Log Analytics ワークスペースのテーブルにカスタム列を追加するか、列を削除するには:

  1. [Log Analytics ワークスペース] メニューから [テーブル] を選択します。

  2. 編集するテーブルの右側にある省略記号 (...)、[スキーマの編集] の順に選択します。

    [スキーマ エディター] 画面が開きます。

  3. [スキーマ エディター] 画面の [カスタム列] セクションまで下にスクロールします。

    [列の追加] および [削除] ボタンが強調表示された [スキーマ エディター] 画面を示すスクリーンショット。

  4. 新しい列を追加するには:

    1. [列の追加] を選択します。
    2. 列の名前と説明 (省略可能) を設定し、[型] ドロップダウンから必要な値の型を選択します。
    3. [保存] を選択して新しい列を保存します。
  5. 列を削除するには、削除する列の左側にある [削除] アイコンを選択します。