使用 Log Analytics 工作区,你可以将来自 Azure 资源和非 Azure 资源的日志数据收集到一个空间中进行分析、供其他服务(如 Sentinel)使用,以及用于通过某种方式(例如通过 Azure 逻辑应用)触发警报和操作。 Log Analytics 工作区由表组成,你可以配置这些表来管理数据模型、数据访问和日志相关成本。 本文介绍 Azure Monitor 日志中的表配置选项,以及如何根据数据分析和成本管理需求设置表属性。
表属性
此图概述了 Azure Monitor 日志中的表配置选项:
表类型和架构
表的架构是构成表的列集,其中的日志数据则是由 Azure Monitor 日志从一个或多个数据源收集的。
Log Analytics 工作区可以包含以下类型的表:
表类型 |
数据源 |
架构 |
Azure 表 |
来自 Azure 资源的日志或 Azure 服务和解决方案所需的日志。 |
Azure Monitor 日志根据你使用的 Azure 服务和为特定资源配置的诊断设置自动创建 Azure 表。 每个 Azure 表都有一个预定义的架构。 可以将列添加到 Azure 表,以存储转换后的日志数据,或使用来自其他源的数据扩充 Azure 表中的数据。 |
自定义表 |
非 Azure 资源和任何其他数据源,例如基于文件的日志。 |
对于从给定数据源收集的数据,可以根据你所希望的数据存储方式定义自定义表的架构。 |
搜索结果 |
所有数据存储在 Log Analytics 工作区中。 |
搜索结果表的架构基于运行搜索作业时定义的查询。 无法编辑现有搜索结果表的架构。 |
还原的日志 |
存储在 Log Analytics 工作区中的特定表中的数据。 |
还原日志表与你从中还原日志的表具有相同的架构。 无法编辑现有还原日志表的架构。 |
表计划
根据你访问表中数据的频率配置表的计划:
- Analytics 计划适用于持续监视、实时检测和性能分析。 此计划使日志数据在30天到两年的时间内,能够用于交互式多表查询,以及供各种功能和服务使用。
- “基本”计划适用于故障排除和事件响应。 此计划提供为期 30 天的折扣引入和优化单表查询。
- “辅助”计划适用于低接触数据(例如详细日志),以及用于审核与法规遵从的数据。 此计划提供为期 30 天的低成本引入和未优化的单表查询。
有关 Azure Monitor 日志表计划的完整详细信息,请参阅 Azure Monitor 日志:表计划。
长期保留
长期保留是一种低成本解决方案,用于保留你在工作区中不经常使用的数据,以满足合规性或用于偶尔的调查。 使用表级保留设置添加或延长长期保留。
若要访问长期保留的数据,请运行搜索作业。
通过使用数据收集规则根据你为自定义表定义的架构在引入之前筛选和转换数据,降低成本和分析工作量。
查看表属性
在 Azure 门户中查看和设置表属性:
从 Log Analytics 工作区中,选择“表”。
“表”屏幕显示 Log Analytics 工作区中所有表的表配置信息。
选择表右侧的省略号 (...) 以打开表管理菜单。
可用的表管理选项因表类型而异。
选择“管理表”以编辑表属性。
选择“编辑架构”以查看和编辑表架构。
若要查看表属性,请调用表 - 获取 API:
GET https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/{tableName}?api-version=2021-12-01-preview
响应正文
名称 |
类型 |
说明 |
properties.plan |
字符串 |
表计划。 Analytics , Basic 或 Auxiliary 。 |
properties.retentionInDays |
整数 |
表的交互式保留期(以天为单位)。 对于 Basic 和 Auxiliiary ,此值为 30 天。 对于 Analytics ,此值介于 4 到 730 天之间。 |
properties.totalRetentionInDays |
整数 |
表的总数据保留,包括交互式和长期保留。 |
properties.archiveRetentionInDays |
整数 |
表的长期保留期(只读、计算)。 |
properties.lastPlanModifiedDate |
字符串 |
上次为此表设置计划的时间。 如果从未对默认设置进行任何更改,则为 NULL(只读)。 |
示例请求
GET https://management.azure.com/subscriptions/ContosoSID/resourcegroups/ContosoRG/providers/Microsoft.OperationalInsights/workspaces/ContosoWorkspace/tables/ContainerLogV2?api-version=2021-12-01-preview
示例响应
状态代码:200
{
"properties": {
"retentionInDays": 8,
"totalRetentionInDays": 8,
"archiveRetentionInDays": 0,
"plan": "Basic",
"lastPlanModifiedDate": "2022-01-01T14:34:04.37",
"schema": {...},
"provisioningState": "Succeeded"
},
"id": "subscriptions/ContosoSID/resourcegroups/ContosoRG/providers/Microsoft.OperationalInsights/workspaces/ContosoWorkspace",
"name": "ContainerLogV2"
}
若要设置表属性,请调用表 - 创建或更新 API。
若要使用 PowerShell 查看表属性,请运行:
Invoke-AzRestMethod -Path "/subscriptions/ContosoSID/resourcegroups/ContosoRG/providers/microsoft.operationalinsights/workspaces/ContosoWorkspace/tables/Heartbeat?api-version=2021-12-01-preview" -Method GET
示例响应
{
"properties": {
"totalRetentionInDays": 30,
"archiveRetentionInDays": 0,
"plan": "Analytics",
"retentionInDaysAsDefault": true,
"totalRetentionInDaysAsDefault": true,
"schema": {
"tableSubType": "Any",
"name": "Heartbeat",
"tableType": "Microsoft",
"standardColumns": [
{
"name": "TenantId",
"type": "guid",
"description": "ID of the workspace that stores this record.",
"isDefaultDisplay": true,
"isHidden": true
},
{
"name": "SourceSystem",
"type": "string",
"description": "Type of agent the data was collected from. Possible values are OpsManager (Windows agent) or Linux.",
"isDefaultDisplay": true,
"isHidden": false
},
{
"name": "TimeGenerated",
"type": "datetime",
"description": "Date and time the record was created.",
"isDefaultDisplay": true,
"isHidden": false
},
<OMITTED>
{
"name": "ComputerPrivateIPs",
"type": "dynamic",
"description": "The list of private IP addresses of the computer.",
"isDefaultDisplay": true,
"isHidden": false
}
],
"solutions": [
"LogManagement"
],
"isTroubleshootingAllowed": false
},
"provisioningState": "Succeeded",
"retentionInDays": 30
},
"id": "/subscriptions/{guid}/resourceGroups/{rg name}/providers/Microsoft.OperationalInsights/workspaces/{ws id}/tables/Heartbeat",
"name": "Heartbeat"
}
使用 Update-AzOperationalInsightsTable cmdlet 设置表属性。
后续步骤
了解如何操作: