00:00
好,接下来呢,来学习第八章spring boot与监控管理。监控管理呢是我们应用在运维时一个重要的功能,那我们springb呢,通过引入act这个start,可以为我们很方便的提供准生产环境下的应用监控和管理功能,有了它我们就可以实时的监控到应用的一些健康指标信息、配置信息以及自动审计等功能。好,我们就来创建一个工程引入模块,来测试一下spring BOO的应用监控和管理功能。好,我来创建一个工程使用spring的初始化向导。那我们就叫康安硅谷。Spring boot08来测试功能,好来下一步还是1512版本来选中好我们上节课的DV tools工具,我们来方便热部署,加上呢来web应用以及我们这个监控,我们在OPS里边options我们来选中模块,好,然后呢我们点击next,点击finish。
01:23
好,我们这个项目呢,我们就创建出来,创建出来呢,我们先什么都不做,我们来启动这个项目,我们来看一下有什么效果好,来启动起来。好,我们这个呢,正在启动,启动的时候呢,哎,我们这个8080启动起来啊,但是大家注意启动起来以后呢,控制台会多打非常多的映射信息,比如我们把这个info啊映射到哪个方法来发get请求,Health映射到什么,那么这一块就是我们的监控信息,能通过他们可以监控到应用的一些状态,这个呢是我们引入了安模块以后才会有的,如果说我不引入这个模块。
02:04
好,那这个呢掉,我来重新启动一下这个应用,我们看有没有那些监控信息的映射。好,我们来启动,我们会发现呢,Map的就只剩下默认的这个杠error了,好,我现在呢,把这个按打开好,我们把这个注掉,好来重新启动这个应用。好,这些监控信息呢,就出来了,那出来我们来访问一下一些监控信息。Local host8080访问什么呢?我们按照这些路径来访问,比如有matrix,哎,一些指标回车,哎,我们发现呢,这块它会提示我们这个401,我们没有授权,就说默认我们要访问这些监控信息是受保护起来的,包括呢,我们来访问be还可以看一下。
03:02
哎,我们看都会保护起来,那怎么能访问呢?我们先在这配置一下。配置一下,那可以来配置又叫management。有一个叫security安全,这个默认呢是安全管理起来,我们把它改为false,那我们来重新启动CTRLF9文章应用,来重新启动,来重新刷新,诶我发现这个病死呢就有内容了,它呢其实是来监控我们容器中每一个组件的信息,比如它的名字、类型,包括是否单例,包括它有没有其他依赖组件等等等等,那正好我们来看一下我们这些每一个监控都是什么意思,来对比一下我列举的这些监控管理端点的描述,比如我们来一个一个看health,这是呢监控我们应用的健康状况信息,诶我们应用的up代表我们当前正在上线启动,没问题,那health呢,我们后来再来详细说,还有我们这个all events,这是我们的省际事件相关的信息,只不过呢,我们现在还没。
04:13
有什么时间没问题,接下来呢,就是我们的这个bes,这个bes呢,它是来监控我们容器中每一个组件的,哎,我们刚才刚演示过,接下来呢,还有这个info,这是来监控我们应用的一些信息的,这音O信息呢,这块没有,它从哪来的呢?其实它只要是凡是我们application配置文件里边我们配的这些英O开头的啊,我们随便配,比如呢,我叫app.id么这个应用ID,那就来写一个hello,包括呢fo.app.version啊,我们来写我们模拟一个M1.0.0,好,那随便写一些信息,只要in符L开头的CTRLF9。来应用重启一下。
05:02
好,我们来测试一下刷新,那么这些英方呢,就会显示出来,包括还有一些,比如我们后来要把源码托管给get之类的,我们要配置get的一些属性,那么呢,我来写一个get.proper文件,Properties文件,那这里边我们能写什么呢?哎,我们有一个叫prop proper这个配置类,而这个配置类呢,大家来注意,哎,这是一个属性文件,它呢是来继承info properties的,只要所有属性来继承这个info properties,我们配出来的东西呢也能用,比如我们要配哪些,那在getate里边我们来看,哎,下边的这些属性我们都是能配的,比如commit build time,我们来看上边有哪些,哎,比如commit ID branch我们的分支,好,我们就来配上一些get.branch分支,比如我们就写master。
06:02
包括G点。来把我们commit ID我们来写上,哎,这块指定的我们都来写上commit ID好我随便写一个,然后呢,包括我们这还有get的这个commit time,我们这个提交时间等等等等,Commit time,好我来写个2017年短横杠风格,12月12号,然后呢,12:12,哎,56秒,好,我来写上CTRLF9重新编译来让它启动起来。好,我们来测试一下,哎,这个没启动起来,我们来让它手动启动一下。好,我们来刷新,哎,我发现呢,相关的这些信息也有显示,好我们继续来看这一块呢,还有一个叫dump,这个当MP信息呢,来看一下它是做什么的回车,诶能看到呢,它其实是用来暴露我们程序运行中的跟线程信息,每一个呢是这么一个大对象,有咱们这个现成的名字,包括现成的ID,包括现成的一些状态,还有我们这个现成的对战信息等等。
07:16
好,我们每测试一个呢,我们就在这画一下,好,我们继续来测试这个dump beans,我们测过了,还有一个叫auto con。这auto con呢,我们来看一下,它来显示我们当前里边的这自动配置信息,哪些自动配置起作用了,哪些没起作用,Positive,这就是没起作用的,Negative,这都是没起作用的,比如我们这个自动配置not match,这些not match没匹配等等等等,那么呢,就可以根据它很容易的知道我们容器中哪些自动配置类生效了,哪些没有生效,那么这个autoconfic,哎,那么就演示过了,接下来呢,我们再来测试来看还有一个叫keep downmp,是不是downmp呢?我们来看一下回车,哎,我们看到呢,它这是一个文件下载,它其实呢是把我们当前这个内存快照帮我们来下载过来,我们就可以分析这些内存快照来定位我们应用的一些问题,好,这个he Du我们就测过了,接下来呢,Health呢们已经测过了,我们来测一个tra,我们来看一下这个tra。
08:27
是什么回车,哎,我们看到呢,它其实是来返回我们基本的HTTP请求的跟踪信息,我们所发过的所有请求的信息都在这,比如请求方式,请求的路径,请求头的一些信息,以及请求响应的啊我们这个响应的一些信息,包括呢,我比如再来发一个,我随便来发一个404的请求都行,我来看他能不能跟踪AA回车,那再来刷新串,诶我看到呢,Get请求AA能发出去,但是响应了404等等等等。
09:00
好,我们来把这个我们来记录一下我们这个trend,我们的请求追踪追踪信息,好,然后呢,我们来还有我们的这个all疑问词,这个呢,我们说过还有一个mans,哎。在这个maps来看一下,Maps呢,这个其实是返回的是我们当前web应用的每一个请求映射信息,比如杠L弱请求由谁处理,杠L弱请求生产我们这个HTML页面的由谁处理,包括每一个请求由谁处理,这信息呢都在这,当我们写了很多controller以后,那每一个controller的请求映射信息也都在这,这是我们这个maps,好,它也记录一下,那再来看,还有呢,我们这个info,我们之前说过了,还有这个叫matrix。来测试一下,好,我们看到它返回的呢,其实是我们当前系统的一些监控指标,比如我们这个内存的大小,内存剩余的用量,包括我们处理器的数量,以及我们这一块,还有一些线程相关的信息,我们线程的数量,包括呢,类,我们加载了多少个类,我们没加载多少个类等等等等。好,我们把这个呢,来标记一下我们的matrix应用的各项指标,还有呢,我们来看这还有哎,Environment en nv,那这就是我们应用的当前环境信息,哎,这些环境呢,包括我们服务器的一些设置,包括我们系统的一些环境变量的值,还有我们这个,哎,系统环境变量在这,包括我们application配置的一些信息,哎,我们之前写的几个配置文件里边的内容都有,好,我们来标记一下environment,那当前用的环境信息,那还有什么呢?来看一下还有这个叫。
10:51
好,Log,这个log呢,是一些日志信息,我们就不看了,还有一个叫config pro,来看一下config pro。
11:00
这一块呢,其实返回的是我们每一个配置属性的信息报告,这个perfect呢,它指的是我们配置的前缀propertiesx,就是我们能配哪些,那比如我们要禁用matrix端点,我们该怎么写呢?其实这一块呢,就有指定proper呢,叫end matrix,那我们要禁用它有一个属性叫enable,默认是处,我们可以改成false来尝试一下,我呢按照它的这个属性路径,我们来在这配置一下application,那就叫end makeris有一个属性enable,我来写一个false来重新启动,那我们以前呢,访问这个matrix,我们是能访问的,哎,现在呢,我们就不行了,来测试一下怎么回事,哎,现在这个matrix呢,我们就不行了,不呢,就来重新把这个打开,好,嗯,不禁用了,来重新启动一下我们这个应用,来接下来我们访问matrix,又能看到我们这些。
12:00
监控指标。好,我们又看到了,我们呢还有一个端点,这没列举出来的,哎,我这PPT上呢,有叫沙特档,我们可以远程的呢,关闭我们这个应用,那怎么关呢?我们目前这个端点是被关闭的,我们需要打开这个端点,我们叫POS。第二,沙子道。Shut特down特down,那enable我们来给它写成true,那我们把这个端点一开启了以后呢,我们远程的就能关闭这个应用,那现在呢,这个应用是启动起来没问题,那我想关闭它怎么关呢?我们需要发post请求,我可以用post慢来测试来发送一下。我们如果在这输get是不行的,来写一个沙特的回车,哎,这呢是不行的,Get不支持,那就来发post。特曼呢,我们来打开,我们还是给当前应用local host8080shutdown来发请求,好把这个关掉。
13:10
好,能发成破请求,我点send send以后呢,它这会写一个杀屏不当BY给我们打招呼,来等一会,哎,我们看我们的控制台在这就已经自己退出了,这就是来远程关闭应用,那么以上呢,这就是我们各个监控管理端点的作用,我们做了一个大致浏览。
我来说两句