azure - 是否需要对 Azure Application Insights 进行补充日志记录?
问题描述
不要误会我的意思。我认为 Application Insight (AI) 非常棒——尤其是在统计服务的使用量、成功或失败的数量等方面。
但是还有其他类型的日志记录,例如需要记录消息、特定事件的开始和停止时间等。我的感觉是这种类型的日志记录并不真正适合 AI?
例如,AI 使用采样来减少日志数据量,即使我可以使用 customEvents 并通过 SDK 避免对那种类型的 av 数据进行采样,这将是很多工作,最终会出现“与框架对抗”砍伐。我在这里也不是在谈论单个服务,而是在需要端到端日志记录和可见性的数百种不同服务。
所以问题很简单——我的感觉是不是错了,我应该尝试使用 AI 来进行所有类型的日志记录?或者我是否应该尝试例如在 Azure 表存储中添加其他类型的日志记录,以用于对 AI 而言并非真正自然的日志记录类型(如果是这样的话,将不胜感激有关最佳实践的想法)?
解决方案
一如既往,这取决于。当然,您可以将 AI 用于所有日志记录,但这是有代价的。当您记录大量数据时,人工智能并不便宜。此外,根据您的用例,最大值。90天的保留期可能会太短。
需要考虑的一些事项:
- 您可以通过使用自定义的
TelemetryClient
. 从常见问题解答:
我一直想看到某些罕见的事件。我怎样才能让它们通过采样模块?
使用新的 TelemetryConfiguration(不是默认的 Active 配置)初始化 TelemetryClient 的单独实例。用它来发送你的罕见事件。
- 默认情况下不对指标进行抽样(来源):
Application Insights 不会对指标和会话遥测类型进行采样。对于这些遥测类型,精度的降低可能是非常不可取的。
我们最终使用了混合场景:我们将所有指标和事件记录到 AI,因为对于快速分析,AI(尤其是Application Insights Query Analytics)是王道。
但我们还将汇总统计信息存储到 Azure 存储表,并将所有事件存储到 Azure 存储 Blob(您可以为此使用持续导出,但我们没有)。这使我们能够收集长期统计数据,并且通过将所有事件放在 blob 中,我们可以使用 Powerbi、Azure Data Lake Analytics 和其他工具进行分析和可视化。
看看这两个定价计划。我们有 5 个节点,所以我们确实选择了企业定价计划,因为每个节点的免费数据上限对我们有利。
推荐阅读
- list - Haskell 编译器在简单列表代码上的错误
- cuda - CUDA cudaMemcpyAsync 使用单个流来托管
- python - 通过python具有多个组的ngroup
- java - 在 Android Studio 中读取二进制数据
- python - /account/delete/testuser1 处的 AttributeError:“str”对象没有属性“field”
- javascript - React Redux - 组件不会在使用嵌套属性的状态更改时重新渲染
- discord.py - TypeError: can't send non-None value to a just-started coroutine discord.py
- c++ - 如何从用 g++ 编译的 Windows 程序中删除控制台?
- python - 如何从 pd.cut 范围中获取第一个值
- c# - C# 如何在调用 P/Invoke Sendmessage 时捕获 WIN32 0XFFFF 异常