有什么方法/技巧/解决方法可以降低 Azure Application Insight 成本?我每天都会摄取大量数据(大约 20M)。数据采样设置为 5%,即使在 Application Insights 中每天摄取 5GB 数据后也是如此。
Application Insights 有 90 天的默认保留期,但即使在 7 天后我也不需要数据。
注意:我只在 Application Insights 中发送信息日志,信息量极少。
有什么方法/技巧/解决方法可以降低 Azure Application Insight 成本?我每天都会摄取大量数据(大约 20M)。数据采样设置为 5%,即使在 Application Insights 中每天摄取 5GB 数据后也是如此。
Application Insights 有 90 天的默认保留期,但即使在 7 天后我也不需要数据。
注意:我只在 Application Insights 中发送信息日志,信息量极少。
您可以进行更积极的采样。还要查看正在发送的“信息日志”。也许你可以不发送很多人而生活。还要查看所有自动收集的遥测数据——如果有你不关心的东西——(例如:性能计数器),删除它们。另请查看由应用程序洞察团队成员撰写的此 Msdn 博客:https ://msdn.microsoft.com/magazine/mt808502.aspx
我想在这里补充几点对我有帮助。
在正确的类别中查看日志记录和日志数据。(详细、信息、错误等)。大多数时候(仅用于调试的详细信息)仅使用信息和错误日志。
在一行中合并多行日志。它将减少系统生成的列数据。
老的
log.Info($"SerialNumber :" serialNumber)
log.Info($"id :" id)
log.Info($"name :" name)
新的
log.Info($"SerialNumber, id, name :" serialNumber + id + name);
检查traces
集合customDimensions
。对我来说,有很多系统生成的数据,比如线程名、记录器名和类名。我在记录器中做了一些更改,现在我的customDimensions
列是空的。
减少一些系统生成的日志
{ "logger": { "categoryFilter": { "defaultLevel": "Information", "categoryLevels": { "Host": "Error", "Function": "Error", "Host.Aggregator": "Information" } } } }
以上所有要点都有助于我减少日志数据,希望对其他人有所帮助。