如何使用PromQL小工具

PromQL小工具是集成在Grafana上的智能小助手,擅长于编写PromQL。它能够实现自然语言到PromQL的转换。使用PromQL小助手,您可以轻松、高效地完成Prometheus数据查询、告警配置等工作,免去翻阅繁琐的文档和学习PromQL的烦恼。本文介绍如何使用PromQL小工具。

重要

PromQL小工具目前已在所有共享版Grafana上线。如果您没有开通可观测可视化 Grafana 版,也可以使用我们的免登录Demo来体验。

产品体验入口:

PromQL小工具的功能特性

  • 自然语言翻译成PromQL

    通过自然语言表达出您想要的Prometheus数据查询结果,PromQL小工具能够自动帮您检索出相关的指标名、Prometheus算子、PromQL以及对应的说明。

  • 自动生成PromQL注释

    自动生成对PromQL语句的解释说明,为PromQL添加注释信息。

如何使用PromQL小工具

  1. 登录可观测可视化 Grafana 版控制台,在左侧导航栏单击工作区管理

  2. 登录任意一个共享版Grafana大盘,单击左侧导航栏的image图标,然后单击右下角的机器人。

    image

  3. 在弹出的对话框中输入需要查询的PromQL语言描述,例如“写个PromQL,查平均响应时间最长的十个应用”。常见的一些PromQL语言查询描述请参见下文PromQL场景及提问示例

    重要

    请确保您输入的问题中包括关键词“PromQL”。

    image

  4. 单击发送,等待几秒,PromQL小工具助手就会回复您需要的PromQL。

    说明

    如果目前PromQL小工具的回答不满意,您可以单击点我提交Text2PromQL反馈

  5. 接收到PromQL之后,您可以把PromQL粘贴到可观测可视化 Grafana 版的Explore中,同时请确认当前大盘的数据源包含您想要的指标。image.png

    image

Demo视频

这里展示一个使用PromQL小工具的演示Demo以供您参考。

Text2 PromQL目前支持的问答场景

Text2 PromQL目前支持20+个常用PromQL生成场景。具体详情,请参见下文PromQL场景及提问示例。您可以单击PromQL小工具,查看当前支持的场景和示例问题。

image

返回结果:列举了支持的常用PromQL生成场景。

image

PromQL场景及提问示例

这里为您介绍容器服务和ARMS产品常用的一些相关指标,及其对应的PromQL查询。

容器服务相关

建议您配合Prometheus实例 for 容器服务监控的Grafana大盘使用,更多详情,请参见Prometheus实例 for 容器服务

场景

覆盖问题示例(需要带关键词“PromQL”)

Node级别资源相关

Q:写个PromQL,查看每个K8s节点的CPU使用率。

Q:想查看一下K8s节点“172.16.xx.xx:9100”的内存使用率,帮我写一下PromQL。

Q:想配置一个告警,当前集群下,有处于异常状态的Node就告警,这个PromQL怎么写。

Q:帮我写一个PromQL,查看目前处于异常状态的Node都有哪些。

Pod级别资源相关

Q:想配一个告警,在5min内,当某个Pod重启次数大于2次时,就发出告警,PromQL怎么写

Q:写个PromQL,查看namespace="arms", deployment="arms-pop-malaysia"的P

od可用率。

Q:写个PromQL,查找我的K8s集群中,出现异常次数最多的Pod。

Q:想查看一下有哪些Job执行失败了,这个PromQL怎么写。

Container级别资源相关

Q:写个PromQL,查看命名空间“default”下,CPU使用率最高Container。

Q:写个PromQL,查看namespace="default", pod_name="arms-xtrace"下,每个Container的内存使用率。

Q:写个PromQL,查看内存使用率最高的5个容器。

灵骏大盘指标相关

Q:写个PromQL,查看灵骏大盘中,每个节点的GPU使用率。

Q:写个PromQL,查看灵骏大盘中,每个集群的GPU使用率。

ARMS应用性能监控相关

建议您配合ARMS默认生成的应用性能监控Grafana大盘使用。

场景

覆盖问题示例(需要带关键词“PromQL”)

平均响应时间相关

Q:写个PromQL,查看每个接口的平均响应时间。

Q:写个PromQL,查看应用A中每个接口的RT。

Q:写个PromQL,查看应用A中,Response Time最高的10个接口是哪些。

Q:写个PromQL,查看响应时间最长的前10个APP是哪些。

错误率相关

Q:写个PromQL,查看过去1分钟内,应用A中,每个接口的Error Rate。

Q:ARMS中,写个PromQL,查看错误率最高的10个应用。

Q:写个PromQL,查看应用A中,错误率最高的10个接口。

Q:写个ARMS的PromQL,查看过去2小时,应用A中,机器195.128.xx.xx下,Error Rate最高的5个接口。

调用次数相关

Q:写个PromQL,查看调用Redis的QPS。

Q:写个PromQL,查看调用Dubbo的QPS。

Q:写个PromQL,查看应用A中,各个接口的QPS。

Q:写个PromQL,查看最近1小时内,每个应用的调用量,并按照机器维度分组。

Q:写个ARMS的PromQL,查看最近5分钟内,应用A中,每个接口的调用量。

Q:写个PromQL,查看最近5分钟内,应用A的接口“payment/coupon”的调用量。

Q:写个PromQL,查看前10个调用量的接口。

Q:写个PromQL,查看应用A中,调用量最高的5个接口。

错误数相关

Q:写个PromQL,查看过去5分钟,每个接口的错误数。

Q:写个PromQL,查看过去5分钟,机器10.26.xx.xx的HTTP调用错误数总和。

Q:写个PromQL,查看过去1小时中,错误数最多的接口。

Q:写个PromQL,查看过去10分钟,部署了服务Clothservice的机器10.26.xx.xx发生的调用错误数总和。

慢SQL相关

Q:写个PromQL,查看过去10分钟产生的慢SQL调用。

Q:写个PromQL,查看过去10分钟,应用A中产生的慢SQL调用最多的接口。

Q:写个PromQL,查看应用A中,产生的慢SQL调用最多的10个接口。

Q:写个PromQL,查看过去1小时产生的慢SQL调用具体都有哪些。

数据库相关

Q:写个PromQL,查看过去1分钟,调用Redis失败的接口。

Q:写个PromQL,查看过去1分钟,调用MySQL失败最多的5个接口。

HTTP状态码相关

Q:写个PromQL,统计4xx或5xx错误的数量。

Q:写个PromQL,统计400、500的数量。

Q:写个PromQL,查看应用A下,4xx请求的数量。

JVM_GC_次数相关

Q:写个PromQL,查看过去一天,发生了几次Full GC。

Q:写个PromQL,查看过去1小时,每台主机分别发生了几次Full GC。

Q:写个PromQL,查看应用A下,之前发生过Full gc的Host。

Q:写个PromQL,查看Full GC次数超过5次的机器。

JVM_GC_耗时相关

Q:写个PromQL,查看每台机器上的Full GC耗时。

Q:写个PromQL,查看Full GC耗时最高的5台机器。

Q:写个PromQL,查看Full GC耗时超过1秒的Service。

QPS增量相关

Q:写个PromQL,查看10分钟内访问量增加的所有应用。

Q:写个PromQL,查看1天内,访问量增加最多的应用。

Q:写个PromQL,查看过去1周,应用A中,访问量增加最快的接口。

指定指标增量相关

Q:写个PromQL,监控arms_mysql_requests_error_count这个指标,当它发生突增时,及时发出告警。

Q:写个PromQL,监控jvm_threads_live_threads指标的增量。

ARMS控制台_累计错误数

Q:写个PromQL,查看累计错误数和昨天相比上升了还是下降了。

ARMS控制台_累计请求数

Q:写个PromQL,查看累计请求数和过去1小时相比,变化了多少。

ARMS控制台_累计异常数

Q:写个PromQL,查看累计异常数和昨天相比上升了还是下降了。

ARMS控制台_平均耗时

Q:写个PromQL,查看和前1小时相比,应用平均耗时是增加了还是降低了。

Q:写个PromQL,查看和昨天相比,平均耗时的变化是什么。

ARMS控制台_FullGC相关

Q:写个PromQL,查看被Full GC影响的应用有哪些。

Q:写个PromQL,查看被Full GC影响的接口有哪些。

ARMS控制台_慢调用相关

Q:写个PromQL,查看涉及到慢SQL的应用有哪些。

Q:写个PromQL,查看产生了慢SQL调用的接口有哪些。

新增异常或错误相关

Q:写个PromQL,查看错误数升高的应用。

Q:写个PromQL,查看错误数增加的机器都有哪些。

Q:写个PromQL,查看应用A下,错误数增加的接口。

CPU使用率相关

Q:写个PromQL,查看每台机器的CPU使用率。

Q:写个PromQL,查看最近5分钟,CPU使用率最高的5台机器。

Q:写个PromQL,查看过去5分钟,应用A下,CPU使用率超过70%的机器。

Q:写个PromQL,查看最近5分钟,CPU使用率增长最快的5台机器,并且罗列出CPU使用率。