00:01
那么接下来呀,咱们来看一看我们那个普罗米修斯呢,它所提供的查询语言啊,那么说普罗米修斯呢,把数据指标采集到之后呢,它会通过指标名称以及呢对应的一组标签对吧?那么唯一的去定一条时间序列对吧?那么咱们现在呢,那可以基于我们现在这些特征对吧?来对我们这个数据呢,来做过滤聚合统计对吧?那么具体怎么来做呢?那其实普罗米修斯它本身呢,给我提供了他自己特有的这个查询语言对吧?这个好处呢,那其实就是方便,但其实也有弊端,这个弊端是什么呢?弊端就是你需要呢,对咱们这查语言的语法呢,稍微做一个了解,对吧?那么咱们现在呢,在这里同学们啊,因为我们主要是想把整个这套监控的这套流程呢给走通啊,那具体它的查询语言呢,这个不算我们这重点讲解的内容,大家呢,诶简单的看一看我。
01:02
大概的基本语法对吧?这样就OK了,比如说啊,那我现在呢,在咱们这里边对吧?那来到哪呢?来到刚才我们的普罗米修斯他这个界面里边对吧?那么来到普罗米斯界面里边之后呢,那同学们大家点我们这普罗米修斯对吧?他其实相当于到他的工作台了,对吧?那我现在呢,可以通过我们在这里边来输入他的一个普罗米修斯他的查询语言对吧?来对我数据呢做一些我们查询对吧?那么具体说指标是什么?说老师我怎么知道当前呢,都有哪些查的指标呢?对吧?也没有必要去记,同学们你也记不过来,而且有些指标呢,它的名称是比较长的,你在写的时候呢,可能容易出错短,那怎么办呢?那么在这里大家注意看,他把所有的指标呢,其实都给你列出来了,对吧,比如说你看在咱们这里边对吧,它会有一些对吧,这个节点CPU的对吧,这里边的一些访问情况,然后呢,一些节点的对吧,什么内存的一些什么访情况。
02:02
网络的情况对吧?哎等等对吧,包括一些咱们这个普罗米修斯的吧,他一些什么请求情况,比如说我现在以他为例,对吧,这个呢是普罗米修斯,然后HTP请求的一个这个数量对吧?当你现在呢,把当前的指标选中之后,注意下同学们,咱们可以呢,去执行XQ的对吧?那么他会把所有和普罗米修斯相关的P请求都给你列出来,比如说诶,你请求这个地址,你请求这个地址,你求这个地址对吧?那么请求了多少次,就一共啊,你在这里请求了咱们这个地址对吧?这是多少次,因为你这里这个指标统计是不是咱的总数啊对吧?哎,这个其实呢,也没必要咱们记,那就是我现在把pro搭建好之后,我现在想获取一些咱们指标值的话,比如说我想统计AHPB请求的一个总数的话,那你直接对吧,用这个就把这指标往这一放,一查询这就OK了对吧,一查询这就OK了对吧。这是第一个对吧,这第一个,那么咱们现在呢,再去查询的时候呢,大家注意看咱们现在呢,它的一个我们这个说明对吧?那么你现在呢,在这里除了把指标名称放过来,那其实呢,你还可以加什么呢?加上一个我们这个划括号,那么加上这划括号,其实呢,它的一个效果呢,是等同于我们现在呢,啥也不加呢啊就等同于咱后面啥也不加呢,那么这个花括号里边如果想加东西的话,那么加什么呢?那其实呢,就是可以加一些咱们过滤对吧,那比如说我现在在这里对吧,那不是有咱们这个什么instance嘛,对吧,那你可以把它当前的这个instance给拿过来,对吧?放在这里边对吧,去做一个执行啊,其实呢,这个效果呢是一样的啊,其实这个效果呢,是一样的,对吧,也就相当于对我当前这个指标,按照这里边某一个标签来进行过滤啊,比如说我现在啊,把这个扣的等于我们这个302的这个查出来啊,把咱当前扣的等于302。
04:00
了这个查出来对吧,然后接下来咱现在再一执行,大家看这时候相当于作为过滤啊,对吧,和你再去查询我们这个,呃,关于数据库,其实要写这所。是比较像的,思路比较像的,但语法呢不一样是吧,然后接下来那么除了我们现在。这种方式之外呢,那么咱们这个普罗米修斯他的查询语言呢,还可以支持使用正则表达式作为什么匹配查询条件,对吧,那这里对吧,那你可以使用我正则表达式去做对吧?那么这个呢是基本的查询,那么除了基本查询之外呢,还有它的范围查询,对吧?那么我们现在啊,直接通过普罗米修斯的查询言在查询的时候呢,它其实对吧,这个返回值,它只会把当包含当前时间序列中的最新的样本值给它返回过来。对吧,什么意思?同学们,比如说啊,我再去查询对吧,那么查询之后他会把当前这个时间点上,然后呢,所有的请求的个数给我查出来,对吧?那我们现在呢,这里边对吧,是以当前时间对吧,作为一个我们这个参照点的,对吧?那我们称这种反问结果呢为瞬时向量啊那么咱们现在相应的这种表达式呢,就这个东西表达式,它呢叫瞬时向量表达式,那么有的时候呢,我不想去把当前的时间呢去查出来,比如说我想去查询一个时间范围,对吧,我想去查询对吧,那么最近五分钟内所有的样本数据对吧,最近一个小时内所有样本数据,那么这个时候是一个时间范围,而不是所有时间,那么这个时候呢,咱们就不是顺直向量表达式了,对吧,是什么呢?叫区间向量表达式,那么这个区间向表达式,那么怎么来做呢?告诉同学们,比如说我现在再去写区间面表达式的时候,对吧,那后边呢,是你的一个啊标签过滤,然后后面跟上一个我们这个中国号。
05:51
对吧,那么你这里可以加时间,这个时间单位可以天,可以小时,可以分钟,可以是秒,对吧,那比如说我现在呢是对吧,这个最近五秒的一个情况对吧,那这个时候他呢会对吧?这这其实就是一个什么呀,这其实呢,就不是我们这顺值向量了,他其实是个区间对吧,他拿到的最近五秒内它的一个样本数据对吧,这个其实就相当于查询的是一个时间范围,对吧,像以前咱们呢在写so,有的时候不是对吧,这个时间范围我可以什么大于多少,什么小于多少,在哪个范围嘛,对吧,那其实这块呢,就换种语法对吧,换种语法对吧,那么还可以做什么事呢?还可以做时间的一个位移操作。
06:33
啊,还可以做一时间位移操作对吧?那么这时间位移操作它是怎么回事呢?同学们对吧?大家可以看到说我现在呢,在瞬时向量表达式或者区间向表达式中,它都是以当前时间呢为基准的,也就是说我现在对吧,要是这个瞬时向表达式啊,是把当前时间点上啊到到到这个当前时间点所有的对这个数据给我查出来,以我们的总数为例,对,就是我到这个点上,它的一个请求的总数是多少对吧?那么如果是个范围的话,那也是对以当前时间是吧,这个为基准,然后呢,最近啊向前是五秒对吧,它的一个我的总数是多少对吧?都是我以当前时间呢为基准的。
07:13
对吧,但有的时候呢,那我可能不是以不想以当前时间为基准,想以一个历史时间那为基准,比如说我现在有这样的需求,对吧,什么需求呢?我想查询五分钟前的一个瞬时样本数据,比如说五分钟前对吧,他在那个点上,它的一个总访问量是多少。对吧,那我现在想统计昨天一天的区间的样本数据,那么这个时候咱们怎么来做呢?对吧,你如果再去使用我们现在对吧,这个像像我刚才这种时间的话,对吧,按照我们现在这个当前设为基准,这就不太合适了,对吧?那么这块时候我们要需要用到什么呢?要到一个时间,它的一个位移操作,对吧?那么这里有关键字叫offet啊,那么这个offet呢,就相当于把以当前时间为基准的时间向前对吧,来挪多长时间对吧,就是相当于给他移位了啊移位了对吧?那比如说我们现在呢,在这里我想去统计,对统计什么呢?统计我们这个五分钟前对吧,它这个税验样本数据,那这个时候咱们可以把这个拿过来对吧,往这一放对吧,注意看啊,和原来不一样的地方在哪呢?这一块我现在选中的,这其实呢,是以当前时间为基准的,对吧,那么我这里加oppositeset,然后五分钟是至五分钟前呢,它的一个瞬时这个数据对吧?这个呢是五分钟前它的一个对吧?这。
08:31
呃,请求访问情况对吧?那么如果说我现在想去把昨天啊一天的区间样本数据给拿到,那应该怎么写呢?对吧?来同学们咱来分析一下对吧?那么咱们这块呢,其实是一个区间数据啊,这个中国号表示的是区间数据,对吧?那但是我现在呢,如果要直接这么写的话,是以当前时间为基准的,那我要想把昨天的时间把这个区间数据拿到,那怎么办呢?我得把下前啊移一天往下移一天,对吧?那么昨天的这里没有数据嘛,对吧?好的同学们,那么这块呢,是时间的位移操作,然后接下来,那么再往下呢,还有。
09:07
咱们一些聚合操作对吧,也就是说我们现在再去查询我们这circle的时候,它本身不有什么avg呀,什么sum呀,什么com呀啊等等,那么咱们这里呢,也有一些聚合标签,比如说我现在想查询总的对这个请求数量多少,你看原来在查询的时候,同学们,咱们在这里在查询的时候,它都是,诶每一个请求它的访问次数是多少,是单个的对吧?那我现在想把这个总的请求数量给他列出来,那怎么办呢?对吧,那直接对吧来一个sum对吧,大家可以看到咱们现在呢,在这里把它给括起来对吧,括起来然后呢去执行一下对吧,大家看咱们现在总请求数量就出来了对吧,总请求数量就出来了对吧,这个呢是关于我们的聚合操作,那么另外一个呢,还有一些什么标量和字符串,对吧?那么咱们现在呢,除了瞬时向量表达式和区间向量表达式之外呢,那我们这个弹询语句呢,它支持用户使用标量和字符串,那什么叫标量啊,其实就是只有一个数字。
10:07
其实就是一个数字嘛,这个字串呢,其实就是一串咱们这样的一个字串,对就我现在再去这个查询的时候,那其实呢,你可以直接对使用我们现在这个数字,或者说呢,我们现在对吧的一个字串来作为咱们现在呢它的一个对吧查询啊做一个查询对吧?好了,然后接下来这里有一个什么合法的这个表达式对吧,那这个你得知道我现在要写的话,那么什么样的东西合法,什么样东西呢不合法对吧?那么人家要求所有的这个普罗米修斯,他就语言表达式必须呢,至少包含一个指标名称,比如说咱们现在在这里,那我现在呢,包含的是一个指标名称对吧?那么如果不把指号指标名称的话,那么你这里呢,或者你可以直接这么来写,同学们对吧,你这里这么来写对吧,那么如果这么来写的话呢,同学们,那么咱们呢,再去做咱们查询的时候,对吧?哎,那这块我去把这个拿过来啊。
11:06
咱们呢,我去把这个查询一下对吧,来,我现在呢,再去查询的时候,把这个呢,哎,我去拿过来,我去写一个条件啊同学们对吧,把这个呢,我给拿过来啊,把这个拿过来。好了,那么咱现在呢,去执行同学们你看对吧,那么你或者这么写这样也可以对吧?那么这个是什么呢?这个是一个不会匹配到空字符串的,它这个标签过滤器,这样也行,对吧?所以说呢,咱们这两种写法其实都是可以的,但如果说你现在呢,我写一个标签,然后你匹配到东西,匹配不上,那这个东西那就不合法了,对吧?那除了咱们现在呢,通过这种方式做查询之外,其实呢,还可以通过内置的一个内幕标签来指定监控指定名称的数据,对吧?比如说你看咱们现在呢,要想去对吧查询我们的pro请求的总数的话,你除了直接通过咱们这个标签名称去查询的话,那其实还可以这样,通过咱们的name来指定,我现在呢,这个名称是什么做查询这个效果呢,是一样的啊,这个效果是一样的对吧,像这些呢,同学们是关于它的一些基本语法对吧?像这个其实就是一个吧了解的东西,对吧?那么具体的指标有哪些呢?也没有必要去记这么多指标,你说。
12:21
你能记得过来吗?对吧?那就是说我现在呢,到时候我要去监控谁的时候,对吧?那么你去看一看,我现在呢,对吧,都需要监控哪些指标,我大家看一下就行了,对吧?好了同学们,那么除了这个之外呢,那其实还有一些操作符,操作符的话大家也是对吧?简单了解说,我现在普罗米修斯里边呢,它的查询语言中也支持操作符,比如说算术运算,加减乘除对吧,模运算,然后呢,布尔运算对吧?那么以及呢,咱们得集合相关运算这里都有,然后还有一个操作符的优先级,同学们这个东西有必要去记吗?没必要,对吧,因为操作服优先级咱们一般对吧,是不是用括号来括起来就先执行啊,对吧?然后还有它的聚合操作,这个聚合操作除了我们这个sum最大最小平均值之外,还有一些叫什么计数啊,对什么标准差呀,对吧,等等,或者说我现在呢,取我们现在呢,它的一个的前N条或者后N条,比如说同学们,咱们现在呢,在这里,比如说top k对吧,那么这里呢,咱们拿到我们现在啊,它的一个统计,比如说我现在要统计。
13:21
其他对吧,那我现在通过什么函数呢?有一个叫top给对取咱们前N条对吧,那么具体咱们在取的时候对吧?那你可以看到我现在呢,要想去取的话,同学们,那在咱们这执行的时候呢,那你可以去来指定我们现在呢啊那多少条是吧?取钱多少条对吧?那么具体在走的时候呢,那你可以啊按照我这种语法对吧,按照这种语法来去取一下对吧,比如说你看咱们现在这前前五前五的话,你是不是得把这前五我给参数传过来呀,对吧,在这里啊传一个参数对吧?来,那我现在呢去拿执行,大家看这个呢,它就是按照我们的请求数来做排序,然后把前五的呢给它取出来对吧?像这里边有具体的案例,大家下去可以自己去对吧,列一下好了,这是关于我们现在呢,普罗米修斯查询语句的一个介绍啊。
我来说两句