PromQL小工具是集成在Grafana上的智能小助手,擅长于编写PromQL。它能够实现自然语言到PromQL的转换。使用PromQL小助手,您可以轻松、高效地完成Prometheus数据查询、告警配置等工作,免去翻阅繁琐的文档和学习PromQL的烦恼。本文介绍如何使用PromQL小工具。
PromQL小工具目前已在所有共享版Grafana上线。如果您没有开通可观测可视化 Grafana 版,也可以使用我们的免登录Demo来体验。
产品体验入口:
如果您对应用监控指标相关的PromQL感兴趣,请单击APM数据源免登录Grafana入口。
如果您对容器指标相关的PromQL感兴趣,请点击容器数据源免登录Grafana入口。
PromQL小工具的功能特性
自然语言翻译成PromQL
通过自然语言表达出您想要的Prometheus数据查询结果,PromQL小工具能够自动帮您检索出相关的指标名、Prometheus算子、PromQL以及对应的说明。
自动生成PromQL注释
自动生成对PromQL语句的解释说明,为PromQL添加注释信息。
如何使用PromQL小工具
登录可观测可视化 Grafana 版控制台,在左侧导航栏单击工作区管理。
登录任意一个共享版Grafana大盘,单击左侧导航栏的图标,然后单击右下角的机器人。
在弹出的对话框中输入需要查询的PromQL语言描述,例如“写个PromQL,查平均响应时间最长的十个应用”。常见的一些PromQL语言查询描述请参见下文PromQL场景及提问示例。
重要请确保您输入的问题中包括关键词“PromQL”。
单击发送,等待几秒,PromQL小工具助手就会回复您需要的PromQL。
说明如果目前PromQL小工具的回答不满意,您可以单击点我提交Text2PromQL反馈。
接收到PromQL之后,您可以把PromQL粘贴到可观测可视化 Grafana 版的Explore中,同时请确认当前大盘的数据源包含您想要的指标。
Demo视频
这里展示一个使用PromQL小工具的演示Demo以供您参考。
Text2 PromQL目前支持的问答场景
Text2 PromQL目前支持20+个常用PromQL生成场景。具体详情,请参见下文PromQL场景及提问示例。您可以单击PromQL小工具,查看当前支持的场景和示例问题。
返回结果:列举了支持的常用PromQL生成场景。
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,查看 od可用率。 Q:写个PromQL,查找我的K8s集群中,出现异常次数最多的Pod。 Q:想查看一下有哪些Job执行失败了,这个PromQL怎么写。 |
Container级别资源相关 | Q:写个PromQL,查看命名空间“default”下,CPU使用率最高Container。 Q:写个PromQL,查看 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,监控 Q:写个PromQL,监控 |
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使用率。 |