groups: - name: demo-service-alerts rules: - alert: Many5xxErrors expr: | ( sum by(path, instance, job) ( rate(demo_api_request_duration_seconds_count{status=~"5..",job="demo"}[1m]) ) / sum by(path, instance, job) ( rate(demo_api_request_durati...
(sum by(label1) (rate(metric_a[5m]))) / (sum by(label1) (rate(metric_b[5m]))) 这个查询计算了在过去5分钟内,metric_a 和metric_b 的增长率之比,按 label1 分组。 在Prometheus的查询界面或Grafana等可视化工具中测试并验证查询结果: 将上述查询语句输入到Prometheus的查询界面或Grafana的PromQL查询...
sum by (a) (counter{a="b", c="d"}) 聚合后的 vector 就只剩下了 a 这一个 dimension 官网未提及 irate(counter{a="b", c="d"}[2m]) 这样的函数,运算完之后,实际上__name__已经消失了 通过vector() 函数也可以创建 vector,是一个零维度的 vector Instant Vector && Range Vector 刚刚讲的 ...
prometheus_tsdb_compaction_chunk_range_seconds_sum 1.778631422788386e+15 prometheus_tsdb_compaction_chunk_range_seconds_count 8.62465566e+08 与Summary类型的指标相似之处在于Histogram类型的样本同样会反应当前指标的记录的总数(以_count作为后缀)以及其值的总量(以_sum作为后缀)。不同在于Histogram指标直接反应了在不...
(也可自定义cluster_name标签,node_export只支持安照机器生成label,将不同的机器分组,来查询某一集群的监控状况) 例1: 问题:sum()求和是将所有服务器的所有核的CPU使用时间进行求和,无法区分单个服务器 解决方法:by()函数:将所有服务器的所有核的CPU使用时间进行求和结果按照单个服务器的机器名进行分离 获取每台...
一般来说,如果描述样本特征的标签(label)在并非唯一的情况下,通过PromQL查询数据,会返回多条满足这些特征维度的时间序列。而PromQL提供的聚合操作可以用来对这些时间序列进行处理,形成一条新的时间序列: # 查询系统所有http请求的总量 sum(http_request_total) ...
prometheus_tsdb_compaction_chunk_range_sum 1.1540798e+09 prometheus_tsdb_compaction_chunk_range_count 780 与Summary 类型的指标相似之处在于 Histogram 类型的样本同样会反应当前指标的记录的总数 (以_count 作为后缀) 以及其值的总量(以_sum 作为后缀)。不同在于 Histogram 指标直接反应了在不同区间内样本的个...
sum by(label_name):按照指定的标签进行求和聚合,例如sum by(status_code) (http_requests_total)。 avg by(label_name):按照指定的标签进行求平均值聚合,例如avg by(status_code) (http_requests_total)。 min by(label_name):按照指定的标签进行求最小值聚合,例如min by(status_code) (http_requests_total...
histogram_quantile(0.9,sumby(le)(rate(http_request_duration_seconds_bucket[10m]))) 首先,Histogram 是一个 Counter,所以我们要使用rate先处理,然后根据le将 labels 使用sum合起来,最后使用histogram_quantile来计算。这三个函数的顺序是不能调换的,必须是先rate再sum,最后histogram_quantile。
过滤时间序列数据: metric_name{label_name="label_value"} 这个语句只查询metric_name指标中label_name为label_value的时间序列数据。 聚合时间序列数据: sum(metric_name) by (label_name) 这个语句将metric_name指标按照label_name进行分组,并计算每个组的总和。 以上是PromQL的一些基本用法。©...