hetu-core/hetu-docs/en/rest/node.md

120 lines
3.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Node Resource
=============
- GET /v1/node
Returns a list of nodes known to a openLooKeng Server. This call doesn\'t
require a query parameter of headers, it simply returns an array with
each known node in a openLooKeng installation.
In the response, the values `recentRequests`, `recentFailures`, and
`recentSuccesses` are decaying counters set to decay exponentially over
time with a decay parameter of one minute. This decay rate means that if
a openLooKeng node has 1000 successes in a few seconds, this statistic value
will drop to 367 in one minute.
`age` shows you how long a particular node has been running, and uri
points you to the HTTP server for a particular node. The last request
and last response times show you how recently a node has been used.
The following example response displays a single node which has not
experienced any failure conditions. Each node also reports statistics
about traffic uptime, and failures.
**Example response**:
> ``` http
> HTTP/1.1 200 OK
> Vary: Accept
> Content-Type: text/javascript
>
> [
> {
> "uri":"http://192.168.1.1: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":{}
> }
>
> ]
> ```
If a node is experiencing errors, you\'ll see a response that looks like
the following. Here we have a node which has experienced a spate of
errors. The recentFailuresByType field lists the Java exception which
have occurred recently on a particular node.
**Example response with Errors**:
> ``` http
> 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
Calling this service returns a JSON document listing all the nodes that
have failed the last heartbeat check. The information returned by this
call is the same as the information returned by the previous service.
**Example response**:
> ``` json
>
> [
> {
>
> "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>"
>
> }
> ]
> ```