如何降低 Azure Application Insight 成本

How to reduce Azure Application Insight cost

有什么way/trick/workaround可以降低 Azure Application Insight 的成本吗?我每天都有大量的数据(大约 20M)摄取。数据采样集 5%,即使在 Application Insights 中每天摄取 5GB 数据之后。

Application Insights 有 90 天的默认保留期,但即使在 7 天后我也不需要数据。

注意:我只发送 信息 应用程序洞察日志,其中包含最少的信息。

您可以进行更积极的采样。还要查看 "info logs" 发送的内容。也许你可以不派很多人生活。还要查看所有自动收集的遥测数据 - 如果有您不关心的内容 -(例如:性能计数器),请将其删除。 另请查看由应用程序洞察团队成员撰写的此 Msdn 博客:https://msdn.microsoft.com/magazine/mt808502.aspx

我想在这里补充几点对我有帮助。

  1. 检查正确类别中的日志记录和日志数据。 (详细、信息、错误等)。大多数时候(详细仅用于调试)仅使用信息和错误日志。

  2. 将多行日志合并为一行。它将减少系统生成的列数据。

log.Info($"SerialNumber :" serialNumber)
log.Info($"id :" id)
log.Info($"name :" name)

新建

log.Info($"SerialNumber, id, name :" serialNumber + id + name);
  1. 检查 traces 集合 customDimensions。对我来说,有很多系统生成的数据,比如线程名称、记录器名称和 class 名称。我在记录器中做了一些更改,现在我的 customDimensions 列是空的。

  2. 减少一些系统生成的日志

    { "logger":{ "categoryFilter":{ "defaultLevel": "Information", "categoryLevels":{ "Host": "Error", "Function": "Error", "Host.Aggregator": "Information" } } } }

以上几点帮助我减少日志数据,希望对其他人有所帮助。