Log Analytics工作区将日志数据存储在表中。 每个表都是定义数据形状的列的集合,每一行都是日志记录。 表配置控制数据的收集方式、架构的外观、数据的保留时间以及存储和查询的成本。 本文介绍Azure Monitor日志中表背后的主要概念。
下图显示了表的主要配置选项:
表类型
Log Analytics工作区包含多种类型的表。 表类型确定数据源、架构的定义方式以及是否可以修改架构。
| 表类型 | 数据源 | 架构 |
|---|---|---|
| Azure 表 | Azure 资源中的日志,或 Azure 服务和解决方案所需的日志 | Azure Monitor 日志根据你使用的 Azure 服务和为特定资源配置的诊断设置自动创建 Azure 表。 每个 Azure 表都有一个预定义的架构。 可以 添加自定义列 来存储转换或扩充的数据。 |
| 自定义表 | 非Azure资源和任何其他数据源,例如基于文件的日志 | 根据收集的数据定义架构。 请参阅 在 Azure Monitor Logs 中添加或删除表和列。 |
| 搜索结果 | 存储在Log Analytics工作区中的所有数据 | 架构基于 运行搜索作业时定义的查询。 无法编辑现有搜索结果表的架构。 |
| 还原的日志 | 存储在工作区中特定表中的数据 | 还原的日志表与 从中还原日志的源表具有相同的架构。 无法编辑现有还原日志表的架构。 |
桌位安排
根据访问表中的数据的频率以及所需的查询功能配置表的计划:
| 表计划 | 建议的用例 |
|---|---|
| Analytics | 持续监视、实时检测和性能分析。 此计划使日志数据在30天到两年的时间内,能够用于交互式多表查询,以及供各种功能和服务使用。 |
| 基本 | 故障排除和事件响应。 此计划提供为期 30 天的折扣引入和优化单表查询。 |
| 辅助 | 低接触性数据,例如详细的日志,以及用于审核和合规性的数据。 此方案为整个保留期提供低成本的数据摄取和未经过优化的单表查询。 |
有关表计划的完整详细信息,请参阅 Azure Monitor 日志表计划。
Retention
每个表都有两个保留阶段:
| 数据表保留阶段 | Description |
|---|---|
| 交互留存 | 数据可用于查询、警报和其他Azure Monitor功能的时间段。 分析表的交互式保留期范围为 4 到 730 天,基本表和辅助表的保留期固定为 30 天。 |
| 长期保留 | 一个低成本扩展,用于将数据保留在工作区中,以便进行合规性或偶尔的调查,而无需使其可用于连续查询。 若要访问长期保留的数据,请运行搜索作业。 |
使用 表级保留设置 为每个表单独设置这两个阶段。
若要访问长期保留的数据,请运行搜索作业。 搜索作业是一种按需查询,可针对工作区中的整个数据集运行,包括长期保留的数据。 有关详细信息,请参阅 Azure Monitor 日志中的搜索作业。
引入时转换
在日志数据到达表之前,可以使用数据收集规则筛选掉不需要的记录并转换数据以匹配表架构。 转换在引入时运行,因此仅存储已处理的数据,从而降低成本并简化下游查询。
有关详细信息,请参阅 Azure Monitor 中的数据收集转换。
表架构
表的架构是一组列,用于定义表可以保存的数据。 架构包括列名称和数据类型。
列数据类型
根据 Tables API 的报告,Log Analytics 工作区表中的列支持以下数据类型:
| 类型 | Description |
|---|---|
string |
文本值 |
int |
32位整数 |
long |
64 位整数 |
real |
双精度浮点数 |
boolean |
判断对错 |
dynamic |
JSON 对象或数组 |
datetime |
日期和时间值 |
guid |
GUID 值以 string 形式存储和查询。 |
数据收集规则(DCR)支持 其流声明中的数据类型,但不支持 guid 类型。 Azure Monitor日志将 GUID 值存储为 string 类型。 显示的 guid 标签只是一个逻辑类型注释,它的行为与 string 所有引入和查询操作的行为完全相同。
不需要表达式 transformKql 才能将 GUID 值转换为字符串。 Azure Monitor日志将 GUID 值写入字符串,而不考虑源数据如何序列化它们。