Prometheus:一文说尽强大的PromQL表达式QL顾名思义,Query language即盘问措辞。Prometheus行为强健的开源监控体系,最大的依赖便是PromQL。是监控数据本性化盘问、映现的根基。因而要控制Prometheus,控制PromQL是必备的条件。本文通过对PromQL外达式的基础因素和一个庞杂的外达式解析,来映现PromQL强健之处。
类比于sql的操作对应是数据库中的构造化数据,PromQL操作的对象叫做时光序列,可分为:瞬时向量、区间向量。
咱们搜集的数据叫time series即时光序列,对应的是每个时光点上的一齐样本数据:
一个样本数据蕴涵目标名称、抓取样本的毫秒时光戳、样本值。对应于上图的某给点。
那么瞬时向量对应的是某个时光点的纵轴切面,区间向量对应的即是某个时光段的纵轴切块。
这个观念很首要,举例:1点CPU利用率10%,2点CPU利用率20%,3点CPU利用率30%
那么瞬时向量即是1点CPU利用率10%,这个搜集点的一齐样本数据,区间向量即是三个小时的一齐样本数据。区别即是一个代外一个搜集点,一个代外某个时光段的几个搜集点。
援救的运算基础与一门编程措辞援救的操作相当:数学运算、布尔运算、齐集运算。
一个瞬时向量会有良众样本,那么数学运算即是一次比拟运算符双方的数据,查找对应的样本举办样本值的数学运算布尔运算对应的是数据的筛选齐集运算对应的是样本数据的交集、并集、排序PromQL鸠集操作
PromQL的鸠集函数时常用于监控数据成图中,也是闪现数据最好的器械。不外能够正在全体利用中,缓慢谙习对己方有效的鸠集操作。
该PromQL后台:click对应的是广告数据点击的时光序列,metric类型属于Counter。需求是每分钟click数主意点击数,服从instance举办分组。
不过当click对应的一组标签即维度的数据,第一次采样值是10,不过对待increase函数,正在策动上一分钟搜集点和目前搜集点的增值的岁月,展现没有上一分钟的搜集样本,那么increase会以为目前赠量是0。会变成监控数据分外的不牢靠,由于第一个搜集点的样本数据或许是10、100、1000,那么对应于最终的监控结果浮现都是0。
转载请注明出处。