00:00
好,接下来呢,我们来详细说一下a trar里边的一些监控端点,那这些端点呢,首先常用的非常多,老师把每一个端点是什么意思,我们都放在这儿,比如我们前面体会了BS,我们监控到整个容器里边的组件,包括我们的catchs,它的一些这个缓存,以及我们的组啊容器里边的所有的这些配置信息我们都可以监控到,特别呢是我们所有的当前应用的所有运行式指标信息也在这呢,都有。当然呢,这些监控端点里边,我们最常用的呢,这些端点我们就要数这几个,第一个呢是health,就是我们的健康监控,我们要看当前应用是不是健康,因为这个呢在我们线上非常重要,如果当前应用呢不健康,我们可以把它下架,重新呢,再上线,还有我们的mettrix,这就是一些运行式指标,这个呢是我们当前的健康状况,健康状况还有我们的这个matrix,这是一些运行时指标,这两个呢在我们线上都非常重要运行时指标。
01:00
特别是我们这个运行时指标,如果呢,我们当前的这个应用,它呢,超了我们的这个内存限制,比如我们现在要求你内存呢,最多占200兆,但是呢,你超了这个200兆,超了CPU的这些限制,我们可以把你的这个应用啊,给你下架了,我们放到其他服务器啊等等等等,所以呢,这都是一些我们在生产环境里边常用的一些功能,包括我们的这个日志的这个日志记录,日日志记录,方便我们追踪一些错误,那么现在呢,就来挑我们这个最重要的,第一个叫health and point,这是我们说的这个健康检查端点,这个健康检查端点呢,我们一般是将我们这个应用一旦一上线到我们整个线上环境的生产环境上到我们这个云平台以后,我们可能我们的平台具有一个功能,就是我们这个平台啊,它会自动的监测给我部署到当前平台里边所有的应用,每一个应用的健康状况,我可能呢,会定时发消息。
02:00
我一分钟呢,给这个应用发一个消息,问你健康着没,哎,你说你健康着那就没问题,如果呢,你不健康,我这个平台呢,会给你重新自动再拉起一个保证你这个应用呢一直存在啊,把你不健康的下线,把健康呢拉上来,所以这个呢,其实就是我们之前或者呢,我们后来要讲的整个K8S平台的一个自愈能力,这个自愈能力呢,最重要的就是它的这个健康检查机制,我们整个平台呢,必须有一个机制能对他来做一个健康检查,而我们这个health and point,那它就能返回我们当前应用的健康结果,那比如我们现在看我们当前应用是不是健康。回车。好,我们发现呢,我们当前应用不健康,不健康的原因是什么?是因为我们当前应用整合了red red,我们实力都干掉了,所以red连不上,所以不健康,那我们可以把red的所有东西全部排除掉,我们再来测一遍,好,我们要排除掉整个red的东西,我就不删代码了,我使用这个首先在spring boot里边,我先exclode,我们red呢有自动配置,我们把它的所有的自动配置给它禁用掉,相当于我所有的这个自动配置里边不包含red的自动配置,然后呢,把所有要引用red的我们全部注掉,我们这个组件呢,现在要引用red,要自动注入red table,我们给它注掉,包括呢,我们现在来看一下我们controller里边,哎,Controller里边呢,之前哎这也有一个请求方法,要引入red tablel,我也给它注掉,包括呢我们的这个呃,配置里边,我的web配置里边那们red的这个拦截器组件,我们给它也注掉,包括呢,我们这个red拦截器也不要了。
03:49
那至此呢,我们把所有的red去去掉以后,我们再让他来监控我们线上的应用情况,是不是健康的。
04:06
好,大家稍等一下,我们现在来监监控我们线上的这个应用健康信息回车,好,我们发现呢,现在应用status是up up呢就说明我们当前应用是健康上线状态,而不是当不是宕机,所以呢,我们当前应用是健康的,而但是这个健康呢,请给我们返回一个up,或者当我们感觉呢,好像有点不详细,因为我们当前这个应用里边可能整合red,整合数据库整合数据源整合马咔咔咔搞了一大堆,到底是哪个不健康,导致我们这个应用down了,我们可能要详细信息,所以呢,我们可以对每一个端点都来进行详细配置,那那每一个端点的详细配置,我们这儿呢,就有一个叫end point,大家注意,End point是配置所有端点的默认行为,那endpoint呢,是配置单个端点,那么现在呢,有一个端点叫啥?我们现在看一下啊,有一个端点是不是叫health啊,这个health这个监控端点好,我们就来配health这个监控端点,在这个监控端点里边呢,它有一个。
05:06
叫有一个属性叫受details,叫我们显示详细的信息,但是它这一块呢,默认配置叫ne,相当于它从不显示详细信息,那我们可以给他给一个O,让它总是显示详细信息,好,我们来再来重启一下。所以大家呢,注意我们的这个模式,我们的这个模式呢,其中就是有一个,如果我们使用这个management下边的endpoint,加上我们的这个端点名,它里边的什么什么,这就是具体配置某一个端点,这就是对某个端点,某个端点的具体配置。好我们现在呢,启动起来以后,我们来重新来测试我们当前应用的这个健康信息,走好我们发现呢,它会有一个总返回当前应用的状态是up,然后呢,它里边的组件,因为我们整合了数据库啊,数据库的状态呢是up的,然后呢,给我们返回到当前数据库,MYSQL经过这个is value的方法验证以后,当前数据库呢是OK状态,还有我们磁盘空间,磁盘空间也是up状态,磁盘空间呢,总计这么多,空闲这么多,哎,我们使用了多少多啊,这一块呢都有,然后呢。
06:23
那再接下来我们这儿呢,有一个P,哎,我们当前这个应用呢,也是可以访问的P通的,所以我们这一块是up,相当于呢,我们一个应用健康与否取决于这个应用里边所有的这个组件,如果全健康才会健康,有一个不健康则为道,所以呢,我们把这个答案拿过来,这就是我们说的健康监控,这个健康的endpoint,健康检查,它这块呢,有一个很重要的信息,就是呢,所有的这个组件全部都健康才健康,所以呢,Health and point,它给我们返回的是一个总的汇总报告,你有任何一个出现问题,当前应用都是宕机状态,好,这是我们说的healthpoint,那还有我们的matrix andpoint,那matrix andpoint呢,哎,我们说这个matrix啊,实际上如果我们后来学的更多,我们要对接整个真正专业的一些监控平台,比如普罗米修斯等等一大堆,那这个matrix呢,我们希望他就能提供我们一些详细的层级的,包括空间。
07:23
别的一些指标信息,而且呢,我们如果自己开发这些指标信息,我们这些指标信息呢,应该具备两个能力,第一个能力就是我当前应用的一些指标,我可以主动推送给一个地方,比如呢,我们这儿有一个普罗米修斯的这个平台,我把这个用的指标我主动的推送给这个平台,另外呢,我也能兼容,比如其他的这个平台,在我这儿定时拉取我的一些应用监控指标,这样呢就能实现我们这些监控指标实时刷新的功能,但主动推送呢,可能更省资源,而我们的这个push呢,可能比较浪费资源,好这是我们说的整个matrix监控指标,而在这个监控指标里边呢,我们希望大家掌握上这么一点,就是呢,我们在这来看到在这个监控指标的时候matrix,而他在这呢,默认会列举出非常多的监控指标,你想要看某一个完整某一个指标的完整信息,你还需要发二次请求。
08:23
那二次请求呢,那就是比如我想要看我们当前GC的这个信息,比如呢,这有一个GC,呃,GC到底暂停了多少次CTRLC,那我们呢,就可以把这个信息拿来回车,我就能看到这个GCGC呢暂停了三次,整个GC暂停了时间是这么多,所以我们可以把整个机器信息都可以拿到,这是我们说的matrix,最后呢,我们再来说一下,我们如果想要使用我们的这些端点,我们端点的这些开启与禁用功能,那大家看到我们现在的这个效果呢,是我默认开启了所有的这个监控端点,这样呢,可能有点危险,一些敏感的端点呢,我不希望开启,那怎么办?那我可以写一个false false的情况下,那就是默认是关闭所有的监控端点呢,而它的这个值呢,默认是处,那一旦一关闭监控端点,那接下来我们什么监控都没用了,比如我们来现在启动一下。
09:20
我们可以从两处测试,因为知道我们对于一个endpoint的监控,我们可以有两种方式,第一种呢,就是很方便的HTTP的方式,然后呢,第二种就是我们的GMX的方式解O好来到这。们来看,现在呢,HTTP的方式已经监控不到内容了,我们访问IQ trar,它呢给我们只返回了一个,它可以访问自访问的路径,叫IQ,再没有更多它能访问的路径了,我们来到我们的这块m being里边看spring framework,而我们发现这块呢,就已经没有n point端点信息了,所以呢,我们这一块的监控就没有了,我们现在把默认的所有都禁掉了,而且某一个想要开启,比如我想要开启它的健康信息监控功能,那我就来写一个健康,在这个某一个端点上边呢,它具有这个属性,健康的状况来,我们给他给一个处,现在呢,我们这个功能开启,我们还可以开启这个端点,叫info功能呢,我们是一个处,包括呢,我们还可以开启一个端点,比如bes,它的这个功能呢,是一个处,所以相当于我们现在只开放了三个端点,来,现在再来启动。
10:40
当我们最好呢,加上我们非常常用的matrix它的这个功能,然后每一个端点它我们在这呢,都可以分开调节走,我们不仅有一个总开关,也有一个分体开关,可以来看一下效果啊。那现在的效果就是我们当前在这一块,我们的整个监监控指标里边,我们现在能看到的信息就是首先我们访问IQ trar,我们能监控的指标有BS,有health的相关,还有info,还有呢,我们的这个matrix相关,那就有这么一堆,而我们这个其他的我们没有开启的就不能访问,同样的解conso里边也一样,把它关掉,我们重新使用GMX的方式,我们来监控一下,它里边呢,能监控到的endpoint也只是我们这一块配置了开启的这些endpoint,那在这SPNT这个里边,好,Endpoint在这这呢有beings health in for matrix这几个监控指标,我们都在这,好这些呢都是我们使用人家默认的这些监控,那我们能不能定制一些监控信息,我们可以下节课再来尝试。
我来说两句