- 深入淺出Prometheus:原理、應用、源碼與拓展詳解
- 陳曉宇 楊川胡 陳嘯編著
- 322字
- 2019-06-19 15:57:30
2.5 數據查詢
對于Prometheus數據,我們都可以通過HTTP來查詢,如果是復雜的數據查詢,則還可以使用PromQL進行。
和關系型數據庫實現SQL解析一樣,Prometheus實現了一套自己的數據庫語言(PromQL)解析器。PromQL與SQL的最大差別是PromQL只支持查詢。
這里先介紹PromQL的使用方式。例如,在查詢主機CPU的使用率時可以使用:

可以看到,PromQL不僅可以做指標運算,還支持各種如 sum、avg等的函數。
Prometheus 通過解析引擎將查詢語句轉化為 QUERY 請求,然后通過時序數據庫找到具體的數據塊,在數據返回后再通過支持內置的函數處理數據,最終將結果返回到前端,如圖2-13所示。

圖2-13
Prometheus支持Grafana等開源顯示面板,通過自定義PromQL可以制作豐富的監控視圖。Prometheus本身也提供了一個簡單的 Web查詢控制臺,如圖2-14所示,Web控制臺包含三個主要模塊:Graph指標查詢,Alerts告警查詢、Status狀態查詢。

圖2-14