00:00
好,同学们这里呢,话不多说,我们直接呢开始操作。呃,到我们的notebook里面呢,去选一下这个set an alert,设置一个报警。好,诶,可以看到呢,一上来还是一个查询构造器,此处呢,我们就去做这个查询,呃,要查的是example alert这个存储桶里面的Co。然后field呢,这个字段呢,就是value。好,我们可以点击一下run。那这个查询的跑一次,我这个第一个格子里面的这个查询构造器没有变,但是下面呢,我们会有一条数据啊,会有数据。再往下看啊,那么你这里要是没有数据的话呢,是因为可能是因为你这个操作间隔时间太长,这里默认查询的呢,是过去一小时的数据。那把这个时间呢,可以放开一些,比如过去24小时啊,那么这些数据呢,就全出来了,点击装。可以看到啊。好,那么现在呢,我们有一个可视化的图,那么再往下走呢,我们再去看。啊,那么可以看到呢,有一个格子叫做alert。
01:04
之前呢,我们在这个地方呢,给大家说过,点击加号呢,可以创建,呃,一共是那么多种格子啊,那么其中有一个呢,就属于行动类的格子,那么这里呢,就有一个。呃,可以看到呢,这里面呢,需要你去设置一些东西。呃,此处呢,我们先去设置。当一个数字型的字段,诶大于什么什么的时候,诶可以再往下看这个逻辑,那么在底下呢,我们可以看到这里面呢,可以去选择一个字段啊,点击这个select a nu file。啊,可以看到的,这里面只有一个数字型字段,就是我们现在的value点击,呃,然后great弹就是大于,在点击下来了之后呢,也可以看到这里面呢,哎,可以选择的比较条件也更多。呃,比如说呢,现在可以看到大于等于,然后包括这个呃,小于等于,等于不等于在什么什么之间,不在什么什么之间,以及这个missing for longer than,也就是说已经多长时间呢,没有更新的数据了,我可以看到点一下之后呢,这里面呢会显示,呃,让你去设一个时间的范围。
02:12
啊,这里呢,我们放太大了啊,把它给弄小一些啊,可以看到。呃,随着我们这边比较方式的变化呢,右边的这个让你填的参数呢,也会发生变化。啊,就是这个样子啊,接下来呢,我们还是选择大于大于多少的时候呢,去报警啊,我们这个地方呢,是0.04,也就是我们啊一氧化碳浓度高于0.04的时候呢,就非常危险了。啊,那么这里呢,还有一个chi a啊,我们这里为了让这个呃更加的频繁的去报警。呃,方便我们这个看效果,我们把它设成十五十五秒。啊,注意这个S好啊,接下来呢,我们可以设成http post啊,你会发现这个地方呢,啊,还是没有我刚才说的这个。
03:02
呃,一个请求体内容的设置,这里呢,先不要着急,我们先把这个URL呢给它设上。GDP host1。还是先发到我的本地去看一下啊,我看一下他的这个发出来的数据内容。好,那么接下来呢,我们再去看一下这个底下的东西啊,右边呢,是一个管理啊,它的信息模板。呃,这里呢,还可以有一个表达式的提示啊,你可以看到,呃,你可以通过这个方式呢,直接补全一些,呃,表达式的这个写法。好,呃,再往下呢,我们可以看到有一个最关键的操作叫做export a lot task,也就是导出这个报警的任务,点击一下你就会发现这里面呢,直接给你生成了一套我们做这个报警的啊,一套定时任务的代码。啊,那么这里呢,我们带着大家呢,去一行行读一下它这个代码什么意思。
04:02
呃,这里呢,是一个黑白风啊,为了方便观看呢,我们还是打开一个explorer,我们直接去复制一个当前的标签页。好到这个explorer里面呢,进入这个脚本编辑模式。然后把我们刚才的这个脚本呢,给它复制粘贴进来。哎,复制。粘贴好,这样呢,看着就是彩色的啊,会方便一些啊,主要是方便我们录课啊,好,我把这个折叠一下,然后把这些啊该让的东西呢都让出来,方便我们进一步观看,加高一点。呃,字体呢,我稍微给大家放大一号。好,现在呢,我们给大家讲解这个代码,首先呢,可以看到一个option,呃,Option的名字呢叫task,然后这里面可以看到呢,它是一个定时任务的配置,它呢给定时任务起了一个名字,然后呢又设了一个,呃,多长时间执行一次啊,这里A瑞呢是15秒,也就15秒执行一次。
05:04
他跟谁对应呢?跟我们刚才设置这个任务的时候写的一个I check a就15秒呢检查一次,所以说它是每15秒呢,就会执行的一个定时任务。呃,接下来呢,它声明了一个V啊,可以看到option v,呃,那么这个呢,其实是相当于声明了两个变量啊,你可以直接理解为两个变量,这个不重要啊,这些接下来呢,又说明了一个叫check的变量,那么这个check的变量呢,是一个record类型,可以看到啊,里面写了一些check ID_check name,还有这个下划线tap。呃,在这里呢,再复制一份。哎,那么这些东西呢,是跟什么有关呢?我们可以看一下我们之前是不是在这个呃8ET里面,呃,在这个呃pro里面啊,做下查询啊,可以看到有一个monitoring,这个bucket。然后之后呢,我们说有一个叫做状态的啊,一提交啊,我们再看原始数据。
06:01
注意呢,这里还不能聚合啊,就进入这个教本编辑模式呢,把这个开窗的操作给它去掉。好啊,我之前还说呢,这个地方。啊,也可以看到这里面数据的标签啊,就有check ID check name这些东西啊,那么我们刚才的这个脚本里面呢,可以看到啊,它里它这里呢,就是check ID和check name,他呢,其实就是在准备我们的,呃,一个那给这个monitor拟ing数据存储桶里面,呃,写这个状态的记录的时候呢,啊一个一个标签啊一个标签集可以看到。好啊,再往下我们可以看到有这个notification啊,这个呢,跟上面的这个作用呢,起到的是一样的效果啊,我们要注意这个notification啊,就提醒的一个,呃,消息回到我们之前的data explorer里面呢,我们去看一下example alert。呃呃,这个看一下这个什么monitoring。好,那么可以看到呢,这里面有一个指标名称叫做notifications,就我们发出的这些提醒消息点一下,诶,直接submit。
07:07
此处呢,还是不适合聚合啊,我们还是进入交友编辑器呢,把这个开窗聚合的操作呢给它去掉。好,看原始数据。啊,那么可以看到呢,这里面其实呢,就有一些。我们之前的脚本里面出现的,呃,一些字段,比如说这个notification port ID,哎,可以看到呢,我们的脚本里面呢,就有这些东西。啊,往右拉,往右拉。啊,可以看到这不是important ID嘛,是吧?呃,所以呢,这个也是为了方便记录我们啊一个通,呃这个消息发送的一个信息的呃标签集啊下面呢,是一个正经的查询啊,正式开始的查询可以看到有一个from range操作range呢就是我们之前的呃查询的数据范围呢,时间范围。引用的是我们之前,呃这个option v里面说明的,呃,Time start和time stop,开始时间和结束时间,呃可以看到这里呢是FOR24小时,24小时前是因为呢,我这里在生成这个任务的时候,在这个notebook里面。
08:14
我把右上角设为了PAST24小时,如果呢,我设为一小时或者说15秒啊,那么这里呢,也应该跟着变。然后再往下呢,有两个filter,那么这个呢,就是要查询查出我们,呃,刚才在这个查询构造器里面指定的一些条件了啊,可以回去看我们的notebook。呃,可以看到呢,我们的查询构造器指定了两个常用条件啊,两个过滤条件,呃,可以看到就是我们这里现在显示的measurement呢,要等于Co,而且呢,这个字段呢,要是value这个字段。呃,然后呢,可以看到这个查询出来的数据呢,诶被复制给一个变量叫task data之后呢,底下又有两个声明的变量,一个叫trigger,那么可以看到这是一个函数啊,这个函数呢,里面定义了一个呃条件呢一个表达式啊2VALUE呢,大于0.04啊下面呢,有一个叫做呃,也是一个函数,那么它呢,其实是一个消息模板,我们可以看到啊啊是一个消息模板啊把这个平清一下好接下来呢,可以看到呃,Test data呢,查询出来的数据它又掉了一个STEM这个方法,这个方法呢,可以把哎我们之前的这个窄表结构呢换成宽表结构。
09:26
啊,意思呢,就是说。啊,过去呢,我们不是这样吗?File的fairel,呃,然后呢,还有一个下划线叫value,然后呢,这里的名字呢,有一个叫做fie LD。啊,比如说我这个字段的名称呢,叫Y6,然后它的值呢是0.06,那么经过这个方法之后呢,就可以转变成啊,直接把这个字段呢。字段名变成value了。呃,然后它的值呢,就是0.06。
10:03
啊,是这样一个,呃,转换表结构的那么一个操作。接下来呢,可以看到他又给了一个啊,设了一个静态值set呢,设了一个静态值常亮。好,那么最关键的地方来了,注意啊,最关键的地方就是这两个函数,我截个图。一个叫做monitor chi,一个叫做monitor notify。好。呃,Monitor check呢,它其实是做一个啊,我们对我们的数据呢,进行一次检查,看他呢是不是r value大于0.04,然后按照这个标准呢,去设定一个报警等级,比如说这个C或者warning啊,或者是OK什么的,呃,那么在下面呢,我们可以看到有一个monitor notify,那么这个呢,其实就是向外面的发送消息,呃,这里为什么我们不能直接用if else对数据进行下过滤,然后判断一下它是不是大于0.4啊,然后直接去发送HTTP请求呢啊用monitor,这monitor这个函数呢,其实主要是为了在我们的页面上。
11:05
哎,我们把这个关掉,哎,在我们的这个页面上,在里面可以看到它的历史,呃,如果你不用这个monitor函数呢,你在这里面呢,就不会留下任何记录啊,所以说呢,我们在这里你要通过这个monitor函数呢去呃做这个数据的检查,以及这个消息的发送。呃,我们来看一下第一个monitor check,呃,Data呢,这里面,呃,所谓的data到其实就是我们的这个check的标签集,呃,可以看到就是这些check ID,哎,Check name这些东西把它放在呢,第一个参数data参数上啊,第二个参数呢,是我们的消息模板啊,可以看到它把消息模板传进来了。呃,第三个呢,我们可以看到参数,参数名称呢叫C,也就是说呢,在这里面你要传递一个,呃,什么样的值呢,是CRI的一个条件,呃,其实可以看到呢,我们现在只有一个CRI的级别啊,只有一个CRI的规,呃,这个规则,呃,但是我们如果打这个逗号啊,然后一看你会发现另外还有三种啊,三种我们没有设。
12:05
呃,那么这是因为在notebook里面呢,我们可以看一下,呃,在notebook里面呢,呃,它给你的这个格子啊,里面没有去设置啊,我们不同级别的一个值域的功能,呃,但是呢,我们可以在代码里面呢,自己去改,可以在代码里面自己改啊另外呢,就是第二个这个呢,非常重要,跟我们对接这个瑞向云呢有关系,我们可以看到啊有一个啊in point这个参数,那么这里面呢一看。他传了一个什么呢?呃,他传了一个。叫做终端的对象。可以看到呢,这里面有两个小括号,什么意思呢?其实是httppoint这个方法啊,这个函数。它括号URL,然后再传递这个参数啊,传递我们的URL。这个函数调用呢,它返回的是一个函数。啊,也是这个函数返回一个新的函数,然后这个函数呢,再调用啊,再调用我们返回的函数,所以说呢,这个时候要传递一个小括号。
13:03
呃,这个小括号里面,我们可以看到塞的呢是一个也是一个函数,但是呢,它这边很重要啊,注意。哎,也可以看到这个叫什么,这个叫body,这个是不是就是我们要关注的那个请求体啊。哎,这个就是请求体,同学们,我们不是一直在头疼,就是我们的请求体,英拉DB发出的这个请求体跟我们的这个瑞向云的API对不上嘛,啊那么这呢,就是我们作为的空间啊,我们待会呢,就可以在这里面直接修改我们请求体的一个构造。呃,最后呢,返回的是一个我们的响应啊,可以看到那边的响应,这个不重要,呃,现在呢,我们去尝试啊,我们直接萨看一下什么效果。好,我先点击这个提交了,我们现在往下拉一下看看,呃,他说option v这个是重复声明了,呃,是因为我们这个当前在这个data explorer里面呢,它有一个呃环境变量,我们在自己声明,在自己声明那就不行,呃,此处呢,我们直接把它给干掉,微我们就不要了。
14:04
呃,底下呢,这里面就会换成我们data explorer里面的环境变量,在此处呢,我们把这个past改成过去24小时。啊,再点击好可以看到呢,上面已经出图了啊,但是呢,我们不看图,我们看原始数据。好,可以看到呢,这里面其实就是我们整一个脚本执行下来的一个返回结果啊,里面呢是呃,各种提醒的信息。呃,包括我们现在检查的名称name。以及我们这个数据检查结果的一个,哎级别我们可以看到是C啊,也就是我们呃,过去24小时里面的所有数据都对他去进行了一次检查,呃,哪些数据呢,是c rit级别啊,不满足CT的呢,默认就是OK级别我们可以看到。呃,以及往下拉,往右拉,可以看下这个数据。啊,包括这个。事发的时候呢,这个值是多少,也可以看到0.05 0.06 0.06啊,以及我们之前设的0.001啊,这这些呢,都全部查出来了。
15:04
然后呢,我们现在去看一下我们这个报警的一个记录。呃,我们去另外一个页面上,然后看这个俄乐斯。I can'history。啊,那么可以看到呢,这里面是我触发了好几次啊,现在呢,你可以看到啊,我们每这个脚本呢,每执行一次,它只会呢发出两个信号。啊,一个呢,是他一个c it,另外也可以看到时间抽啊,时间戳不一样,一个是09:26干的,一个是09:20干的,呃,所以说呢,这两个是同一次执行的。呃,刚才呢,我们有很多条数据呢,都呃都使这个,呃检查的时候呢,处于CT状态,但是你可以看到呢,呃,他最后呢,整个脚本的记录啊,整个脚本的记录只会保留一条啊,一旦你这个数据呢,有一条使它处于R状态了啊,那么在我们的notifications里面还有这个,呃,Status里面呢,它都只会保留一次啊,保留一次。好,那么接下来呢,我们去看一下这个我们。
16:03
这个最简单的啊,Http server接收的一个信息可以看到呢,这里没有接收到信息。呃,我想呢,可能是我的脚本呢,写的有问题,此处呢,我重新把这个东西起一下,把平清一下。好,那么我们现在呢,去看一下脚本,诶可以看到这个endpoint的地址有写错了,我们是8080,不是8086,好,现在点击submit。呃,现在呢,我们再去看一下终端啊,啊,你可以看到这里面呢啊,其实把所有的这个包,不管是CT的还是OK的这些数据呢,全部发过来了,全部给我通知过来了。啊,那么这个时候呢,就看你想不想把这些数据呢,全部发过来,我们可以看到这一个脚本执行呢,啊,因为我们查的是过去24小时的数据,他呢就把所有的数据呢,都过了一遍一遍检查,然后把检查结果呢,全部发到我这个端口里面来啊我可以看到的这里是live是OK的状态啊,然后包括这个值,可以看到这个值呢是0.001,那么这是一个OK的信息。
17:01
呃,再往上看呢,也可以看到这个CRI的,呃,那么这个值呢,我们可以看到这个值是0.06啊,这个报警的级别呢,是C状态是cri。呃,如果说呢,你不想要OK的,那你就把它过滤掉,我们在这个脚本里面呢,再加一行在check之后啊,因为状态是在check之后才产生的。我们去加一个管道函数,做一个filter。然后给一个FN啊,给一个匿名函数。啊,这个秘密函数里面呢,我们直接去做一个逻辑判断,就是这一行的。Le,不等于OK。好,呃,现在呢,我们把这个平清一下,我把这个先考C断掉,然后呢,平清一下呢,重新运行这个,呃,HTTP服务,接下来呢,我们再次点击submit。
18:04
好,回去看终端。呃,现在呢,你就可以看到啊,你就可以看到底下这些,底下这些是我的新的。啊,我们的这个OK呢,就没有了,只有C的这个报警级别的消息了。呃,那么现在呢,我们回去,呃,把我们的这个脚本呢,再次完善一下,因为我们还有一些别的报警级别的,呃,比如说是这个running,它就没有去做一个配置。呃,此处呢,我们直接写一个啊,再去写一个新的函数。哎,叫trigger_war wrong,哎,它呢是一个函数R,哎是参数好,接下来呢,过来写我们函数的逻辑,我们说呢,二二的这个值。R value value。呃,如果是小于0.03啊,且呢。
19:04
它大于。0.01,那么它呢,就应该是wrong,哎,在这个后面的这个monitor check函数里面呢,我们把这一个哎自己写的函数呢,传递进传递进来啊,可以看到逗号,然后呢空格,然后自动提示一下啊。他有一个叫做warn的参数。啊,这里没有自动提示出来,不管了,我们直接写啊冒号W冒号啊,把我们这个trigger呢给他传进来。好,那么现在呢,我们应该是规定了一个,呃,哪些值域呢?哎,是我们的。警示的一个。检查级别,接下来呢,我们需要去点击submit,把这个脚本呢给它执行一遍。好,回去呢,看我们的终端啊,可以看到现在呢,有些数据呢,被正确的识别为呃RA了啊,这里面呢,我们可以看到有这个0.024的,还有0.0146的,都是我们之前演示的数据啊,那么这些值呢,都是在0.1~0.0.01~0.03之间啊,他们呢,就是应该是啊警告的级别。
20:16
啊,那么现在呢,再回来看一下啊,回来看一下我们的,呃,这个报警记录。呃,那么可以看到呢,呃,这个09:40:56的,这是一波执行的,你可以看到现在呢,它一次执行的产生了三个啊检查级别分别是COK和wrong啊,再看这个这个警示啊,这个提示,因为OK呢,我们现在不走了啊,不发这个不发送OK的数据了啊,所以说看到这个二九点四十分56秒呢。它只有cri和RO去发送了。呃,那么这就是我们现在任务的一个情况,好说到这里呢,关于我们这个,呃,一个检查的脚本呢,就给大家讲明白了,最后呢,下一节呢,我们开始给大家讲,呃去操作这一个point,给我们的瑞向云呢做一个对接。
我来说两句