【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

站点监控 | 网站健康检查的外科医生

  • 2019-09-11
  • 本文字数:2344 字

    阅读完需:约 8 分钟

站点监控 | 网站健康检查的外科医生

当今的互联网上,有成千上万个网站,提供着各种各样的服务,有电商、搜索、新闻、娱乐、在线教育等等,用户根据所需进行浏览和访问。网站做为网上服务的载体,稳定性至关重要,如果网站异常了,势必会影响诸多用户,给网站造成具大的流量损失。因此对于网站的维护者而言,第一时间发现网站的异常至关重要。


站点监控可实现对目标站点作实时的监控,如同外科医生一样,可对网站进行全方位的检查,在网站异常时及时通知用户进行止损操作。接下来将分上下两篇介绍站点监控,本文主要介绍站点的组成、站点的工作原理以及站点监控的功能需求。

首先我们来探讨一个概念 网站是什么?

A website is a collection of related web pages, including multimedia content, typically identified with a common domain name, and published on at least one web server.

A website may be accessible via a public Internet Protocol (IP) network, such as the Internet, or a private local area network (LAN), by referencing a uniform resource locator (URL) that identifies the site.


以上是维基百科对网站的定义:网站是一个网页资源的集合,这些资源部署在 Web 服务器上并通过域名进行标识,即一个站点包括网页、域名、Web Server(服务器)。


从狭义上来讲,一个对外提供服务的 Web 应用程序即可称为网站,我们可以通过统一资源定位符 URL 来访问该应用程序提供的静态或动态网页资源。


而从广义上讲,各种对外提供文件下载、流媒体传输、邮件服务等应用服务器,以各种形式为用户提供的多样网络服务,均可称之为站点。

那么,网站异常的场景是什么?

网站由域名、网页、Web Server(Web 服务器)组成,网站正常与否,也就是域名是否可以正常解析,Web 服务器是否可以正常连通以及是否可以正常工作,网页是否可以返回预期的内容。


图 1 以用户访问百度服务的请求为例,描述了用户的请求在到达这个百度服务地址之前,依次会经过用户所在地域的网络运营商接入设备→运营商骨干网链路→百度 IDC 所在地域的运营商接入设备→百度站点服务(具体细节可以参看文章《百度网络监控实战:猎鹰一战成名》)。



图 1 用户访问百度服务的请求示例


从物理链路来讲,在用户请求到达目标网站之前,任何一个服务或链路出现故障,都有可能会导致用户访问目标服务的体验受到影响(如延时变大或者访问失败),因此,站点监控中我们需要关注 DNS 解析,运营商网络,站点服务三个环节。网站异常的场景如下:

1 场景一

  • 域名被劫持了!进入了其他网站界面?


2010 年,百度 www.baidu.com 的域名遭到不法分子恶意篡改,导致全球多处用户不能访问百度网站,故障持续数小时,给用户带来很大的困扰,也给百度造成了巨大的流量损失。

2 场景二

  • 在北京的用户访问正常,广州的用户却无法访问?


用户到 Web 服务器间链路连接关系复杂,一次简单的请求涉及网络设备或链路不计可数,任何一处的设备或链路故障都有可能影响到某一区域的用户请求。

3 场景三

  • 网站响应速度慢,网站访问超时?


假如您是某购物网站的维护者,网站的访问量意味着订单量和收入。若某一时刻网站访问量增大,网站服务器负载已无法承接流量,出现大量的访问超时,严重影响用户体验,作为网站维护者,您如何第一时间感知以避免损失呢?

4 场景四

  • 网站中页面可以打开,但页面内容展示异常?


通常此种场景为网站内部某些处理逻辑或数据存在异常,单纯关注页面是否可访问无法发现这种错误,需要对网站页面或接口的返回内容进行监控。

5 场景五

  • 视频网站打开正常,里面的视频都播放不了?


除了常见的 HTTP 页面/接口请求,文件下载、流媒体传输、邮件服务或针对客户端定制的 TCP、UDP 接口异常,均会对用户造成影响。

网站异常对用户的影响如此之大 我们该如何应对?

通过对网站异常场景的分析,我们需要一款站点监控产品,通过模拟真实用户访问情况,探测站点的 DNS 解析、分地域/运营商连通性、站点性能等问题。站点监控需要具备如下几方面能力:

1 支持域名解析监控

通过对域名进行 DNS 解析,判断是否发生 DNS 劫持,避免 DNS 问题导致网站无法正常提供服务。

2 支持不同地域/运营商/网络制式探测

通过部署在全国的站点监控探测点,模拟不同终端用户的访问行为,获得全国各地域(省份/城市)、运营商(电信/联通/移动/教育网/…)、网络制式(固网/2G/3G/4G)到目标地址的访问数据,从而知晓各地域、各运营商的网络质量,供网站维护者针对性的进行网络接入优化。

3 支持采集多种指标数据

网站性能是体现网站体验的重要因素,我们通过获取目标站点的 DNS 域名解析时间、建连时间、下载时间、响应时间等指标来分析站点服务的性能瓶颈,优化站点的服务质量。

4 支持网站返回内容校验

通常,一个站点提供多种服务,对外呈现多种不同的数据和页面。我们需要模拟用户的请求,并校验返回的结果是否符合预期,来监控站点服务是否正常。为了模拟用户请求,针对 HTTP 请求需要支持 POST/GET 方法、多种请求参数、User-Agent 等 Header 参数、Cookie 等参数配置;为了校验返回结果,需要提供 HTTP Code 判断、返回内容匹配校验等支持。

5 支持不同协议类型

一个站点服务可支持多种协议的访问,我们需要从应用层、传输层对目标站点进行探测:应用层需要支持 HTTP/HTTPS/FTP/SMTP/DNS 等,传输层需要支持 TCP/UDP。

总结

站点监控是针对站点进行监控的产品,本文从总体上介绍了站点的工作原理以及站点监控的功能需求。如何实现这些功能,以满足站点的监控需求,我们将在下一篇文章中具体介绍。


作者介绍:


梁飞,百度高级研发工程师,负责百度云监控(BCM)系统的研发和可用性建设相关工作,在云监控、系统可用性方面有广泛的实践经验。


本文转载自公众号 AIOps 智能运维(ID:AI_Ops)。


原文链接:


https://mp.weixin.qq.com/s/R83izBHzqkA_OD1k1-aQmA


2019-09-11 23:431107

评论

发布
暂无评论
发现更多内容

【干货】零售企业商品数字化管理措施探讨

第七在线

Flutter iOS上架指南

雪奈椰子

掌握ADB:详解操作命令及完整用法指南(二)

霍格沃兹测试开发学社

享道出行:容器弹性技术驱动下的智慧出行稳定性实践

阿里巴巴云原生

阿里云 云原生 容器弹性

如何搭建自动化测试平台

RestCloud

自动化测试平台 ipaas

高防服务器干什么的?用途及其重要性解析

一只扑棱蛾子

高防服务器

京东一面挂在了CAS算法的三大问题上,痛定思痛不做同一个知识点的小丑

不在线第一只蜗牛

Java 算法 JVM CAS

Git常用命令大全:让你轻松驾驭版本控制

霍格沃兹测试开发学社

引入了 Shiro 的项目请求路径中带有中文报错400 的问题

emanjusaka

Java shiro Error 400

SD-WAN支持的多种线路类型

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

Python 代码混淆工具概述

AIGC重塑金融:AI大模型驱动的金融变革与实践

EquatorCoco

人工智能 金融 AIGC

Baseswap交易所的得力助手:Base链市值机器人

开发丨飞机丨 @aivenli

小redbook.item_get_video API是小红书平台提供的一种数据接口服务,其主要功能是为电商企业提供商品数据,以便进行商品分析、个性化推荐等。通过该API可以带来哪些价值

技术冰糖葫芦

API 接口

SD-WAN组网方案简述

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

DR9274-6GK|4T4RQCN6224 QCN9274 QCN6274 WiFi7 Lower Power Consumption Network Card

wallyslilly

QCN6224

Android Studio安装超详细步骤

霍格沃兹测试开发学社

三思多功能智慧综合杆助推上海杨浦区数智化升级

电子信息发烧客

云原生最佳实践系列 7:基于 OSS Object FC 实现非结构化文件实时处理

阿里巴巴云原生

阿里云 云原生

【香山源码阅读】香山BPU代码阅读

源芯

开源 芯片 risc-v 高性能处理器香山

网络钓鱼升级 Darcula如何窃取用户信息

郑州埃文科技

网络安全

表单与二维码:如何使用表单中的填表人组件?

草料二维码

二维码 草料二维码

大型省级运营商:业务运营中,如何响应速度并有效提高准确性?

嘉为蓝鲸

ITSM 运营商 IT 运维

如何在Java中读取超过内存大小的文件

快乐非自愿限量之名

Java

JMeter前置处理器-Beanshell前置处理器详解

霍格沃兹测试开发学社

云原生最佳实践系列 6:MSE 云原生网关使用 JWT 进行认证鉴权

阿里巴巴云原生

阿里云 微服务 云原生 网关

新一代营销费用管理:覆盖线上线下营销渠道各链路多场景费用

赛博威科技

春天集结!Milvus 老友汇 · 线下 Meetup 来啦!

Zilliz

开源社区 Meetup Milvus Zilliz

OpenAI 展示音频模型 Voice Engine;清明节前 AI 复活亲人成热门生意丨RTE 开发者日报 Vol.175

声网

阿里1688布局跨境业务,瞄准海外代采

技术冰糖葫芦

API 接口

分享 5 个提高技术领导力的技巧

高端章鱼哥

站点监控 | 网站健康检查的外科医生_文化 & 方法_梁飞_InfoQ精选文章