首页 > 解决方案 > 是否需要对 Azure Application Insights 进行补充日志记录?

问题描述

不要误会我的意思。我认为 Application Insight (AI) 非常棒——尤其是在统计服务的使用量、成功或失败的数量等方面。

但是还有其他类型的日志记录,例如需要记录消息、特定事件的开始和停止时间等。我的感觉是这种类型的日志记录并不真正适合 AI?

例如,AI 使用采样来减少日志数据量,即使我可以使用 customEvents 并通过 SDK 避免对那种类型的 av 数据进行采样,这将是很多工作,最终会出现“与框架对抗”砍伐。我在这里也不是在谈论单个服务,而是在需要端到端日志记录和可见性的数百种不同服务。

所以问题很简单——我的感觉是不是错了,我应该尝试使用 AI 来进行所有类型的日志记录?或者我是否应该尝试例如在 Azure 表存储中添加其他类型的日志记录,以用于对 AI 而言并非真正自然的日志记录类型(如果是这样的话,将不胜感激有关最佳实践的想法)?

标签: azureloggingarchitectureazure-application-insights

解决方案


一如既往,这取决于。当然,您可以将 AI 用于所有日志记录,但这是有代价的。当您记录大量数据时,人工智能并不便宜。此外,根据您的用例,最大值。90天的保留期可能会太短。

需要考虑的一些事项:

我一直想看到某些罕见的事件。我怎样才能让它们通过采样模块?

使用新的 TelemetryConfiguration(不是默认的 Active 配置)初始化 TelemetryClient 的单独实例。用它来发送你的罕见事件。

  • 默认情况下不对指标进行抽样(来源):

Application Insights 不会对指标和会话遥测类型进行采样。对于这些遥测类型,精度的降低可能是非常不可取的。

我们最终使用了混合场景:我们将所有指标和事件记录到 AI,因为对于快速分析,AI(尤其是Application Insights Query Analytics)是王道。

但我们还将汇总统计信息存储到 Azure 存储表,并将所有事件存储到 Azure 存储 Blob(您可以为此使用持续导出,但我们没有)。这使我们能够收集长期统计数据,并且通过将所有事件放在 blob 中,我们可以使用 Powerbi、Azure Data Lake Analytics 和其他工具进行分析和可视化。

看看这两个定价计划。我们有 5 个节点,所以我们确实选择了企业定价计划,因为每个节点的免费数据上限对我们有利。


推荐阅读