跳轉到

指令碼開發 / 聯結器物件 DFF.CONN / Prometheus

Prometheus 聯結器操作物件主要提供一些操作 Prometheus 的方法。

本聯結器基於 HTTP 協議連線訪問 Prometheus

DFF.CONN(...) 引數如下:

引數 型別 必須 / 預設值 說明
connector_id str 必須 聯結器 ID
timeout int/float 10 當前操作物件的預設 HTTP 請求超時時間,秒

.query(...)

向 Prometheus 傳送 HTTP 請求,引數如下:

引數 型別 必須 / 預設值 說明
method str 必須 請求方法,如 GET、POST;也可寫為 "GET /path"
path str None 請求路徑;省略時從 method 中拆分
query dict None URL 查詢引數
body dict None JSON 請求體
timeout int/float None 本次請求超時時間,省略時使用操作物件的預設值
示例
1
2
3
4
5
6
result = prom.query('GET', '/api/v1/query_range', query={
  'query': 'up',
  'start': '2024-01-01T00:00:00Z',
  'end'  : '2024-01-02T00:00:00Z',
  'step' : '60s',
})

當 query 同時包含 start 和 end 時,聯結器會嘗試將二者轉換為時間,按先後順序排序,再輸出為 ISO 8601 字串。其他引數直接傳給 Prometheus HTTP API。

響應為 JSON 或 XML 時返回解析後的物件,否則返回原始位元組;HTTP 狀態碼大於等於 400 時丟擲異常。

有關 Prometheus HTTP API,請參考 Prometheus 官方文件 / Querying / HTTP API