00:00
好,同学们,现在呢,我们直接来配置一个提醒规则啊,这个首先呢,点击最上面的这个选项卡,右边这个选项,Not notification rule,然后再点击create。好,首先呢,可以看到第一个说你要给这个新的一个提醒规则呢,去起个名字啊,这里面呢,我们就叫这个哈哈哈吧,呃,然后呢,我们接下来呢,就是有一个地方呢,说啊多长时间调度一次呢,默认值是十分钟,然后偏移量是零秒啊也就是说呢,你可以想象它是一个定时任务,但定时任务呢,他可能查了什么东西,呃,所以说他查了什么呢,我们可以给大家看一下啊。先把这个关掉。我们到这个data explorer里面呢,去看我们的存储桶,然后再往下拉,会看到呢,有两个下划线的这个存储桶,一个叫monitoring,一个叫tasks。啊,那么顾名思义呢,这个tasks呢,里面记录了我们定时任务的一些执行信息。
01:01
呃,然后呢,这个monitoring里面呢,就是跟我们这个报警,跟这个报警的任务相关的信息,呃,现在呢,我们可以看到点进来之后呢,里面有两个,呃,Measurements measurement,其中有一个呢,表示状态点击它。哎,再来往下拉,我们可以看到呢,这里面有一些字段,包括message value source time,呃,这个source的这个时间戳,现在呢,我们不管这些字段,我们直接提交。好,可以看到呢,我这里报错了,他说这个输入的类型呢,哎,不能被这个min这个哎这个聚合函数去进行计算啊,字符串不能被min这个聚合函数来进行计算啊,说明我们的杠瓦力有这个取值呢,它的类型是字符串类型的,所以说呢,我们切换到这个脚本的编辑器,把这个聚合的开窗呢,直接给它干掉。点击submitit。好啊,注意呢,我们这里啊啊,不看这个图书化的数据,我们直接点进来看这个原始数据啊,那么现在呢,是我在备课的时候啊,我先给大家说一下备课的时候呢,啊之前给大家看这个儿history。
02:07
啊,当时我给大家录制的时候呢,有三条,但是可以看到啊,这是五点钟,五点钟的时候,这个一个报警信息啊,那么现在呢是八点,所以说呢,我去查过去一小时的数据呢,实际上只有最近这一条,而这一条呢,是我刚才自己备课的时候呢,自己插入的一条数据。呃,回到我们这个查询里来,呃,重新提交一下。好,看到这个原原始数据,呃,可以看到啊,我这里面呢,一共有三条数据,这呢是因为我刚才查询的时候呢,没有对字段进行过滤,所以我把这条数据的三个字段呢全查出来了。呃,每一行呢,主要是这个file的字段名和字段对应的值不同。好,那么剩下的这个包括table measurement check ID check name,我们可以看到check ID它是一样的,Check name它是一样的啊live呢也是一样的,包括这个S什么的也是一样的,好说明白这一点呢,我们来看数据的内容。
03:09
呃,那么这里面呢,我们知道啊,这个存储桶的名字呢,我们已经知道了啊,它呢,就是我们的呃,Monitoring,呃,这里面记录的呢,就是我们check里面啊,我们的这个check任务里面,他去生成的信息,也就是说这个检查任务呢,他每隔一段时间查询最近的最近最近的数据,如果呢,触发了我们规定的那个阈值,它就向这个存储桶里面插入这些数据,插入这三个字段。啊,可以看到这个message,就是我们之前,呃,这个报警的信息回到我们的,呃,截个图,截个图啊,我只截这一个字段啊。然后回到我们的这个alert history里面。啊,可以看到跟我们的这个存储桶里的数据是不是完全对得上呢,你可以看到啊,这里是不是报警的级别。
04:02
然后这里是不是检查的名称。这name。哦,这里还有check ID这里呢,是不是我们的。报警的message信息。啊,还有一个就是这个数据的时间,那么实续数据库当然有时间了,呃,所以说呢,我们的check任务呢,它本质上就是说呃,去检查一下我们最近的呃目标的那个液氧化碳浓度,然后呢,把它改成这样的数据,呃通过一个一切列计算,把它算成这样的数据,写到我们的monitoring这个存储桶里面。好,那么现在呢,说完这个我们再去看我们的报警规则啊,这个通知规则。点到奥特斯,然后完了之后呢,我们还是去创建一个规则,所以说呢,这个定时任务啊,我们可以看这个又是一个多长时间调度一次,这个定时任务指什么意思呢?指我多长时间去那个monitoring的存储桶里面查看最新的啊一个检查信息,呃,这里呢,再给大家画一遍啊,一定要强调一遍。
05:09
首先呢,有chicks。他们呢去做一个,呃,查询向外呢,去查询好多存储桶。哎,之后呢,把这个所有的checks任务呢,向哪里写呢。呃,像我的monitoring这个数据库,呃,这个存储,这个存储桶里面来写。Monit to r,呃,然后呢,就是这里面写的数据呢,就是各种包括这个报警的信息,报警级别,哎,Check的名称,Check name哎等等等等,哎,接下来呢,我们的一个。Notification rules哎,这个通知规则。它也是一个定时任务啊,他每隔一段时间去查谁呢。
06:04
他每隔一段时间呢,去查我们这个monitoring的存储桶。然后呢,他把数据查出来,哎再去看,当你的这个状态是C,哎还是info还是wrong,还是OK的时候呢,我把这个里面的message,因为这个你这个monitoring里面不是记录了message吗?是吧。我把这个message发给谁?哎,这就是你的通知终端。所以说呢,这就是整个的一个工作逻辑,呃,现在呢,我们就知道这个tag filter啊,你可以看到这里面呢,有一个当状态等于多少的时候,但是底下呢,就给你补了一个,呃,标签的一个过滤器,那么这个是让你过滤什么的呢?呃,这个就是让你根据这个check name,还有包括这个啊,我们刚才看到的还有这个数据源的一个名称啊,包括Co,我们可以根据那个数据源的名称m source来进行一个过滤。啊,所以此处呢,我们又知道该怎么写了,首先呢,我们因为只有一个通知终端,所以这里自动的就是http point,给它起个名字就叫哈哈哈啊,仰天小长啸三声。
07:11
然后呢,这个调度的时间呢,我们还是可以设成15秒。呃,另外呢,就是可以看到这里面有一个当状态是多少的时候呢,去给httppoint发送信息,此处呢,我们可以去设一个tag filter进行过滤,虽然说我们现在呢只有一个检查的,呃,检查的任务,但是我们这里呢还可以,哎,组个形式啊,给大家设一下,呃,这个呢,要严格的按照我们刚才看的那个monitor存储桶里面的字段来写,那么check name呢,它有一个前面有两个下划线。啊,有一_he cck等于me,然后等于等于我们的这个呃,Co_A大写alt的时候呢,呃,发送给这个htppoint啊通过这种方式呢,你的这个我们说不同的这个检查任务呢,你就可以通过这个规则啊,比如说我现在又有别的检查任务叫什么SCO2俄罗特,那么你是不是可以给他到时候配置一套,哎,他的通知终端呢,那么当时可以的。
08:12
好,现在呢,我们去create这个规则可以看到啊,现在是对号。啊,这里呢,有一个他上一次最近完成的一个时间啊,包括我们之前的这个检查工作任务,我们也可以看到他最近完成的时间啊,这里是零时区零一零一零八三十加八,也就是现在的09:08:30啊,我我这应该刷新一下啊。F5刷新一下,哎,可以看到是这个,呃,14分15秒。呃,接下来呢,我们去我们就去尝试一下啊,因为可以看到呢,我们这里,诶最简单的这个post server呢也开着呢,待会呢,他如果收到信息的话,就会把这个请求体呢,直接打印到我们的控制台上。好,现在呢,我们去设置一下,在这个data explorer里面呢,在这个罗地塔里面呢,去输条新的数据。
09:04
好数据的格式呢,首先还是要选对存储桶啊,数据的格式呢,从我们的Vs code里面粘贴。现在呢,我们因为配的是CT,我们需要让这个值呢大于0.04才能去触发,此处呢,我给一个0.05。好,点击re,把这个数据写进去,现在呢,就去这个俄罗特斯里面呢等着,哎可以看到呢,我们已经触发了一个C级别的,哎,报警,我们可以看一下这个notifications。哎,刷新一下。好来了,可以看到呢,这里面啊,Notifications呢,这里面就是我们的信息的一个发送情况啊,这里呢,可以说你可以看到右边有一个cent,然后他冒着一个绿色的对勾,说明我们这个数据呢,请求是发送过的啊,请求发送过的,现在呢,我们去控制台里面呢,看一下我们的数据有没有过来。呃,这里是空白。啊,可能是哪里出错了,我们可以回去看一下。
10:03
呃,首先呢,首先呢,是去检查一下这个终端的配置。啊,果然啊,这个地方呢,我写的是端口呢,我写的是8086,我们应该是8080啊,不是8086,是以我这个simple啊,Http post server它占用的一个端口啊,不是我们in DB占用端口,好把它呢编辑一下修改,再看一下有没有改成功啊,可以看到改成功了。呃,现在呢,我重新去插入一条数据。啊,重新去查一条数据。好,同样还是选对存储桶啊,然后之后呢,把数据粘进来。啊,去重新复制一下。呃,数据粘进来,然后呢,这个值呃,给到0.06,它一定要大于0.04啊,然后呢,点击写进去。好,我们现在呢,再去看一下这个,呃,俄罗斯history啊,可以看到又出来一条新的啊,这个C的。
11:02
级别的一个检查,看这个notifications这里呢,需要等一会。哎,可以出看到呢,出来一条新的,现在呢,我再去这个,呃,终端里面,诶可以看到呢,我们现在的这个数据呢,已经出来了。啊,它是一个Jason格式的数据,呃,接下来呢,把它复制一下给大家呢,格式化看一下。啊,我这里有个工具看杰森。好,稍等啊,我把这个得先给它复制一把。Hop。呃,可以看到呢,这里呢,就是我们这个,呃,我们的in Fla DB发送出来的一条报警信息,呃,它呢,向外发送一个HTP请求,把这里面的包括检查的名称,包括这个告警的级别,以及这个告警的信息,这些呢就全部发出来了。呃,那么如果呢,我们这个地方呢,呃,去提供服务的不是我们的simple http post server,而是一个报警的通知系统,他呢,收到这个请求之后呢,就可以触发一系列啊,包括给这个程序员打电话,给相关的这个运维人员呢,发这个啊微信或者说是这个钉钉的操作啊,那么现在呢,我们整个的一个报警的流程呢,就是把这个HTP请求发送的这一套流程呢,全部给打通了。
12:26
呃,那么下一步呢,我们要去弄这个瑞向云,呃,然后呢,把这个告警的信息呢,真正的发送到我们的,呃,一个程序员或者说是运维人员的手机里面,这里呢,老师会拿自己的手机呢来做一个演示。啊,那么我们本节的内容呢,就先到此结束。
我来说两句