使用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中和大家分享。

原文地址:https://blog.51cto.com/wuyvzhang/2471185

时间: 2024-10-03 23:04:42

使用Application Insights监控应用程序性能的相关文章

使用Application Insights监控网站可用性

在评价网站的诸多指标中,可用性肯定是最重要的.一个网站首先要可用才能对其他方面进行评价.网站不可用不能单靠自己人发现或者等用户投诉,需要配备主动手段进行监控.那么我们今天要和大家聊的就是Azure Monitor下面两大服务之一的Application Insights.使用Application Insights我们可以在多个区域,每时每刻都对网站发起访问,当可用性不良时立马告警提醒相关人员进行排查.有了比老板更敏锐的告警,从此晚上可以安心睡觉. Application Insights是Az

timeSeries db之:使用Metrics监控应用程序的性能 (zz)

在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对外提供了多少次服务,这些服务的响应时间是多少,随时间变化的情况是什么样的,系统出错的频率是多少.这些动态的准实时信息对于监控整个系统的运行健康状况来说很重要. 一些应用程序,比如对外提供接口或者服务的WebService,对整个系统的实时运行情况进行监控显得尤为重要,着就像我们操作系统里面的资源管理

使用Metrics监控应用程序的性能

在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对外提供了多少次服务,这些服务的响应时间是多少,随时间变化的情况是什么样的,系统出错的频率是多少.这些动态的准实时信息对于监控整个系统的运行健康状况来说很重要. 一些应用程序,比如对外提供接口或者服务的WebService,对整个系统的实时运行情况进行监控显得尤为重要,着就像我们操作系统里面的资源管理

Java应用程序性能监控

您想知道Java Runtime环境的运行状况吗? 您想监控线程死锁.异常内存.CPU消耗和Java应用程序吗?监控Java应用程序 利用ManageEngine Applications Manager Java Runtime 监控功能,可以监控Java平台及运行的应用程序.你可以监控JVM的性能 和 线程.Applications Manager支持 Sun JVM, IBM JVM以及Oracle JRockit JVM. 你可以对各种属性配置阈值,当阈值被超越时,系统自动邮件.短信.S

Azure Application Insights REST API使用教程

本文是Azure Application Insights REST API的简单介绍,并会包含一个通过Python消费API的示例/小工具. 新加入的team中的一项工作是制作日常的运维报表,制作方式是手工前往portal.azure.com,在网页中多次执行不同的查询语句.导出excel,之后再人工进行合并.分组.汇总.分析等等.这是一个繁琐的过程,其中大部分步骤其实不值得花费人工,应该交给程序.为了自动化这一过程,降低报表的制作成本,我尝试使用了Azure Application Insi

在 NetBeans IDE 6.0 中分析 Java 应用程序性能

NetBeans IDE 6.0 包含一个强大的性能分析工具,可提供与应用程序运行时行为有关的重要信息.通过 NetBeans 性能分析工具,我们可以方便地在 IDE 中监控应用程序的线程状态.CPU 性能以及内存使用情况,而且产生的开销相对较少. 本文将概述 IDE 中包含的性能分析工具,并指导您快速开始分析 NetBeans 项目的性能.本文旨在演示 IDE 中可用的各种性能分析任务以及分析项目性能时可以获得的分析结果.但并不覆盖 IDE 中包含的所有性能分析功能,也不会深入探索如何研究性能

Java程序性能优化——性能调优层次

为了提升系统性能,开发人员可以从系统的各个角度和层次对系统进行优化.除了最常见的代码优化外,在软件架构上.JVM虚拟机层.数据库以及操作系统层都可以通过各种手段进行调优,从而在整体上提升系统的性能. 设计调优 设计调优处于所有调优手段的上层,它往往需要在软件开发之前进行.在软件开发之初,软件架构师就应该评估系统可能存在的各种潜在的问题,并给出合理的设计方案.由于软件设计和架构对软件整体有决定性的影响,所以,设计调优对系统性能的影响也是最大的.如果说,代码优化.JVM优化都是对系统微观层面上"量&

asp.net core下的使用Application Insights

在Visudio Studio中,新建asp.net core可以内置Application Insights.Application Insights可以帮助我们分应web应用的性能,以至于我们来优化我们的应用,本文是step by step篇. 代码端 新建 asp.net core项目(asp.net core 1.1版本) 第三步配置设置,可以选择自己azure上的资源组. (注:目前asp.net core新建项目是1.0版本,可以在nuget中升级成1.1版本) 设置Starup.c

11个显著提升 ASP.NET 应用程序性能的技巧——第1部分

采用 ASP.NET 和 IIS 构建 Web 应用程序并将其托管到 Web 服务器上极其简单,但是许多可提升 Web 应用程序性能的机会或隐藏配置同样不能忽视.本系列博文将介绍一些简单但却可以应用于任何 Web 应用程序的技巧,而它们却是经常被忽略或遗忘的. 1- 内核模式缓存--这是广泛用于程序编写的主要工具之一,可加速 Web 应用程序.但是大多数时候,很少开发者以最佳方式应用内核模式缓存,仅仅发挥其部分主要优势.由于所有 ASP.NET 请求均会经历不同阶段,因此可在不同级别使用缓存,具