使用Application Insights监控应用程序性能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Application Insights监控应用程序性能相关的知识,希望对你有一定的参考价值。
前面的博文中给大家介绍了什么是Application Insights,以及如何使用Application Insights监控网站的可用性。那么在今天我们讲和大家讨论如何使用Application Insights中的Application Performance Monitoring(APM)功能来对应用程序的性能进行监控。与之前和大家介绍的网站可用性监控不同,APM可以对运行在云和本地数据中心的应用程序进行监控,只要应用程序可以使用HTTP将数据发送到Application Insights工作区。使用Application Performance Monitoring可以监控应用程序的如下数据:
- 请求率、响应时间和失败率 :帮助我们了解最受欢迎的页面、时段以及用户的位置。 查看哪些页面效果最好。 当有较多请求时,如果响应时间长且失败率高,则可能存在资源问题。
- 依赖项速率、响应时间和失败率 :了解外部服务是否正拖慢速度。
- 异常 : 分析聚合的统计信息,或选择特定实例并钻取堆栈跟踪和相关请求。 报告服务器和浏览器异常。
- 页面查看次数和负载性能 :由用户的浏览器报告。
- AJAX 调用(从网页):速率、响应时间和失败率。
- 用户和会话计数。
- Windows 或 Linux 服务器计算机中的性能计数器,例如 CPU、内存和网络使用情况。
- Docker 或 Azure 中的主机诊断。
- 应用中的诊断跟踪日志:可以将跟踪事件与请求相关联。
- 在客户端或服务器代码中自行编写的自定义事件和指标,用于跟踪业务事件。例如销售的商品等
回忆一下我们在Web可用性监视器中的一个屏幕截图,这个截图中只有可用性监控中又数据。现在我们看一下如何对其他的监控项填充数据:
因为我们的网站是一个WordPress站点,所以我们可以直接使用WordPress AppInsights插件来配置网站的监控。这是一个托管在Github上面的开源插件。
安装Application Insight插件
登陆到Wordpress后台,点击“插件”--“添加插件”,搜索“Application Insights”:
插件安装完成后,点击启用:
切换到我们之前创建的Application Insights,找到对应的链接密钥并进行复制:
在wordpress后台,点击“设置”--“Application Insights”,然后输入我们刚刚复制的链接密钥,点击保存:
稍等几分钟后,我们可以看到,Application Insights中其他的监控仪表盘也都有了对应的数据:
仪表板
上面这个仪表板可以在Application Insights的“概述”--“Application Dashboard”中找到:
失败的请求
在仪表板中,可以看到我们有一部分请求是失败的:
如之前所说的,点击磁铁会在ApplicationInsight中单独打开一个页面显示详细的信息,可以看到我们有部分页面的请求是404和301的:
单击微小的计数数字(上图中的6)或底部的“Drill into”按钮,将打开一个新刀片,我们可以在其中单击所有错误,这对于我们定位应用程序的问题是十分有用的。
智能检测
智能检测使用机器学习来告诉我们从内存泄漏到性能问题、跟踪降级等故障异常。
在“Investigate”--“Smart Detection”--“设置”下有智能检测设置:
我们可以通过点进具体的设置来启用/禁用对应的检测设置:
使用:用户数和用户流
在“使用”下,可以检查或设置许多内容,例如:可以跟踪用户从一个页面到另一个页面的使用流。
在“用户”下,可以跟踪任何或所有页面的用户计数,并获取用于访问站点的浏览器和操作系统。
我们还可以使用“用户流”来查看用户在网站内部的访问流向。点击“用户流”--“编辑”,然后进行相应的设置:
保存后,我们可以看到一个很炫酷的图标,改图表显示访问所选页面前的三个步骤和所选页面后的三个步骤:
使用用户流,我们可以真正了解哪些页面将流量吸引到其他页面。
到目前为止,我们已经聊了很多Application Insights中的亮点功能。除此之外,其实还有与Azure Monitor中的Service Map和APM非常类似的Application Map等功能。具体我们会在后续的blog中和大家分享。
以上是关于使用Application Insights监控应用程序性能的主要内容,如果未能解决你的问题,请参考以下文章
如何注入 Application Insights 代码以监控所有方法的计时
Service Fabric Api Gateway 上的 Application Insights 端到端中断
API Application Insights 使用的良好实践