Log Analytics ワークスペースは、以下の 2 つの状態でデータを保持します。
-
分析のリテンション期間: この状態では、データは監視、トラブルシューティング、ほぼリアルタイムの分析に使用できます。
-
長期保持: この低コストの状態では、データをテーブル プラン機能で利用することはできませんが、検索ジョブを通してアクセスすることはできます。
この記事では、Log Analytics ワークスペースがどのようにデータを保持するのかと、ワークスペース内のテーブルのデータ保持を管理する方法について説明します。
分析、長期、および総リテンション期間
既定では、Log Analytics ワークスペース内のすべてのテーブルは、90 日間の既定の保持期間をもつ長期テーブルを除き、データを 30 日間保持します。 分析プランを含むテーブルを使用すると、この Analytics 保有期間中にリアルタイム クエリでデータを使用できるようになります。 すべてのテーブル プランは、クエリまたは検索ジョブを使用して格納されたデータを取得でき、テーブル プランに基づいて視覚化、アラート、その他の機能やサービスにデータを使用できます。
Analytics プランでは、テーブルの分析リテンション期間を最大 2 年間延長できます。 基本プラン テーブルはクエリに対して 30 日間の固定期間を持ちますが、補助プラン テーブルは合計保有期間に対してクエリを実行できます。 ただし、基本テーブルと補助テーブルの両方に追加の考慮事項があります。 詳細については、「 基本テーブルと補助テーブルのデータのクエリ」を参照してください。
注
API または CLI を使用すると、分析テーブルの分析リテンション期間を最大 4 日間に短縮できます。 ただし、インジェスト価格には 31 日間の分析リテンション期間が含まれるため、保持期間を 31 日未満に下げてもコストは削減されません。
既定の保持期間を超えて同じテーブル内のデータを保持するには、テーブルの合計リテンション期間を最大 12 年まで延長します。 分析リテンション期間の終了時、データは、構成した合計保有期間の残りの期間、テーブルに残ります。 この期間 (長期保持期間) 中は、検索ジョブを実行して、必要な特定のデータをテーブルから取得し、検索結果テーブル内の対話型クエリで利用できるようにします。
保持期間変更のしくみ
テーブルの合計保持期間を短縮すると、Azure Monitor ログはデータの削除まで 30 日間の猶予を設けるため、構成で間違った場合は変更を元に戻しデータの喪失を防ぐことができます。
合計保持期間を増やすと、新しい保持期間は、テーブルに取り込み済みでまだ削除されていないすべてのデータに適用されます。
既存のデータを含むテーブルの長期保持設定を変更すると、その変更はすぐに有効になります。
例:
- 180 日間の分析リテンション期間があり、長期的なリテンション期間がない既存の Analytics テーブルがある。
- 合計保有期間を 180 日に変更せずに、分析のリテンション期間を 90 日に変更します。
- Azure Monitor は、経過時間が 90 日から 180 日間のデータが失われないように、合計保持期間の残り 90 日間を自動的に低コストな長期保持期間として扱います。
必要なアクセス許可
アクション |
必要なアクセス許可 |
Log Analytics ワークスペースの Analytics テーブルの既定の分析リテンション期間を構成する |
Microsoft.OperationalInsights/workspaces/write によって提供される、Log Analytics ワークスペースに対する microsoft.operationalinsights/workspaces/tables/write および アクセス許可などです |
Log Analytics ワークスペースでテーブルごとに保持設定を取得する |
たとえば、Microsoft.OperationalInsights/workspaces/tables/read によって提供される、Log Analytics ワークスペースに対する アクセス許可 |
Log Analytics ワークスペース内の Analytics テーブルの既定の保持期間は 30 日です。 ワークスペース レベルのデータ保持設定を変更することで、Analytics テーブルの既定の分析期間を最大 2 年間変更できます。 基本テーブルと補助テーブルの保有期間は合計のみで、既定では 30 日です。
既定のワークスペースレベルのデータ保持設定の変更は、ワークスペース内の既定の設定がまだ適用されているすべての Analytics テーブルに自動的に影響します。 特定のテーブルの分析リテンション期間を既に変更している場合、ワークスペースの既定のデータ保持設定を変更しても、そのテーブルは影響を受けません。
重要
30 日間の保持期間が設定されているワークスペースでは、データが 31 日間保持される場合があります。 プライバシー ポリシーに準拠するためにのみデータを 30 日間を保持する必要がある場合は、API を使用して既定のワークスペースの保有期間を 30 日間に構成し、ワークスペースの immediatePurgeDataOn30Days
プロパティを true
に更新します。 現在、この操作は Workspaces - Update API を使用した場合にのみサポートされます。
Log Analytics ワークスペース内の Analytics テーブルの既定の分析リテンション期間を設定するには:
Azure portal の [Log Analytics ワークスペース] メニューからワークスペースを選択します。
[ 設定] セクションで、左側のウィンドウで [使用量と推定コスト ] を選択します。
ページの上部にある [データ保持] を選択します。
スライダーを動かして日数を増減してから、[OK] を選択します。
Log Analytics ワークスペース内の Analytics テーブルの既定の分析リテンション期間を設定するには、 ワークスペース - Create または Update API を呼び出します。
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}?api-version=2023-09-01
要求本文
要求本文には、次の票の値が含まれています。
名前 |
タイプ |
説明 |
properties.retentionInDays |
整数 |
ワークスペースのデータ保有期間 (日数)。 使用できる値は価格プランごとになります。 詳細については、価格レベル ドキュメントを参照してください。 |
___location |
文字列 |
リソースの地理的な場所。 |
immediatePurgeDataOn30Days |
ブーリアン |
データが 30 日後に直ちに削除され回復不可能になるかどうかを示すフラグ。 ワークスペースの保有期間が 30 日間に設定されている場合にのみ適用されます。 |
例
次の例では、ワークスペースの保持期間をワークスペースの既定の 30 日間に設定し、データが 30 日後に直ちに削除され回復不可能になることを確認します。
依頼
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 日) に設定します。
注
現在、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
の値を変更しません。
要求本文
要求本文には、次の票の値が含まれています。
名前 |
タイプ |
説明 |
properties.retentionInDays |
整数 |
テーブルのデータ保有期間 (日数)。 この値の範囲は 4 から 730 です。 このプロパティを null 値 に設定すると、ワークスペースの保持期間に適用されます。 Basic および Auxiliary ログ テーブルの場合、この値は常に 30 です。 |
properties.totalRetentionInDays |
整数 |
長期保持期間を含むテーブルの合計データ保持期間。 この値は、4 から 730、または 1095、1460、1826、2191、2556、2922、3288、3653、4018、4383 です。 長期保持期間が必要ない場合は、このプロパティを null に設定します。 |
例
次の使用例は、テーブルの分析リテンション期間をワークスペースの既定の 30 日間に設定し、合計リテンション期間を 2 年に設定します。つまり、長期保有期間は 23 か月です。
依頼
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
}
}
Response
状態コード: 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 にリセットするには、 az monitor log-analytics workspace table update コマンドを実行し、 --retention-time
パラメーターと --total-retention-time
パラメーターを -1
に設定します。
次に例を示します。
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
このサンプル ARM テンプレートとパラメーター ファイルを使用して、特定のテーブルの保持期間を更新します。
テンプレート ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"type": "string",
"defaultValue": "sampleWorkspace",
"metadata": {
"description": "The number of days to retain the data."
}
},
"tableName": {
"type": "string",
"defaultValue": "sampleTable",
"metadata": {
"description": "The name of the Log Analytics table to modify."
}
},
"retentionInDays": {
"type": "int",
"defaultValue": 30,
"metadata": {
"description": "The number of days to retain the data."
}
}
},
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces",
"apiVersion": "2025-02-01",
"name": "[parameters('workspaceName')]",
"___location": "[resourceGroup().___location]",
"resources": [
{
"type": "Microsoft.OperationalInsights/workspaces/tables",
"apiVersion": "2025-02-01",
"name": "[concat(parameters('workspaceName'), '/', parameters('tableName'))]",
"properties": {
"retentionInDays": "[parameters('retentionInDays')]"
},
"dependsOn": [ "[resourceId('Microsoft.OperationalInsights/workspaces/', parameters('workspaceName'))]" ]
}
]
}
]
}
パラメーター ファイル
{
"$schema": "https://schema.management.azure.com/schemas/2019-08-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"workspaceName": {
"value": "MyWorkspace"
},
"tableName": {
"value": "AppRequests"
},
"retentionInDays": {
"value": 120
}
}
}
テーブルごとに保持設定を取得する
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 日間に設定します。たとえば、Sentinel です。 |
ソリューションを有効にします。 データ復旧には、テーブルのリテンション期間が適用されます。 |
カスタム ログ テーブル (table_CL ) |
カスタム ログ テーブルには、 ログ インジェスト API または HTTP データ コレクター API (非推奨) からのログが保持されます。 テーブルを削除すると、テーブル名は 14 日間予約され、期間後にリリースされます。
Analytics プランまたは Basic プランでテーブルを削除しても、テーブル内のデータは削除されません。14 日後、保持はワークスペースの保持期間を継承します。
補助プランでテーブルを削除すると、14 日後にデータが完全に削除され、リテンション期間はワークスペースのリテンション期間を継承しますが、保持料金は残り、テーブルの保持に従います。 |
料金を最小限に抑えるには、テーブル レベルの保有期間を 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 のデータ量とデータが保持される日数に基づいて計算されます。 データリテンション期間の課金は毎日行われます (UTC タイム ゾーンの日数に基づきます)。
_IsBillable == false
を持つログ データは、インジェストまたは保持の料金の対象になりません。
詳細については、次の記事を参照してください。
関連コンテンツ
各項目の詳細情報