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調用的接口有哪些。 |
新增異?;蝈e誤相關 | 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使用率。 |