調用GetEmonMonitorData,查詢Elasticsearch實例的Grafana指標監控數據。

調試

您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。

請求頭

該接口使用公共請求頭,無特殊請求頭。請參見公共請求參數文檔。

請求語法

POST /openapi/emon/projects/{ProjectId}/metrics/query HTTP/1.1

請求參數

名稱 類型 位置 是否必選 示例值 描述
ProjectId String Path es-185320276651****

項目ID,格式為es-當前賬號ID

String Body { "start": 1522127381471, "queries": [ { "metric": "elasticbuild.elasticsearch.source.total_doc_count", "aggregator": "sum", "downsample": "avg", "tags": { "taskName": "et-testtsk", "userId":"123456" }, "granularity": "1m" } ], "limit": "", "end": 1522129151000 }

指定指標監控參數。

RequestBody

參數名

類型

是否必填

示例值

描述

start

Long

1522127381471

指標監控開始的時間戳。單位:毫秒。

expression

String

a+b

指標數據查詢表達式。

queries

List

指標查詢條件。

└id

String

a

查詢條件queries如果用到了表達式expression,queries json數組里會描述expression里參與運算的指標,id就是每個指標在expression里的代數符號,真正的指標名稱在queries數組的每個元素里。

└metric

String

elasticbuild.elasticsearch.source.total_doc_count

指標名稱。

└aggregator

String

sum

指標按tags維度聚合方式。即對指標按給定的tags group by,進行sum、avg、max、min等聚合運算。

└downsample

String

avg

指標按時間精度聚合方式。即對指標在[start,end]窗口內的時間線,在時間維度降精度,例如把20s精度聚合為1min、10min、1hour精度,根據時間窗口的大小會自動降精度。

└tags

Map

[env,dev]

指標查詢標簽。格式為[key,value],key要明確指定,value支持通配符,使用通配符可返回滿足條件的多序列數據。

└granularity

String

1m

指標查詢的時間精度。范圍為[start,end]。單位:毫秒。

limit

String

"100 "

限定返回結果集的大小。為空則不限制,返回所有查詢數據。一般用于tags里value使用通配符,返回結果集非常大的情況。

end

String

1522129151000

指標監控結束的時間戳。單位:毫秒。

說明 └表示子參數。

示例如下。


{
    "start": 1522127381471, 
    "queries": [
    {
        "metric": "elasticbuild.elasticsearch.source.total_doc_count",
        "aggregator": "sum",
        "downsample": "avg", 
        "tags": {
          "taskName": "et-testtsk",
          "userId":"123456" 
        }, 
        "granularity": "1m" 
      }
    ], 
    "limit": "",  
    "end": 1522129151000
}

返回數據

名稱 類型 示例值 描述
Code String 200

請求狀態碼。

Message String ""

請求結果。

RequestId String 2D184B55-FA51-43F7-A1EF-E68A0545****

請求ID。

Success Boolean true

請求是否成功:

  • true:成功
  • false:不成功
Result Array of result

返回結果。

integrity Float 1.0

指標查詢返回的結果里,時序曲線數據點的完整度。1.0表示100%完整。

summary Float 10

queries里如果有通配符,result會包含多條匹配到的時間序列數據,summary是在每個時間點上對這些時間線的value集合,按照query里提供的aggregator類型來聚合。目前聚合方式僅支持avg。

messageWatermark Long 1522127381471

請求到達服務端的時間戳,用于排查問題。

dps Map

指標實時監控數據。格式為{時間戳:數據}

tags Map

查詢標簽。

metric String elasticbuild.elasticsearch.source.total_doc_count

指標名稱。

以下返回示例中,本文只保證包含返回數據列表中的參數,而未提到的參數僅供參考,程序中不能強制依賴獲取這些參數。

示例

請求示例

POST /openapi/emon/projects/es-185320276651****/metrics/query HTTP/1.1
公共請求頭
{
    "start": 1522127381471, 
    "queries": [
    {
        "metric": "elasticbuild.elasticsearch.source.total_doc_count",
        "aggregator": "sum",
        "downsample": "avg", 
        "tags": {
          "taskName": "et-testtsk",
          "userId":"123456" 
        }, 
        "granularity": "1m" 
      }
    ], 
    "limit": "",  
    "end": 1522129151000
}

正常返回示例

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Success" : true,
  "Code" : "200",
  "Message" : "",
  "RequestId" : "2D184B55-FA51-43F7-A1EF-E68A0545****",
  "Result" : [ {
    "dps" : {
      "1583469212" : 10
    },
    "integrity" : 1,
    "messageWatermark" : 1583469212345,
    "metric" : "elasticbuild.elasticsearch.source.total_doc_count",
    "summary" : 10,
    "tags" : {
      "taskName" : "et-testtsk",
      "userId" : "123456"
    }
  } ]
}

錯誤碼

HttpCode 錯誤碼 錯誤信息 描述
400 InstanceActivating Instance is activating. 實例目前處于生效中。
400 InstanceNotFound The instanceId provided does not exist. 實例找不到,請核對實例狀態。

訪問錯誤中心查看更多錯誤碼。