• 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值出现的次数

         

          

     分位数统计

              Histogram和Summary都可以用于统计和分析数据的分布情况。区别在于Summary是直接在客户端计算了数据分布的分位数情况。而Histogram的分位数计算需要通过histogram_quantile(φ float, b instant-vector)函数进行计算。其中φ(0<φ<1)表示需要计算的分位数,如果需要计算中位数φ取值为0.5

            需要注意的是通过histogram_quantile计算的分位数,并非为精确值,而是通过prometheus_http_request_duration_seconds_bucket和prometheus_http_request_duration_seconds_sum近似计算的结果

            通过对Histogram类型的监控指标,用户可以轻松获取样本数据的分布情况

    动态标签替换

         

         

         

         

           

  • 相关阅读:
    sqlserver2008 数据库中查询存储过程的的创建修改和执行时间,以及比较常见的系统视图和存储过程
    ASP.NET MVC 处理管线模型
    C# 四舍五入中一处易错点
    vs 快速定位文件
    动态调试JS脚本文件:(JS源映射
    EF Code First中的主外键约定和一对一、一对多关系的实现
    ws-trust、域、webservice接口的总结
    设计模式(三)装饰者模式
    设计模式(二)观察者模式
    设计模式系列(一) 策略模式
  • 原文地址:https://www.cnblogs.com/yxh168/p/16181734.html
Copyright © 2020-2023  润新知