prometheus 常用的查询语句

prometheus 常用的查询语句

通常我们会使用grafana作为图表展示,然后选择prometheus作为数据源的方式来进行我们想要的图表展示。当然我们也可以在grafana的官网上找到相应的dashboard来直接导入,这样省去了自己手工配置的麻烦。不过知道一些必要的prometheus查询语句能帮我们更好的选择grafana的dashboard,然后我们可以自定义做些配置。

prometheus一些术语

prometheus的metrics分为四类(counter,gauge,histogram,summary)详情(metrics-type),metrics_name的命令也应该符合一定的规范:metrics-nameMETRIC AND LABEL NAMING

metrics_name : 也就是指标名,通常我们都会用如http_request_total等进行查询;
metrics_label :指标的标签,也就是metrics_name{label-1=”a”,label-2=”b”}这种;
metrics_value : 通常用指标名+标签查出来一个值,该值根据metrics的类型可能为浮点数,也可能为整数。

0,基础查询

也就是使用metrics_name+metrics_label的组合进行查询,这种查询的效率的基础是你要知道明确知道相应的name和label,如果有错误拼写,则可能数据无法展示,prometheus的查询工具能帮我们模糊匹配出所有的metrics_name。可以使用label进行筛选。
如果只记得部分metrics_name,那么可以使用内置的label:{__name__=~"metrics_name_you_remember:.*"}这样去匹配出来你想要的标签。

1,正则匹配查询

prometheus里面用的最多的查询可能就是正则匹配了。经常配合grafana的变量(variable)一起使用。比如:
sum(irate(node_disk_reads_completed{device!~"dm-.*"}[5m])),这里面的device!~"dm-.*",后面
引号内的dm-.*就是不匹配dm-前缀的所有metrics_name。如果要匹配的话使用=~。这样要注意,如果是或
的话要用(regrex_A|regrex_B),用小括号加|

2,常用的操作符和函数

prometheus支持常用的操作符:+,-,*,/,>=,<,>,....

count是对查询的结果数量进行总和+; 而sum是对查询出来的value进行总和+;

它也支持比如topk,bottomk,min,max等等。

更多的查询

在官网还有更多的查询,通常我们是结合grafana来做。官网的查询:proetheus-query

本文标题:prometheus 常用的查询语句

文章作者:陈志军

发布时间:2018-07-16 17:57:00

原始链接:http://chenzhijun.me/2018/07/16/prometheus-query/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!