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情境及提問樣本
這裡為您介紹Container Service和ARMS產品常用的一些相關指標,及其對應的PromQL查詢。
Container Service相關
建議您配合Prometheus執行個體 for Container Service監控的Grafana大盤使用,更多詳情,請參見Prometheus執行個體 for Container Service。
情境 | 覆蓋問題樣本(需要帶關鍵詞“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使用率。 |