[アーティクル]
12/05/2022
7 人の共同作成者
フィードバック
この記事の内容
保持ポリシーでは、Log Analytics ワークスペース でデータを削除またはアーカイブするタイミングを定義します。 アーカイブを実行することで、ワークスペース内のアクセス頻度の低下した古いデータをより低コストで保持できます。
この記事では、データ保持とアーカイブの構成方法について説明します。
保持およびアーカイブの機能
各ワークスペースには、すべてのテーブルに適用される既定の保持ポリシーがあります。 個々のテーブルに別々の保持ポリシーを設定できます。
対話型保持期間中は、監視、トラブルシューティング、分析にデータを使用できます。 ログを使用しなくなったが、コンプライアンスや不定期の調査のためにデータを保持する必要がある場合は、ログをアーカイブすることでコストを節約できます。
アーカイブされたデータは、対話型クエリで使用できるデータと共に、同じテーブルに保持されます。 対話型保持期間より長い合計保持期間を設定すると、Log Analytics は、保持期間の終了時に直ちに関連するデータを自動的にアーカイブします。
既存のデータを含むテーブルのアーカイブ設定を変更すると、テーブル内の関連データもすぐに影響を受けます。 たとえば、対話型保持期間が 30 日間で、アーカイブ期間のない既存のテーブルがあるとします。 アイテム保持ポリシーを 8 日間の対話型保持期間と 1 年間の合計保持期間に変更することにしました。 Log Analytics は 8 日を超えるデータを直ちにアーカイブします。
アーカイブされたデータには、検索ジョブを実行するか 、アーカイブされたログを復元することで アクセスできます。
注意
アーカイブ期間は、ワークスペース レベルではなく、テーブル レベルでのみ設定できます。
Azure portal でワークスペースの既定の保持ポリシーを 30、31、60、90、120、180、270、365、550、730 日に設定できます。 テーブル レベルで保持ポリシーとアーカイブ ポリシーを構成する ことで、特定のテーブルに別のポリシーを設定できます。 無料 プランをご利用の場合は、有料プランにアップグレードしてデータ保持期間を変更する必要があります。
既定のワークスペース保持ポリシーを設定するには:
Azure portal の [Log Analytics ワークスペース] メニューからワークスペースを選択します。
左側のウィンドウから [使用量と推定コスト] を選択します。
ページの上部にある [データ保持] を選択します。
スライダーを動かして日数を増減してから、[OK] を選択します。
テーブル別に保持ポリシーとアーカイブ ポリシーを設定する
既定では、ワークスペース内のすべてのテーブルはワークスペースの対話型保持設定を継承し、アーカイブ ポリシーはありません。 従来の無料試用版の価格プランのワークスペースを除き、個々のテーブルに対して保持ポリシーおよびアーカイブ ポリシーを修正できます。
4 日から 730 日の範囲のインタラクティブな保持期間でデータを保持できます。 アーカイブ期間は、最大 2,556 日 (7 年) の合計保持期間に設定できます。
テーブルの保持期間とアーカイブ期間を設定するには、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=2021-12-01-preview
注意
API 呼び出しでアーカイブ期間を明示的に指定する必要はありません。 代わりに、対話型保持期間の合計である合計保持期間とアーカイブ期間を設定します。
PUT または PATCH を使用できます。違いは次のとおりです。
null 以外の値を設定しない場合、PUT API は retentionInDays
と totalRetentionInDays
を既定値に設定します。
値を指定しない場合、PATCH API は retentionInDays
または totalRetentionInDays
の値を変更しません。
要求本文
要求本文には、次の票の値が含まれています。
Name
Type
説明
properties.retentionInDays
整数 (integer)
テーブルのデータ保有期間 (日数)。 この値の範囲は 4 から 730 です。 このプロパティを null に設定すると、既定値のワークスペースの保持期間になります。 Basic Logs テーブルの場合、値は常に 8 です。
properties.totalRetentionInDays
整数 (integer)
アーカイブ期間を含むテーブルの合計データ保持期間 この値は 4~ 730 の範囲、または 1095、1460、1826、2191、2556 に指定できます。 データをアーカイブしない場合は、このプロパティを 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=2021-12-01-preview
要求本文
{
"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=2021-12-01-preview
ワークスペースですべてのテーブルレベルの保持ポリシーを取得するには、テーブル名を設定しないでください。
次に例を示します。
GET /subscriptions/00000000-0000-0000-0000-00000000000/resourceGroups/MyResourceGroupName/providers/Microsoft.OperationalInsights/workspaces/MyWorkspaceName/Tables?api-version=2021-12-01-preview
特定のテーブルの保持ポリシーを取得するには、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
保持データを消去する
既存の保持期間ポリシーを短縮すると、Azure Monitor で保持が不要となったデータを削除するのに数日かかります。
データ保持ポリシーを 30 日に設定した場合、Azure Resource Manager で immediatePurgeDataOn30Days
パラメーターを使用して古いデータをすぐに削除できます。 消去機能は、個人データをすぐに削除する必要がある場合に便利です。 即時消去機能は、Azure portal からは利用できません。
immediatePurgeDataOn30Days
パラメーターを設定しない場合、30 日間の保持ポリシーが設定されているワークスペースでは、データが 31 日間保持される可能性があります。
個人データを削除する消去機能 を使用して、ワークスペースからデータを消去することもできます。 アーカイブされたログからデータを消去することはできません。
Log Analytics の Purge API は、保持の課金に影響しません。 保持コストを削減するには、"ワークスペースまたは特定のテーブルの保持期間を短くします。"
一意の保持ポリシーを持つテーブル
既定では、2 つのデータ種類 (Usage
と AzureActivity
) は、少なくとも 90 日間無料でデータを保持します。 ワークスペースの保持期間が 90 日を超えた場合、これらのデータの種類の保持期間も長くなります。 このデータを 90 日間を超えて保持された場合は課金されます。 これらのテーブルも、データ インジェスト料金の対象になりません。
Application Insights リソースに関連するテーブルでも、データは 90 日間無料で保持されます。 これらの各テーブルの保持ポリシーは、個別に調整できます。
AppAvailabilityResults
AppBrowserTimings
AppDependencies
AppExceptions
AppEvents
AppMetrics
AppPageViews
AppPerformanceCounters
AppRequests
AppSystemEvents
AppTraces
価格モデル
アーカイブされたログの保持に対する料金は、アーカイブしたデータの量 (GB 単位) と、データをアーカイブした日数に基づいて計算されます。
詳細については、「Azure Monitor の価格 」を参照してください。
クラシック Application Insights リソースのデータ保持期間を設定する
ワークスペース ベースの Application Insights リソースは Log Analytics ワークスペースにデータを格納するため、ワークスペースに対するデータ保持とアーカイブの設定に含まれます。 クラシック Application Insights リソースには、別の保持設定があります。
Application Insights リソースの既定の保持期間は 90 日です。 Application Insights リソースごとに異なる保持期間を選択できます。 使用可能な保持期間の完全なセットは、30 日、60 日、90 日、120 日、180 日、270 日、365 日、550 日、または 730 日です。
保持期間を変更するには、ご利用の Application Insights リソースから [使用量と推定コスト] ページに移動し、[データ保持期間] オプションを選択します。
保持期間が短縮された場合、最も古いデータが削除されるまでに数日の猶予期間が発生します。
この保持期間は retentionInDays
パラメーターを使用し、PowerShell でプログラムにより設定 することもできます。 データ保持期間を 30 日に設定すると、immediatePurgeDataOn30Days
パラメーターを使用して、古いデータの即時消去をトリガーできます。 コンプライアンス関連シナリオの場合は、この方法が役立つことがあります。 この消去機能は、Azure Resource Manager 経由でのみ公開されます。また、使用するときは細心の注意を払う必要があります。 データ ボリュームの上限の 1 日あたりのリセット時間は、Azure Resource Manager を使用して、dailyQuotaResetTime
パラメーターを設定することで構成できます。
次のステップ