Log Analytics ワークスペース内のデータ保持を管理する
[アーティクル] 07/25/2024
2 人の共同作成者
フィードバック
この記事の内容
Log Analytics ワークスペースは、以下の 2 つの状態でデータを保持します。
対話型保持 : この状態では、データは監視、トラブルシューティング、ほぼリアルタイムの分析に利用できます。
長期保持 : この低コストの状態では、データをテーブル プラン機能で利用することはできませんが、検索ジョブ を通してアクセスすることはできます。
この記事では、Log Analytics ワークスペースがどのようにデータを保持するのかと、ワークスペース内のテーブルのデータ保持を管理する方法について説明します。
対話型、長期、および合計保持期間
既定では、Log Analytics ワークスペース内のすべてのテーブルは、90 日間の既定の保持期間をもつ長期テーブル を除き、データを 30 日間保持します。 この期間 (対話型保持期間) 中は、クエリを通してテーブルからデータを取得でき、テーブル プランに基づいて視覚化、アラート、その他の機能やサービスでデータを利用できます。
Analytics プランでは、テーブルの対話型保持期間を最大 2 年間まで延長できます。 Basic プランと Auxiliary プランの対話型保持期間は 30 日間に固定されています。
Note
Analytics テーブルの対話型保持期間は、API または CLI を使用して 4 日間まで短くできます。 ただし、インジェスト価格には 31日間の対話型保持期間が含まれているため、保持期間を 31日間より短くしてもコストは下がりません。
同じテーブル内のデータを対話型保持期間を超えて保持するには、テーブルの合計保持期間を最大 12 年まで延長します。 対話型保持期間が終了すると、データは構成した合計保持期間の残りの期間テーブル内に残ります。 この期間 (長期保持期間) 中は、検索ジョブを実行して、必要な特定のデータをテーブルから取得し、検索結果テーブル内の対話型クエリで利用できるようにします。
保持期間変更のしくみ
テーブルの合計保持期間を短縮すると、Azure Monitor ログはデータの削除まで 30 日間の猶予を設けるため、構成で間違った場合は変更を元に戻しデータの喪失を防ぐことができます。
合計保持期間を増やすと、新しい保持期間は、テーブルに取り込み済みでまだ削除されていないすべてのデータに適用されます。
既存のデータを含むテーブルの長期保持設定を変更すると、その変更はすぐに有効になります。
例:
180 日間の対話型保持期間を持ち、長期保持期間は持たない既存の Analytics テーブルがあります。
180 日間という合計保持期間は変更せずに、対話型保持期間を 90 日間に変更します。
Azure Monitor は、経過時間が 90 日から 180 日間のデータが失われないように、合計保持期間の残り 90 日間を自動的に低コストな長期保持期間として扱います。
必要なアクセス許可
アクション
必要なアクセス許可
Log Analytics ワークスペース内の Analytics テーブルの既定の対話型保持期間を構成する
たとえば、Log Analytics 共同作成者組み込みロール によって提供される、Log Analytics ワークスペースに対する Microsoft.OperationalInsights/workspaces/write
および microsoft.operationalinsights/workspaces/tables/write
権限
Log Analytics ワークスペースでテーブルごとに保持設定を取得する
たとえば、Log Analytics 閲覧者組み込みロール によって提供される、Log Analytics ワークスペースに対する Microsoft.OperationalInsights/workspaces/tables/read
権限
Log Analytics ワークスペース内のすべてのテーブルの既定の対話型保持期間は 30 日間です。 ワークスペースレベルのデータ保持設定を変更することで、Analytics テーブルの既定の対話型期間を最大 2 年に変更できます。 Basic および Auxiliary テーブルの対話型保持期間は 30 日間に固定されています。
既定のワークスペースレベルのデータ保持設定の変更は、ワークスペース内の既定の設定がまだ適用されているすべての Analytics テーブルに自動的に影響します。 特定のテーブルの対話型保持期間を既に変更済みである場合、ワークスペースの既定のデータ保持設定を変更しても、そのテーブルは影響を受けません。
重要
30 日間の保持期間が設定されているワークスペースでは、データが 31 日間保持される場合があります。 プライバシー ポリシーに準拠するためにのみデータを 30 日間を保持する必要がある場合は、API を使用して既定のワークスペースの保有期間を 30 日間に構成し、ワークスペースの immediatePurgeDataOn30Days
プロパティを true
に更新します。 現在、この操作は Workspaces - Update API を使用した場合にのみサポートされます。
Log Analytics ワークスペース内の Analytics テーブルの既定の対話型保持期間を設定するには:
Azure portal の [Log Analytics ワークスペース] メニューからワークスペースを選択します。
左側のウィンドウから [使用量と推定コスト] を選択します。
ページの上部にある [データ保持] を選択します。
スライダーを動かして日数を増減してから、[OK] を選択します。
Log Analytics ワークスペース内の Analytics テーブルの既定の対話型保持期間を設定するには、Workspaces - Create Or Update API を呼び出します。
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}?api-version=2023-09-01
要求本文
要求本文には、次の票の値が含まれています。
Name
種類
Description
properties.retentionInDays
integer
ワークスペースのデータ保有期間 (日数)。 使用できる値は価格プランごとになります。 詳細については、価格レベル ドキュメントを参照してください。
location
string
リソースの地理的な場所。
immediatePurgeDataOn30Days
boolean
データが 30 日後に直ちに削除され回復不可能になるかどうかを示すフラグ。 ワークスペースの保有期間が 30 日間に設定されている場合にのみ適用されます。
例
次の例では、ワークスペースの保持期間をワークスペースの既定の 30 日間に設定し、データが 30 日後に直ちに削除され回復不可能になることを確認します。
Request
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}?api-version=2023-09-01
{
"properties": {
"retentionInDays": 30,
"features": {"immediatePurgeDataOn30Days": true}
},
"location": "australiasoutheast"
}
**Response**
Status code: 200
```http
{
"properties": {
...
"retentionInDays": 30,
"features": {
"legacy": 0,
"searchVersion": 1,
"immediatePurgeDataOn30Days": true,
...
},
...
Log Analytics ワークスペース内の Analytics テーブルの既定の対話型保持期間を設定するには、az monitor log-analytics workspace update コマンドを実行し、--retention-time
パラメーターを渡します。
次の例では、テーブルの対話型リテンション期間を 30 日に設定します。
az monitor log-analytics workspace update --resource-group myresourcegroup --retention-time 30 --workspace-name myworkspace
Set-AzOperationalInsightsWorkspace コマンドレットを使用して、Log Analytics ワークスペース内の Analytics テーブルの既定の対話型保持期間を設定します。 次の例では、既定の対話型保持期間を 30 日間に設定します。
Set-AzOperationalInsightsWorkspace -ResourceGroupName "myResourceGroup" -Name "MyWorkspace" -RetentionInDays 30
既定では、Analytics データ プランを持つすべてのテーブルは、Log Analytics ワークスペースの既定の対話型保持設定 を継承し、長期保持期間は持ちません。 追加のコスト をかけることで Analytics テーブルの対話型保持期間を最大 730 日間まで延長できます。
何らかのデータ プランを持つテーブルに長期保持期間を追加するには、合計保持期間 を最大 12 年 (4,383 日) に設定します。 Auxiliary テーブル プランは現在パブリック プレビュー段階であり、この間はプランの合計保持期間は 365 日に固定されます。
Note
現在、Azure portal と API を使用して、合計リテンション期間を最大 12 年に設定できます。 CLI と PowerShell は 7 年に制限されています。12年間のサポートが、後日提供される予定です。
Azure portal でテーブルの保持設定を変更するには:
[Log Analytics ワークスペース] メニューから [テーブル] を選択します。
[テーブル] 画面には、ワークスペース内のすべてのテーブルが一覧表示されます。
構成するテーブルのコンテキスト メニューを選択し、[テーブルの管理] を選択します。
テーブル構成画面の [データ保持設定] セクションで、対話型保持期間と合計保持期間の設定を構成します。
テーブルの保持設定を変更するには、Tables - Update API を呼び出します。
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/{tableName}?api-version=2022-10-01
PUT または PATCH を使用できます。違いは次のとおりです。
null 以外の値を設定しない場合、PUT API は retentionInDays
と totalRetentionInDays
を既定値に設定します。
値を指定しない場合、PATCH API は retentionInDays
または totalRetentionInDays
の値を変更しません。
要求本文
要求本文には、次の票の値が含まれています。
Name
種類
説明
properties.retentionInDays
整数 (integer)
テーブルのデータ保有期間 (日数)。 この値の範囲は 4 から 730 です。 このプロパティを null 値 に設定すると、ワークスペースの保持期間に適用されます。 Basic Logs テーブルの場合、値は常に 8 です。
properties.totalRetentionInDays
integer
長期保持期間を含むテーブルの合計データ保持期間。 この値は、4 から 730、または 1095、1460、1826、2191、2556、2922、3288、3653、4018、4383 です。 長期保持期間が必要ない場合は、このプロパティを null に設定します。
例
この例では、テーブルの対話型保持期間をワークスペースの既定値である 30 日間に、合計保持期間を 2 年間に設定します。これは長期保持期間が 23 か月間であることを意味します。
Request
PATCH https://management.azure.com/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/testRG/providers/Microsoft.OperationalInsights/workspaces/testWS/tables/CustomLog_CL?api-version=2022-10-01
要求本文
{
"properties": {
"retentionInDays": null,
"totalRetentionInDays": 730
}
}
応答
状態コード:200
{
"properties": {
"retentionInDays": 30,
"totalRetentionInDays": 730,
"archiveRetentionInDays": 700,
...
},
...
}
テーブルの保持設定を変更するには、az monitor log-analytics workspace table update コマンドを実行し、--retention-time
および --total-retention-time
パラメーターを渡します。
次の例では、テーブルの対話型保持期間を 30 日間に、合計保持期間を 2 年間に設定します。これは、長期保持期間が 23 か月間であることを意味します。
az monitor log-analytics workspace table update --subscription ContosoSID --resource-group ContosoRG --workspace-name ContosoWorkspace --name AzureMetrics --retention-time 30 --total-retention-time 730
ワークスペースの既定の対話型リテンション期間の値をテーブルに再適用し、合計リテンション期間を 0 にリセットするには、--retention-time
パラメーターと --total-retention-time
パラメーターを -1
に設定して、az monitor log-analytics workspace table update コマンドを実行します。
次に例を示します。
az monitor log-analytics workspace table update --subscription ContosoSID --resource-group ContosoRG --workspace-name ContosoWorkspace --name Syslog --retention-time -1 --total-retention-time -1
テーブルの保持設定を変更するには、Update-AzOperationalInsightsTable コマンドレットを使用します。 次の例では、テーブルの対話型保持期間を 30 日間に、合計保持期間を 2 年間に設定します。これは、長期保持期間が 23 か月間であることを意味します。
Update-AzOperationalInsightsTable -ResourceGroupName ContosoRG -WorkspaceName ContosoWorkspace -TableName AzureMetrics -RetentionInDays 30 -TotalRetentionInDays 730
ワークスペースの既定の対話型保持値をテーブルに再適用し、合計保持を 0 にリセットするには、-RetentionInDays
および -TotalRetentionInDays
パラメータを -1
に設定して Update-AzOperationalInsightsTable コマンドレットを実行します。
次に例を示します。
Update-AzOperationalInsightsTable -ResourceGroupName ContosoRG -WorkspaceName ContosoWorkspace -TableName Syslog -RetentionInDays -1 -TotalRetentionInDays -1
テーブルごとに保持設定を取得する
Azure portal でテーブルの保持設定を表示するには、[Log Analytics ワークスペース] メニューから [テーブル] を選択します。
[テーブル] 画面には、ワークスペース内のすべてのテーブルの対話型保持期間および合計保持期間が表示されます。
特定のテーブル (この例では SecurityEvent
) の保持設定を取得するには、Tables - Get API を呼び出します。
GET /subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/MyResourceGroupName/providers/Microsoft.OperationalInsights/workspaces/MyWorkspaceName/Tables/SecurityEvent?api-version=2022-10-01
ワークスペース内のテーブルレベルの保持設定をすべて取得するには、テーブル名を設定しないでください。
次に例を示します。
GET /subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/MyResourceGroupName/providers/Microsoft.OperationalInsights/workspaces/MyWorkspaceName/Tables?api-version=2022-10-01
特定のテーブルの保持設定を取得するには、az monitor log-analytics workspace table show コマンドを実行します。
次に例を示します。
az monitor log-analytics workspace table show --subscription ContosoSID --resource-group ContosoRG --workspace-name ContosoWorkspace --name SecurityEvent
特定のテーブルの保持設定を取得するには、Get-AzOperationalInsightsTable コマンドレットを実行します。
次に例を示します。
Get-AzOperationalInsightsTable -ResourceGroupName ContosoRG -WorkspaceName ContosoWorkspace -tableName SecurityEvent
Log Analytics ワークスペース内のテーブルを削除したときにデータに何が起こるか?
Log Analytics ワークスペースには、複数の種類のテーブル を含めることができます。 テーブルを削除するとどうなるかは、それぞれ場合によって異なります。
テーブルの種類です。
データ保持
推奨事項
Azure テーブル
Azure テーブルは、Azure リソースからのログや Azure サービスまたはソリューションが必要とするデータを保持しているため、削除できません。 リソース、サービス、またはソリューションからのデータのストリーミングを停止すると、データはテーブルに対して定義された保持期間が終了するまでワークスペース内に残ります。
料金を最小限に抑えるには、テーブル レベルの保有期間 を 4 日間に設定してから、テーブルへのログのストリーミングを停止します。
カスタム ログ テーブル (table_CL
)
テーブル レベルの保有期間または既定のワークスペースの保有期間が終了するまで、テーブルが論理的に削除されます。 論理的な削除期間中は、引き続きデータ保持料金を支払い、同じ名前とスキーマを持つテーブルを設定することで、テーブルを再作成してデータにアクセスできます。 カスタム テーブルを削除してから 14 日後、Azure Monitor はテーブル レベルの保有期間の構成を削除し、既定のワークスペースの保有期間を適用します。
料金を最小限に抑えるには、テーブル レベルの保有期間 を 4 日間に設定してから、テーブルを削除します。
検索結果テーブル (table_SRCH
)
テーブルとデータを即時かつ完全に削除します。
復元されたテーブル (table_RST
)
復元用にプロビジョニングされたホット キャッシュを削除しますが、ソース テーブル データは削除されません。
90 日間の既定の保持期間を持つログ テーブル
既定では、Usage
および AzureActivity
テーブルは少なくとも 90 日間、無料でデータを保持します。 ワークスペースの保持期間を 90 日より長くに延長すると、これらのテーブルの保持期間も長くなります。 これらのテーブルも、データ インジェスト料金の対象になりません。
Application Insights リソースに関連するテーブルでも、データは 90 日間無料で保持されます。 これらの各テーブルの保持は個別に調整できます。
AppAvailabilityResults
AppBrowserTimings
AppDependencies
AppExceptions
AppEvents
AppMetrics
AppPageViews
AppPerformanceCounters
AppRequests
AppSystemEvents
AppTraces
価格モデル
対話型保持期間と長期保持期間を追加するための料金は、保持するデータの量 (GB 単位)、およびデータを保持する日数に基づいて計算されます。 _IsBillable == false
を持つログ データは、インジェストまたは保持の料金の対象になりません。
詳細については、「Azure Monitor の価格 」を参照してください。
次のステップ
各項目の詳細情報