使用Application Insights监控网站可用性

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

Application Insights是Azure Monitor中两大服务之一,他可以对运行在私有云、混合云以及任何公有云中托管的各种平台的应用程序(.Net/Nodejs/Java/Python等)进行近乎实时的监控。它会自动检测应用的异常并通过其自身强大的分析工具来帮助诊断问题,从而提升应用程序的性能和可用性。

说到这可能有的朋友就会问:Application Insights可以给我们提供那些类型的监控呢?其实Application Insights提供的监控类型如下:

  • 请求率、响应时间和失败率 :了解最受欢迎的页面、时段以及用户的位置。 查看哪些页面效果最好。 当有较多请求时,如果响应时间长且失败率高,则可能存在资源问题。
  • 依赖项速率、响应时间和失败率 :了解外部服务是否正拖慢速度。
  • 异常:分析聚合的统计信息,或选择特定实例并钻取堆栈跟踪和相关请求。 报告服务器和浏览器异常。
  • 页面查看次数和负载性能:由用户的浏览器报告。
  • AJAX 调用(从网页):速率、响应时间和失败率。
  • 用户和会话计数。
  • Windows 或 Linux 服务器计算机中的性能计数器,例如 CPU、内存和网络使用情况。
  • Docker 或 Azure 中的主机诊断。
  • 应用中的诊断跟踪日志:可以将跟踪事件与请求相关联。
  • 在客户端或服务器代码中自行编写的自定义事件和指标,用于跟踪业务事件。

了解了监控类型以后,我们来看一下Aplication Insight是如何对应用程序进行监控的:

若要使用Application Insights监控应用程序,我们需要现在Azure中创建Application Insights资源,然后在应用程序中安装一个小的检测包。检测包不仅可以检测 Web 服务应用程序,还可以检测所有后台组件和Web 页面中的 JavaScript以及运行应用程序的主机性能。并将数据发送给与之相关联的application insights资源并继承到azure monitor中
除此之外Application Insights还可以对定期向 Web 服务发送综合请求的 Web 测试进行设置。

说了这么多,相信各位对Application Insights也都有了一定的了解,那么下面我们就来看一下如何使用Application Insights监控网站的可用性。

创建Application Insights资源
点击“新建资源”--“IT&管理工具”--“Application Insights”:

输入“资源组”、“名称”以及“区域”以后点击“review and create”:

确认无误以后点击“创建”:

创建完成,如下图所示:

设置ULR监控(网站可用性监控)

在我们刚刚创建的Application Insights中,找到“可用性”选项卡,然后点击“添加测试”:

接下来我们需要进行如下设置:

  • 测试名称-这个测试名称我们在后续查询见识数据的时候也会用到。
  • 测试类型-分为URL测试和多步骤测试。在此需要注意URL测试是完全免费的。多步骤测试会产生费用。
  • 测试URL-我们需要监视的网站的URL
  • 测试频率-在这里我选择5分钟
  • 测试地点-因为我的网站部署在东南亚,但是用户分布在多个区域,所以我选择了五个测试位置。当然在实际生产环境中我们可以根据实际情况进行配置。
  • 测试成功标准-我们可以设置测试的超时时间以及对于的状态码信息
  • 警报-在此我们可以设置在检测到网站不可用时产生警报信息

创建完成后点击“context menu”--“Edit Alert”:

在规则管理页面设置对于的警报规则,然后点击保存:

稍等几分钟后,我们可以在“概述”页面的“Availability”小部件下看到对应的数据:

单击小部件可打开更详细的监控仪表盘。选择详细信息可为我们提供更多信息,例如测试持续时间,可用百分比和执行的测试次数。我们也可以在右下方编辑或暂停测试。

在这里我们可以看到我又几个异常值,将鼠标悬停在对应的异常值处可以看到测试的持续时间和位置:

点击进去以后可以看到详细的监控信息:

日志

因为Application Insights和Log Analytics使用相同的查询语言,所以我们可以在“概述”页面点击“Log”:

因为“URL test”存储在“AvailabilityResults”表下,所以我们可以使用如下命令进行对应查询:

availabilityResults
| project-away performanceBucket, operation_Name 

我们可以在名称列看到名称,如果我们有多个网站可用性的测试则可以进行相应的筛选:

使用这些监控数据,我们可以生成不同的可视化图标或者监控警报。例如下面这个散点图,是按照位置划分的持续时间的平均值

这就是我们可以使用Application Insights监视网站可用性的方法。

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

时间: 2024-10-08 19:24:37

使用Application Insights监控网站可用性的相关文章

使用Application Insights监控应用程序性能

前面的博文中给大家介绍了什么是Application Insights,以及如何使用Application Insights监控网站的可用性.那么在今天我们讲和大家讨论如何使用Application Insights中的Application Performance Monitoring(APM)功能来对应用程序的性能进行监控.与之前和大家介绍的网站可用性监控不同,APM可以对运行在云和本地数据中心的应用程序进行监控,只要应用程序可以使用HTTP将数据发送到Application Insight

使用Zabbix批量监控网站可用性方案二

一 应用场景描述 在上一篇文章中介绍了 使用Zabbix批量监控网站可用性方案一 Zabbix自带的Web监控只是利用libcurl库在Zabbix server或者proxy端来检测所有的url,这样实际上是不能检查到区域访问各个url的网络质量的.本文则使用Zabbix LLD,pycurl模块以及Zabbix sender来收集不同区域的Zabbix agent访问各个url的网络质量. 二 编写脚本 三 制作Zabbix模板 参考文档: http://john88wang.blog.51

Azure Application Insights REST API使用教程

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

Python监控网站接口值

Python监控网站接口值: #!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'liudong' import urllib,sys,urllib2,json,smtplib from email.mime.text import MIMEText mailto_list=['邮箱'] mail_host="smtp.philisense.com" mail_user="邮箱" mail_pass

【小蜜蜂网站监测】江苏省政府网站可用性报告

小蜜蜂网站监测-让网站运维变得简单 网站安全监测_网站性能优化_网站漏洞监控_服务器监控 2015年3月24日,国务院办公厅发文<关于开展第一次全国政府网站普查的通知>国办发[2015]15号,对全国政府网站开展首次普查,此次普查的目的是,摸清全国政府网站基本情况,有效解决一些政府网站存在的群众反映强烈的"不及时.不准确.不回应.不实用"等问题,切实消除政府网站"僵尸"."睡眠"等现象. 小蜜蜂网站监测通过对江苏省13个地市.1300

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

【技能】提高网站可用性

提高网站可用性,这个话题就太广了,就按照我想到的写几点了,以后想到了再加 1)容灾备份 对于有点规模的网站,服务器都不止1台,最简单的就是代码分布在好几台机器上. 第一:可以起到备份的作用,一台坏了,可以马上切到其他机器上 第二:降低机器的压力,增加并发处理能力 2)负载均衡 上面一点我们提到代码放在好几台机器上,根据每台的硬件配置情况,很多软件都可以实现 请求分发的(反向代理),例如nginx,lvs了.我常用的是ngnix.可以通过nginx配置后端服务器,并且可以指定每个服务器的权重,这样

网站可用性测试及优化指南-随笔2

无意中看到这种书<网站可用性测试及优化指南>,虽然是2010年出版的书,由于里面很多内容是对工作的指导,阅读下来还是有所帮助的. 这本书内容不多,所以读起来很快的,今天阅读了第六章和第七章(哈,没有按照章节顺序读)第六章: 给测试者找点事情做 (不然他们不知道要做什么或者没有目标的测试可能也没有意义)1,首先,指定一个任务清单:    1,拿张纸:    2,列出访问者需要在你的网站中完成的5-10件最重要的事情.    “你不能光说,应该真正尝试一下.” 很多人的执行力都不到位吧,我的执行力

Web Application Stress 对网站进行压力测试

打开Microsoft web Application Stress工具按下图顺序操作: 1. 2.点击Record 3. 4.在浏览器中输入要测试的URI地址 5.在设置中设置参数,如发起请求线程数等如下: 6.单击三角符号开始测试: 7.点击菜单中的Report查看测试结果: 上图中每秒请求数为:1272.50 Web Application Stress 对网站进行压力测试