00:02
大家好,我是night killller,今天给大家分享的是多维度架构之监控。谈到监控,很多人认为这是运维的事情,实则不然,监控是贯穿整个开发、测试和运维了。待开发的过程中,我们就需要考虑到监控,为监控预留埋点,提供数据采集接口以及偏向运维的日志输出。测试过程中,我们需要监控系统采集的各种指标帮助测试人员做分析,甚至我们可以使用监控手段为产品和运营提供数据支撑。所以说,监控不仅仅是运维的事情。监控是多维度架构体系中耦合度极高的一个模器械。实施监控的过程中一般需要经历三个阶段,这三个阶段分别对应了三个段位,很多企业走到了第二个段位并停止不前,这三个段位分别是初级段位。
01:02
中级段位和高级段位。初级段位的特点就是发生故障,运维总是最后一个得知,得到的答复总是服务器故障,网络故障,查不出原因,解决的办法是重启了,现在好了,你再试试吧。中级阶段,这是大部分企业都能做到的水平。在这个阶段,监控系统发挥了巨大的作用,能精准预警和报警,更智能,运维人员得到了一定解放。不在人路运维,但我认为这只完成了1/3的监控工作,即运维那部分的监控工作。很多企业走到这里便嘎然而止,监控工作无法再突破。这是因为开发、测试和运维三个部分是独立的。但在多维度架构的思想当中,他们是紧密耦合的,因此监控工作远远没有想象的那样到了终点。监控制度还很长,高级阶段的监控要解决的是从被动到主动,从人工到智能,认为必须第一时间得知系统故障。这里所说的故障很宽泛,不仅限于运维范畴,高级阶段的监控已经渗透到产品和运营领域。
02:25
例如,某商品的库存告急,网站被爬虫恶意扒去,第三方接口的监控等等。业务监控是这个阶段的重点,因为监控网络和端口不能保证服务的正常运行。服务正常运行不能保证业务逻辑正常运行,所以我们的目标是业务逻辑的监控,这才是重中之重。最后,我们还要实现监控系统与灾备系统的融合,实现故障自动化转移,做到用户无感知。
03:05
无论是公有云还是自建IDC,它们的特点是由两部分网络组成,分别是对外的公网部分和对内的局域网部分。所以至少我们需要建立两套监控体系,分别对应公网的监控和私网的监控。云平台提供的云监控只能解决公网部分的监控。星型拓扑试制以监控服务器为中心,从监控服务器向其他服务器发出请求,并取得监控结果。这种监控方式是点对点、端到端的监控,只能检测到服务器是否开机、IP地址是否平通、端口是否可用、服务是否可用等等。但现实情况并非如此,我们的网络远比这想象的更复杂,点到点、端到端的监控只能证明监控机到监控服务器是畅通的。
04:09
现实情况是,用户访问我们的网站,输入域名敲会车,首先域名解析到IP地址,接着连接到我们的外部服务器,然后从外部服务器获取静态内容,最后动态内容转到应用服务器,应用服务器会连接到缓存和数据库,这是最基本的系统需求,现实更为复杂。我的做法是将监控分成一级监控和二级监控两个部分。一级监控仍然采用新型拓扑监控方式,从监控机一次访问外部服务器、应用服务器、缓存服务器、数据库服务器,做到点对点监控,主要用于检测服务器和应用的存活情况。二级监控是从监控机访问中间服务器的监控代理程序,让让代理程序完成从中间服务器到目标服务器的监控。
05:11
业务流程监控设置模拟用户行为的一种监控,例如注册登录、浏览、商品下单、购物车结算等等。实现业务流程监控需要用到软件自动化测试技术。让监控机定时运行自动化测试脚本。完成业务流程监控,并将监控结果报告给运维。监控与开发是密不可分的,也是高度耦合的。只有开发、测试、运维融为一体,才能达到监控的最高段位。这也是多维度架构之监控的终极目标。这一节就先讲到这里,有什么问题可以在评论区留言。谢谢观看。
我来说两句