发现基于日志的指标
使用基于 Application Insights 日志的指标可以分析受监视应用的运行状况、创建功能强大的仪表板和配置警报。 有两种类型的指标:
- 后台 基于日志的指标将转换为来自存储事件的 Kusto 查询。
- 标准指标 存储为预聚合时序。
由于 标准指标 在收集期间预先聚合,因此它们在查询时具有更好的性能。 在仪表板展示和实时警报中,标准指标是更好的选项。 基于日志的指标 具有更多维度,这使得它们成为数据分析和临时诊断的优越选项。 使用 命名空间选择器 在 指标资源管理器中基于日志的指标和标准指标之间进行切换。
基于日志的指标
开发人员可以使用 SDK 手动发送事件(通过编写显式调用 SDK 的代码),也可以依赖于自动检测中的自动事件集合。 无论哪种情况,Application Insights 后端都会将所有收集的事件存储为日志,Azure 门户中的 Application Insights 边栏选项卡充当分析和诊断工具,用于可视化日志中基于事件的数据。
使用日志保留一组完整的事件可以带来出色的分析和诊断价值。 例如,您可以获取对特定 URL 请求的确切计数,并了解发出这些请求的不同用户数量。 或者,可以获取详细的诊断跟踪,包括任何用户会话中的异常和依赖调用。 拥有这种类型的信息可以显著提高应用程序运行状况和使用情况的可见性,从而缩短诊断应用问题所需的时间。
同时,对于生成大量遥测的应用程序,收集一组完整的事件可能不切实际(甚至不可能)。 对于事件量过高的情况,Application Insights 会实施多种遥测量减少技术,例如采样和筛选,以减少收集和存储的事件数。 遗憾的是,降低存储事件的数量会导致在后台需要对日志中存储的事件执行查询时聚合的指标准确性降低。
预聚合指标
预先聚合的指标不会存储为具有大量属性的单个事件。 相反,它们存储为预先聚合的时序数据,并且仅存储关键维度。 这使得新的指标在查询时优于:检索数据的速度更快,并且需要更少的计算能力。 这可实现新方案,例如对指标维度进行近实时警报、响应性更高的仪表板等。
重要
基于日志的指标和预先聚合的指标在 Application Insights 中共存。 为了区分这两个指标,在 Application Insights UX 中,预聚合指标现在称为“标准指标(预览版),而事件中的传统指标则重命名为”基于日志的指标”。
较新的 SDK(Application Insights 2.7 SDK 或更高版本,用于 .NET)在收集期间预聚合指标。 这适用于默认发送 标准指标,因此准确性不受采样或筛选的影响。 它还适用于使用 GetMetric 发送的自定义指标,从而减少数据引入和降低成本。
对于未实现预聚合的 SDK,Application Insights 后端仍通过聚合 Application Insights 事件收集终结点收到的事件来填充新指标。 虽然无法受益于通过网络传输的数据量减少,但仍可以使用预先聚合的指标,并体验更好的性能和对在收集期间不预先聚合指标的 SDK 的近实时维度警报的支持。
值得一提的是,收集终结点在进行摄取采样之前会先预聚合事件,这意味着 摄取采样 永远不会影响预聚合指标的准确性,无论您所用的应用程序 SDK 版本如何。