探索 Application Insights
Application Insights 是 Azure Monitor 的一个扩展,提供应用程序性能监视 (APM) 功能。 APM 工具可用于通过以下方式监视从应用程序开发到测试,再到生产的整个生命周期:
- 主动了解应用程序的执行情况。
- 被动查看应用程序执行数据以确定事件的原因。
除了收集描述应用程序活动与运行状况的指标和应用程序遥测数据外,Application Insights 还可用于收集和存储应用程序跟踪日志记录数据。
日志跟踪与其他遥测数据相关联,以提供活动的详细视图。 只需提供日志的目标即可将跟踪日志记录添加到现有应用;日志记录框架很少需要更改。
Application Insights 功能概述
功能包括但不限于:
功能 | 描述 |
---|---|
实时指标 | 实时观察部署的应用程序的活动,而不影响主机环境。 |
可用性 | 也称为“综合事务监视”,可以探测应用程序外部终结点以测试不同时间的整体可用性和响应能力。 |
GitHub 或 Azure DevOps 集成 | 在 Application Insights 数据的上下文中创建 GitHub 或 Azure DevOps 工作项。 |
使用情况 | 了解哪些功能受用户欢迎,以及用户如何与应用程序交互和使用应用程序 |
智能检测 | 通过主动遥测分析自动检测故障和异常。 |
应用程序地图 | 应用程序体系结构的概要性俯视视图,以及组件运行状况和响应能力的概览式视觉参考信息。 |
分布式跟踪 | 搜索和可视化给定执行或事务的端到端流。 |
Application Insights 的监视对象
Application Insights 收集指标和应用程序遥测数据,这些数据描述应用程序活动和运行状况,以及跟踪日志记录数据。
- 请求率、响应时间和失败率 - 了解最受欢迎的页面、时段以及用户的位置。 查看哪些页面效果最好。 当有较多请求时,如果响应时间长且失败率高,则可能存在资源问题。
- 依赖项速率、响应时间和失败率 - 了解外部服务是否正拖慢速度。
- 异常 - 分析聚合的统计信息,或选择特定实例并钻取堆栈跟踪和相关请求。 报告服务器和浏览器异常。
- 页面查看次数和负载性能 - 由用户的浏览器报告。
- AJAX 调用(从网页) - 速率、响应时间和失败率。
- 用户和会话计数。
- Windows 或 Linux 服务器计算机中的性能计数器,例如 CPU、内存和网络使用情况。
- Docker 或 Azure 中的主机诊断。
- 应用中的诊断跟踪日志- 可以将跟踪事件与请求相关联。
- 在客户端或服务器代码中自行编写的自定义事件和指标,用于跟踪业务事件(例如销售的商品或赢得的游戏)。
Application Insights 入门
Application Insights 是 Microsoft Azure 中托管的众多服务之一,遥测会发送到此处进行分析和展示。 可免费注册该订阅,如果选择 Application Insights 的基本pricing plan(定价计划),不会产生费用,但如果应用的使用量大幅增加,会产生费用。
可以通过多种方式开始监视和分析应用性能:
- 运行时:检测服务器上的 Web 应用。 非常适合已部署的应用程序。 避免任何代码更新。
- 开发时:将 Application Insights 添加到代码。 可以自定义遥测数据收集和发送更多遥测数据。
- 针对页面视图、AJAX 和其他客户端遥测 检测网页 。
- 通过与 Visual Studio App Center 集成 分析移动应用使用情况 。
- 可用性测试 - 从我们的服务器定期对网站执行 ping 操作。