Log Analytics 작업 영역은 다음 두 가지 상태로 데이터를 유지합니다.
- 대화형 보존: 이 상태에서는 모니터링, 문제 해결 및 거의 실시간 분석에 데이터를 사용할 수 있습니다.
- 장기 보존: 이 저비용 상태에서는 테이블 계획 기능에 데이터를 사용할 수 없지만 검색 작업을 통해 액세스할 수 있습니다.
이 문서에서는 Log Analytics 작업 영역에서 데이터를 유지하는 방법과 작업 영역에서 테이블의 데이터 보존을 관리하는 방법을 설명합니다.
대화형, 장기 및 총 보존
기본적으로 Log Analytics 작업 영역의 모든 테이블은 기본 보존 기간이 90일인 로그 테이블을 제외하고 30일 동안 데이터를 보존합니다. 대화형 보존 기간인 이 기간 동안 쿼리를 통해 테이블에서 데이터를 검색할 수 있으며 테이블 계획에 따라 시각화, 경고, 기타 기능 및 서비스에 데이터를 사용할 수 있습니다.
분석 계획을 사용하여 테이블의 대화형 보존 기간을 최대 2년까지 연장할 수 있습니다. 기본 및 보조 계획에는 30일의 고정 대화형 보존 기간이 있습니다.
참고
API 또는 CLI를 사용하여 Analytics 테이블의 대화형 보존 기간을 4일로 줄일 수 있습니다. 그러나 수집 가격에는 31일의 대화형 보존 기간이 포함되므로 보존 기간을 31일 미만으로 낮추어도 비용이 절감되지 않습니다.
대화형 보존 기간을 초과하여 동일한 테이블에 데이터를 보존하려면 테이블의 총 보존 기간을 최대 12년까지 확장합니다. 대화형 보존 기간이 끝나면 데이터는 구성하는 총 보존 기간의 나머지 기간 동안 테이블에 유지됩니다. 장기 보존 기간인 이 기간 동안 검색 작업을 실행하여 테이블에서 필요한 특정 데이터를 검색하고 검색 결과 테이블의 대화형 쿼리에 사용할 수 있도록 합니다.
보존 수정의 작동 방식
테이블의 총 보존 기간을 줄이면 Azure Monitor 로그는 데이터를 제거하기 전에 30일을 대기하므로, 구성에서 오류가 발생한 경우 변경 내용을 되돌리고 데이터 손실을 방지할 수 있습니다.
총 보존 기간을 늘리면 테이블에 이미 수집되어 아직 제거되지 않은 모든 데이터에 새 보존 기간이 적용됩니다.
기존 데이터를 사용하여 테이블의 장기 보존 설정을 변경하면 변경 내용이 즉시 적용됩니다.
예제:
- 대화형 보존이 180일이고 장기 보존이 없는 기존 분석 테이블이 있습니다.
- 총 보존 기간인 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 작업 영역에 대한 것입니다, 예를 들어 |
Log Analytics 작업 영역에 있는 모든 테이블의 기본 대화형 보존 기간은 30일입니다. 작업 영역 수준 데이터 보존 설정을 수정하여 Analytics 테이블의 기본 대화형 기간을 최대 2년으로 변경할 수 있습니다. 기본 및 보조 테이블에는 30일의 고정 대화형 보존 기간이 있습니다.
기본 작업 영역 수준 데이터 보존 설정을 변경하면 기본 설정이 작업 영역에 계속 적용되는 모든 Analytics 테이블에 자동으로 영향을 줍니다. 특정 테이블의 대화형 보존을 이미 변경한 경우 작업 영역 기본 데이터 보존 설정을 변경할 때 해당 테이블은 영향을 받지 않습니다.
중요
보존 기간이 30일인 작업 영역은 31일 동안 데이터를 보관할 수 있습니다. 개인정보처리방침을 준수하기 위해 30일 동안만 데이터를 보존해야 하는 경우 API를 사용하여 기본 작업 영역 보존을 30일로 구성하고 immediatePurgeDataOn30Days
작업 영역 속성을 true
로 업데이트합니다. 이 작업은 현재 Workspaces - Update API를 통해서만 지원됩니다.
Log Analytics 작업 영역 내에서 Analytics 테이블의 기본 대화형 보존 기간을 설정하려면:
Azure Portal의 Log Analytics 작업 영역 메뉴에서 작업 영역을 선택합니다.
왼쪽 창에서 사용량 및 예상 비용을 선택합니다.
페이지 상단에서 데이터 보존 아이콘을 선택합니다.
슬라이더를 이동하여 일 수를 늘리거나 줄인 다음 확인을 선택합니다.
Log Analytics 작업 영역 내에서 Analytics 테이블의 기본 대화형 보존 기간을 설정하려면 작업 영역 - 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 cmdlet을 사용하여 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 작업 영역 메뉴에서 테이블을 선택합니다.
테이블 화면에는 작업 영역의 모든 테이블이 나열됩니다.
구성하려는 테이블의 바로 가기 메뉴를 선택하고 테이블 관리를 선택합니다.
테이블 구성 화면의 데이터 보존 설정 섹션에서 대화형 보존 및 총 보존 설정을 구성합니다.
테이블에 대한 보존 설정을 수정하려면 테이블 - 업데이트 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로 설정하면 작업 영역 보존이 적용됩니다. 기본 및 보조 로그 테이블의 경우 값은 항상 30입니다. |
속성.전체보존기간일수 |
정수 |
장기 보존을 포함한 테이블의 총 데이터 보존입니다. 이 값은 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
}
}
응답
상태 코드: 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 작업 영역 테이블 업데이트 명령을 실행하고 --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 cmdlet을 사용하여 테이블의 보존 설정을 수정합니다. 이 예제에서는 테이블의 대화형 보존 기간을 30일로 설정하고 총 보존 기간을 2년으로 설정합니다. 즉, 장기 보존 기간은 23개월입니다.
Update-AzOperationalInsightsTable -ResourceGroupName ContosoRG -WorkspaceName ContosoWorkspace -TableName AzureMetrics -RetentionInDays 30 -TotalRetentionInDays 730
작업 영역의 기본 대화형 보존 값을 테이블에 다시 적용하고 총 보존 기간을 0으로 다시 설정하려면 Update-AzOperationalInsightsTable cmdlet을 실행하고 -RetentionInDays
및 -TotalRetentionInDays
매개 변수를 -1
로 설정합니다.
예시:
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
)을 가져오려면테이블 - 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 작업 영역 테이블 표시 명령을 실행합니다.
예시:
az monitor log-analytics workspace table show --subscription ContosoSID --resource-group ContosoRG --workspace-name ContosoWorkspace --name SecurityEvent
특정 테이블의 보존 설정을 가져오려면 Get-AzOperationalInsightsTable cmdlet을 실행합니다.
예시:
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 가격을 참조하세요.
다음 단계
자세히 알아보기: