PromQL 涉及两个重要概念 指标名称 和 匹配器(标签过滤器)
promQL 查询就是指标名称和匹配器的组合查询
1、只提供指标名称
node_load1
2、只提供匹配器
{instance="10.253.9.197:9100"} #其实列出了针对这个instance采集的所有指标名称
3、给定指标名和匹配器
node_load1{instance="10.253.9.197:9100"}
列出所有指标
({__name__=~".+"})
列出每个metrics有多少个
count by (__name__)({__name__=~".+"}) 列出指标
topk(10, count by (__name__)({__name__=~".+"})) 列出top10的metric数量 按照metric名字区分
count by (__name__)({__name__=~"traefik.+"}) #列出指标名称中以traefik开头的其中一个指标名称中指标个数
3、列出metrics个数超出一定范围的指标名
统计每个指标的时间序列,超出1000的指标名
count by (__name__)({__name__=~".+"}) > 10000
4、列出指定job中有每个指标名的指标数量
count by (__name__) ({job="envoy-stats"})
5、列出指定job中指标数量
sum(count by (__name__) ({job="envoy-stats"}))
6、top10的metric数量 按照job名字分
topk(10, count by (__name__, job)({__name__=~".+"}))