跳轉至

腳本開發 / 連接器對象 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