節點資源¶
- GET /v1/node()¶
傳回 Presto 伺服器已知的節點清單。此呼叫不需要查詢參數或標頭,它只會傳回一個陣列,其中包含 Presto 安裝中每個已知的節點。
在回應中,數值
recentRequests
、recentFailures
和recentSuccesses
是衰減計數器,設定為隨時間以指數方式衰減,衰減參數為一分鐘。此衰減率表示如果 Presto 節點在幾秒鐘內成功 1000 次,此統計值將在一分鐘內降至 367。age
顯示特定節點已執行的時間長度,而 uri 指向特定節點的 HTTP 伺服器。上次請求和上次回應時間顯示最近使用節點的時間。以下範例回應顯示一個沒有遇到任何失敗狀況的單一節點。每個節點也會報告有關流量運行時間和失敗的統計資料。
範例回應:
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript [ { "uri":"http://10.209.57.156:8080", "recentRequests":25.181940555111073, "recentFailures":0.0, "recentSuccesses":25.195472984170983, "lastRequestTime":"2013-12-22T13:32:44.673-05:00", "lastResponseTime":"2013-12-22T13:32:44.677-05:00", "age":"14155.28ms", "recentFailureRatio":0.0, "recentFailuresByType":{} } ]
如果節點發生錯誤,您會看到如下的回應。在這裡,我們有一個經歷過一系列錯誤的節點。recentFailuresByType 欄位列出最近在特定節點上發生的 Java 例外狀況。
範例回應 (含錯誤):
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript [ { "age": "4.45m", "lastFailureInfo": { "message": "Connect Timeout", "stack": [ "org.eclipse.jetty.io.ManagedSelector$ConnectTimeout.run(ManagedSelector.java:683)", .... "java.lang.Thread.run(Thread.java:745)" ], "suppressed": [], "type": "java.net.SocketTimeoutException" }, "lastRequestTime": "2017-08-05T11:53:00.647Z", "lastResponseTime": "2017-08-05T11:53:00.647Z", "recentFailureRatio": 0.47263053472046446, "recentFailures": 2.8445543205610617, "recentFailuresByType": { "java.net.SocketTimeoutException": 2.8445543205610617 }, "recentRequests": 6.018558073577414, "recentSuccesses": 3.1746446343010297, "uri": "http://172.19.0.3:8080" } ]
- GET /v1/node/failed()¶
呼叫此服務會傳回一個 JSON 文件,其中列出所有在上次心跳檢查中失敗的節點。此呼叫傳回的資訊與先前服務傳回的資訊相同。
範例回應:
HTTP/1.1 200 OK Vary: Accept Content-Type: text/javascript [ { "age": "1.37m", "lastFailureInfo": { "message": "Connect Timeout", "stack": [ "org.eclipse.jetty.io.ManagedSelector$ConnectTimeout.run(ManagedSelector.java:683)", .... "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)", "java.lang.Thread.run(Thread.java:745)" ], "suppressed": [], "type": "java.net.SocketTimeoutException" }, "lastRequestTime": "2017-08-05T11:52:42.647Z", "lastResponseTime": "2017-08-05T11:52:42.647Z", "recentFailureRatio": 0.22498784153043677, "recentFailures": 20.11558290058638, "recentFailuresByType": { "java.net.SocketTimeoutException": 20.11558290058638 }, "recentRequests": 89.40742203558189, "recentSuccesses": 69.30583024727453, "uri": "http://172.19.0.3:8080" } ]