Azure Monitor 日志成本计算和选项
大多数 Azure Monitor 实现的最大费用通常是在 Log Analytics 工作区中引入和保留数据。 Azure Monitor 中的一些功能没有直接成本,但会将成本附加到收集的工作区数据上。 本文介绍如何计算 Log Analytics 工作区的数据费用,以及影响成本的各种配置选项。
提示
有关降低 Azure Monitor 成本的策略,请参阅成本优化和 Azure Monitor。
定价模型
Log Analytics 的默认定价采用即用即付模型,该模型基于数据引入量和数据保留。 每个 Log Analytics 工作区作为独立服务计费,并在 Azure 订阅的账单中产生相应费用。 Azure Monitor 日志的定价是按区域设置的。 根据以下因素,数据引入量有时会很大:
- 已启用的管理解决方案集及其配置。
- 受监视资源的数量和类型。
- 从每个受监视资源收集的数据类型。
此处提供了 Azure Monitor 计费计量名称的列表。
数据大小计算
Azure Monitor 日志以 GB(10^9 字节)为单位对发送到 Log Analytics 工作区的数据量计费。
Azure Monitor 日志基于以下形式计算单个记录的计费大小:
- Azure Monitor 日志需要在该记录的 Log Analytics 工作区中添加的列条目的字符串表示形式。
注意
该可计费的数据量计算通常远小于整个传入 JSON 打包事件的大小。 在所有事件类型中,计费大小比传入数据大小平均小 25% 左右。 对于小型事件,最多可以达到 50%。 百分比包括从计费中排除的标准列的影响。 在估算成本并与其他定价模型进行比较时,必须了解计费数据大小的这种计算方式。
- 计费大小包括从数据源收集的数据或在引入过程中添加的数据。 例如,此计算包括由日志引入 API、转换和自定义字段添加的任何自定义列。 如果发送与目标表架构不匹配的列条目,则即使目标表无法存储数据,Azure Monitor 日志也会向你收取这些列条目的费用。 请确保数据收集规则与目标表架构匹配,以避免对目标表无法存储的数据收费。
排除的列
所有表都有以下标准列,计算记录大小时不包括这些列。 计算记录大小时包含 Log Analytics 中存储的所有其他列。 标准列包括:
_ResourceId
_SubscriptionId
_ItemId
_IsBillable
_BilledSize
Type
排除的表
有些表完全不收取数据引入费用,其中包括 AzureActivity、Heartbeat、Usage 和 Operation。 此信息始终由 _IsBillable 列指示,该列会显示记录是否已从数据引入和保留计费中排除。
其他解决方案和服务的费用
某些解决方案具有更多关于免费数据引入的特定策略。 例如,Azure Migrate 在服务器评估的前 180 天免费提供依赖项可视化数据。 服务(例如 Microsoft Defender for Cloud 和配置管理)具有自身的定价模型。
有关任何独特的计费计算,请参阅不同服务和解决方案的文档。
承诺层级
除了即用即付模型外,Log Analytics 还具有承诺层级,与即用即付价格相比,使你能够节省最高 30% 的成本。 采用承诺层级定价时,你能够以低于即用即付定价的价格,为工作区购买起始量为 100 GB/天的数据引入量。 对于超出承诺级别的任何使用量(超额),将按当前承诺层级提供的每 GB 价格计费。 (超额使用同一承诺层计费计量进行计费。例如,如果工作区位于 200 GB/天的承诺层中,并且每天引入 300 GB,则使用量将按 200 GB/天承诺层的 1.5 单位计费。从选择或更改承诺层起,承诺层有 31 天的承诺期。
- 在承诺期内,可以更改为更高级别的承诺层级(这将重新开始 31 天的承诺期)。 但在承诺期结束之前,无法返回到即用即付或更低的承诺层级。
- 在承诺期结束时,工作区将保留所选的承诺层级,并且随时可以将工作区移动到即用即付或更低的承诺层级。
- 如果工作区无意中移到了承诺层级,请联系 Azure 支持部门重置承诺期,以便可以移回即用即付定价层。
承诺层级每日按工作区进行计费。 如果工作区包含在专用群集中,则对该群集计费。 请参阅以下“专用群集”部分。 有关承诺层级及其价格的列表,请参阅 Azure Monitor 定价。
Azure 承诺折扣(例如从 Microsoft 企业协议收到的折扣)适用于 Azure Monitor 日志承诺层级定价,与即用即付定价一样。 无论是按工作区还是按专用群集对使用量进行计费,都会应用折扣。
提示
每个 Log Analytics 工作区的“使用情况和估计成本”菜单项显示每个承诺级别的数据引入费用的估计值,以帮助你为数据引入模式选择最佳承诺层。 定期查看此信息,以确定是否可以通过转移到另一层级来减少费用。 有关此视图的信息,请参阅使用情况和预估成本。 若要查看实际费用,请使用 Azure 成本管理 = 计费。
专用群集
Azure Monitor 日志专用群集是单个托管 Azure 数据资源管理器群集中的工作区集合。 专用群集支持客户管理的密钥等高级功能,并使用与工作区相同的承诺层级定价模型,不过,它们必须具有至少 100 GB/天的承诺级别。 对于超出承诺级别的任何使用量(超额),将按当前承诺层级提供的每 GB 价格计费。 群集没有即用即付选项。
在提高承诺级别后,群集承诺层级有 31 天的承诺期。 在承诺期,无法降低承诺层级的级别,但可以随时提高。 关联工作区与群集后,系统将使用所配置的承诺层级别在群集级对相关工作区的数据引入进行计费。
创建群集时,可指定两种群集计费模式:
群集(默认):引入数据的计费在群集级别完成。 每个与群集关联的工作区中的引入数据数量将进行聚合,以计算该群集的每日帐单。 在针对群集中所有工作区的数据进行聚合之前,系统将在工作区级别应用基于 Microsoft Defender for Cloud 的每个节点的分配。
工作区:群集的承诺层级成本按比例归属于群集中的工作区,按每个工作区的数据引入量计算(在计算了 Microsoft Defender for Cloud 的每个工作区的每个节点的分配之后)。
如果群集在一天中引入的总数据量少于承诺层级,将对每个工作区的引入数据按每 GB 有效承诺层级费率进行计费(针对一部分承诺层级计费)。 承诺层级的未使用部分则按群集资源计费。
如果某一天引入到群集中的总数据量高于承诺层级,则每个工作区将基于其当天的引入数据比例按承诺层级的比例进行计费,且每个工作区都将按高于承诺层级的引入数据比例进行计费。 如果某一天引入到工作区中的总数据量超出承诺层级,则不会计费到群集资源。
可在此处找到每种模式下群集计费运作方式的示例。
每个工作区都需要支付数据保留费用,未加入群集的工作区也是如此。
在创建群集时会开始群集计费,无论工作区是否已关联到群集。
将工作区与群集关联时,定价层将更改为群集,将根据群集的承诺层级对引入的数据计费。 与群集关联的工作区不再有自身的定价层。 可随时取消工作区与群集的关联,而且定价层可更改为每 GB。
如果删除群集,即使群集在 31 天的承诺期内,群集的计费也会停止。
有关如何创建专用群集并指定其计费类型的详细信息,请参阅创建专用群集。
基本和辅助表计划
可以将 Log Analytics 工作区中的某些表配置为使用基本和辅助表计划。 这些表中的数据的引入费用会大幅降低。 查询这些表中的数据会产生费用。
查询基本和辅助表中的数据的费用取决于执行搜索时扫描的数据量(按 GB 算)。
有关基本和辅助表计划的详细信息,请参阅 Azure Monitor 日志概述:表计划。
日志数据保留
除了数据引入之外,每个 Log Analytics 工作区中的数据保留都会产生费用。 你可以为整个工作区或每个表设置保留期。 在此期限过后,数据将被删除或长期保留。 在长期保留期内,支付的保留费较低,但使用搜索作业检索数据需要付费。 使用长期保留可降低出于合规性或偶尔调查的目的而必须存储的数据的成本。
删除自定义表不会删除与该表关联的数据,因此你仍要支付交互式保留费和长期保留费。
有关数据保留的详细信息(包括如何配置这些设置以及如何访问长期保留的数据),请参阅管理 Log Analytics 工作区中的数据保留。
注意
使用 Log Analytics 清除功能从 Log Analytics 工作区中删除数据不会影响保留成本。 若要降低保留成本,请缩短工作区或特定表的保留期。
搜索作业
通过运行搜索作业检索长期保留的数据。 搜索作业是异步查询,用于将记录提取到工作区内的新搜索表中,以便进一步分析。 搜索作业按每天为执行搜索而访问的扫描数据 GB 数计费。
日志数据还原
当你需要使用完整分析查询功能来密集查询大量数据或长期保留的数据时,数据还原功能是一个强大的工具。 还原操作使表中数据的特定时间范围在热缓存中可用于高性能查询。 完成后,可以稍后关闭数据。 日志数据还原按还原的数据量和还原保持活动状态的时间计费。 任何数据还原的最小计费值为 2 TB 和 12 小时。 还原超过 2 TB 和/或持续时间超过 12 小时的数据按比例计费。
日志数据导出
使用 Log Analytics 工作区中的数据导出功能,可以在数据到达 Azure Monitor 管道时,将工作区中每个选定表中的数据持续导出到 Azure 存储帐户或 Azure 事件中心。 使用数据导出的费用取决于导出的数据量。 导出的数据大小是导出的 JSON 格式数据中的字节数。
Application Insights 计费
由于基于工作区的 Application Insights 资源将其数据存储在 Log Analytics 工作区中,因此数据引入和保留的计费由 Application Insights 数据所在的工作区完成。 因此,可使用 Log Analytics 定价模型的所有选项,包括承诺层级以及即用即付。
提示
想要调整 Application Insights 表的保留设置? 基于工作区的组件的表名称已更改,请参阅 Application Insights 表结构
经典 Application Insights 资源的数据引入和数据保留遵循与基于工作区的资源相同的即用即付定价,但它们无法使用承诺层级。
进行 ping 测试和多步测试时发送的遥测数据的数据用量计费方式与应用发送的其他遥测数据相同。 使用 Web 测试以及启用自定义指标维度警报时,仍通过 Application Insights 来报告。 使用实时指标流时,不会根据数据量收费。
有关 Application Insights 早期采用者可用的旧层的详细信息,请参阅 Application Insights 旧版企业(按节点)定价层。
使用 Microsoft Sentinel 的工作区
在 Log Analytics 工作区中启用 Microsoft Sentinel 后,在该工作区中收集的所有数据都需要支付 Microsoft Sentinel 费用以及 Log Analytics 费用。 因此,通常会将安全数据和操作数据分开放在不同的工作区,这样操作数据就不会产生 Microsoft Sentinel 费用。
在某些情况下,合并这些数据可以节省成本。 通常,当你没有收集足够多的安全数据和操作数据,导致其均无法达到承诺层级,但合并后的数据足以达到承诺层级时,会出现这种情况。 有关详细信息,请参阅:
使用 Microsoft Defender for Cloud 的工作区
Microsoft Defender for Servers(Defender for Cloud 的一部分)按受监视服务数计费。 它提供 500 MB/服务器/天的数据分配,该分配适用于以下安全数据类型子集:
- SecurityAlert
- SecurityBaseline
- SecurityBaselineSummary
- SecurityDetection
- SecurityEvent
- WindowsFirewall
- SysmonEvent
- ProtectionStatus
- Update 和 UpdateSummary(当工作区中未运行更新管理解决方案或者启用了解决方案目标设定时)。
- MDCFileIntegrityMonitoringEvents
受监视服务器的数目按小时粒度计算。 每个受监视服务器的每日数据分配贡献在工作区级别聚合。 如果工作区位于旧的每节点定价层,则将合并 Microsoft Defender for Cloud 和 Log Analytics 分配,并共用于所有可计费的引入数据。
后续步骤
- 请参阅 Azure Monitor 成本和使用情况,了解不同类型的 Azure Monitor 费用,以及针对 Azure 帐单分析这些费用的方式。
- 请参阅分析 Log Analytics 工作区中的使用情况,详细了解如何分析工作区中的数据以确定任何高于预期的使用情况的来源以及减少收集数据量的机会。
- 请参阅设置 Log Analytics 工作区的每日上限,通过配置每天可在工作区中引入的最大数据量来控制成本。
- 请参阅 Azure Monitor 最佳做法 - 成本管理,了解有关配置和管理 Azure Monitor 以最大程度地减少费用的最佳做法。