Promql基础语法2

数据样本

          

        直方图类型

           

           delta函数

             

 运算操作

        

       

        

 数学运算

       node_disk_info / 100

      当瞬时向量与标量之间进行数学运算时,数学运算符会依次作用域瞬时向量中的每一个样本值,从而得到一组新的时间序列

    

     

     瞬时向量与瞬时向量之间进行数学运算

     依次找到与左边向量元素匹配(标签完全一致)的右边向量元素进行运算,如果没找到匹配元素,则直接丢弃。同时新的时间序列将不会包含指标名称

     

     

    

    布尔运算过滤时间序列

     (node_memory_MemTotal_bytes – node_memory_MemFree_bytes) / node_memory_MemTotal_bytes > 0.95

     瞬时向量与标量进行布尔运算时,PromQL依次比较向量中的所有时间序列样本的值,如果比较结果为true则保留,反之丢弃
     瞬时向量与瞬时向量直接进行布尔运算时,同样遵循默认的匹配模式:依次找到与左边向量元素匹配(标签完全一致)的右边向量元素进行相应的操作,如果没找到匹配元素,则直接丢弃

      

    

 集合运算符

       使用瞬时向量表达式能够获取到一个包含多个时间序列的集合,我们称为瞬时向量
       左结合定律,以左边的向量结果集合为参照标准

       vector1 and vector2 会产生一个由vector1的元素组成的新的向量。该向量包含vector1中完全匹配vector2中的元素组成
       vector1 or vector2 会产生一个新的向量,该向量包含vector1中所有的样本数据,以及vector2中没有与vector1匹配到的样本数据
       vector1 unless vector2 会产生一个新的向量,新向量中的元素由vector1中没有与vector2匹配的元素组成

 向量匹配模式解析

           向量与向量之间进行运算操作时会基于默认的匹配规则:依次找到与左边向量元素匹配(标签完全一致)的右边向量元素进行运算,如果没找到匹配元素,则直接丢弃
           左边向量元素为基础,左右不匹配的记录全部删除
           在PromQL中有两种典型的匹配模式:一对一(one-to-one) 没有用到group就是一对一匹配

       

    多对一(many-to-one)或一对多(one-to-many)

          多对一和一对多两种匹配模式指的是“一”侧的每一个向量元素可以与”多”侧的多个元素匹配的情况.在这种情况下,必须使用group修饰符:group_left或者group_right来确定哪一个向量具有更高的基数(充当“多”的角色)

          method_code:http_errors:rate5m / ignoring(code) group_left method:http_requests:rate5m
          group_left    表示左边向量多       左边的多条记录对应右边的一条记录
          group_right  表示右边向量多       左边的一条记录对应右边的多条记录

          

聚合函数

     count_values用于时间序列中每一个样本值出现的次数。count_values会为每一个唯一的样本值输出一个时间序列,并且每一个时间序列包含一个额外的标签

     统计同一个value值出现的次数

    

 

     

 

商匡云商
Logo
注册新帐户
对比商品
  • 合计 (0)
对比
0
购物车