代码之家  ›  专栏  ›  技术社区  ›  Jörg W Mittag

是否需要对Azure应用程序细节进行补充日志记录?

  •  0
  • Jörg W Mittag  · 技术社区  · 7 年前

    别误会我。我认为ApplicationInsight(AI)是令人惊讶的——特别是当它在统计上看到有多少服务被使用,有多少服务成功或失败等。

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

    例如,人工智能的用途 sampling 为了减少日志数据的数量,即使我可以使用customvents并通过sdk避免对该类型的av数据进行采样,这将是一项大量的工作,并最终导致“针对框架工作”的感觉。我也不是在这里讨论单个服务,而是在需要端到端日志记录和可见性的数百个不同的服务。

    所以任务很简单——我感觉不对吗?我应该尝试在所有类型的日志中使用人工智能?或者,我应该尝试添加额外类型的日志记录吗?比如,在Azure表存储中添加对人工智能来说不太自然的日志记录类型(如果是这样的话,这里的最佳实践建议会受到赞赏)?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Peter Bons    7 年前

    一如既往,这要看情况而定。当然是你 可以 所有的日志都使用人工智能,但它是有代价的。当你记录大量数据时,人工智能并不便宜。另外,根据您的使用案例,最长保留期可能会缩短90天。

    需要考虑的一些事项:

    • 您可以使用自定义的 TelemetryClient . 来自 Faq :

    我总是想看到一些罕见的事件。如何让它们通过采样模块?

    使用新的遥测配置(不是默认的活动配置)初始化遥测客户端的单独实例。用它来发送你罕见的事件。

    • 默认情况下不采样度量值( source ):

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

    我们最终使用了一个混合场景:我们将所有度量和事件记录到人工智能中,因为为了快速分析人工智能(尤其是 Application Insights Query Analytics )是国王。

    但我们也将汇总的统计数据存储到Azure存储表中, 全部的 事件到Azure存储blobs(您可以使用 Continuous Export 为此,我们没有)。这使我们能够收集长期的统计数据,通过将所有事件都放在blob中,我们可以使用powerbi、azure data lake analytics和其他工具进行分析和可视化。

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