原創-PromQL語法


匹配標簽值時可以是等於,也可以使用正則表達式。總共有下面幾種匹配操作符:

  1. =:完全相等
  2. !=: 不相等
  3. =~: 正則表達式匹配
  4. !~: 正則表達式不匹配

Prometheus的4種數據類型如下。·瞬時向量(Instant vector):一組時間序列,每個時間序列包含單個樣本,它們共享相同的時間戳。也就是說,表達式的返回值中只會包含該時間序列中最新的一個樣本值。·區間向量(Range vector):一組時間序列,每個時間序列包含一段時間范圍內的樣本數據。·標量(Scalar):一個浮點型的數據值,沒有時序。可以寫成[-](digits)[.(digits)]的形式,比如-3.14。需要注意的是,使用表達式count(http_requests_total)返回的數據類型依然是瞬時向量,用戶可以通過內置函數scalar()將單個瞬時向量轉換為標量。·字符串(String):一個簡單的字符串值。字符串可以用單引號('')、雙引號("")或反引號(``)來指定。因為Prometheus是基於Go語言編寫的,所以它與Go語言有着類似的轉義規則[1],比如在單引號('')或雙引號("")中,可以使用反斜杠(\)來表示轉義序列,后面可以接a、b、f、n、r、t、v或\(分別代表響鈴、退格、換頁、換行、回車、水平制表、反斜杠),特殊字符可以使用八進制(\nnn)或者十六進制(\xnn、\unnnn和\Unnnnnnnn)。但是與Go語言不同的是,Prometheus中的反引號(``)並不會對換行符進行轉義。

 

指標的格式:

 

 其中,Metric Name參數又可以表達成 {_name_="http_requests_total"}

 

常用PromQL語句:

rate(xxxxx{idc="shanghai",instance=~"$instance",isp="BGP",item="http_code_200",job="xxxx"}[10m]) 收集xxxxx指標內匹配中括號參數的10分鍾內的數據,一秒一次。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM