Skip to content

Get Entity Stat with Metric Token

Returns a metric value that corresponds to the specified metric token.

Request

HTTP Request

GET /node/api/metric-token/:id/stat

Path parameters

Parameter Type Description
id String
required
The ID of a metric token.

Request body

The request body is empty.

Response

Response body contains the requested metric value and the metric token used to reference the stat.

Field Type Description
id String The ID of the metric token used to get the metric value.
entityId String The ID of the entity that owns the metric.
entityType String The type of the entity that owns the metric. 1 is object, 2 is link.
metric String The name of the metric.
metricStatMeta Object The stat metadata
metricStatMeta.type Object Stat's data type.
metricStatMeta.changeRate Object Frequency of data change.
value Object The value of the requested stat.

Example

This example gets the entity stat using the metric token created earlier with the Create Metric Token request.

Note

You don't need authentication to get stats with metric tokens.

Request

saymon_hostname=<...>
token_id=<...>
url=https://$saymon_hostname/node/api/metric-token/$token_id/stat

curl -X GET $url
let login = <...>
let password = <...>
let saymonHostname = <...>
let tokenId = <...>
let path = "/node/api/metric-token/" + tokenId + "/stat";
let auth = "Basic " + btoa(login + ":" + password);

let headers = new Headers();
headers.append("Authorization", auth);

let requestOptions = {
    method: "GET",
    headers: headers
};

fetch(saymonHostname + path, requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log("error", error));
const http = require("http");

let login = <...>
let password = <...>
let saymonHostname = <...>
let tokenId = <...>
let path = "/node/api/metric-token/" + tokenId + "/stat";
let auth = "Basic " + Buffer.from(login + ":" + password).toString("base64");

let options = {
    "method": "GET",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth
    },
    "path": path
};

let req = http.request(options, function (res) {
    let chunks = [];

    res.on("data", function (chunk) {
        chunks.push(chunk);
    });

    res.on("end", function (chunk) {
        let body = Buffer.concat(chunks);
        console.log(body.toString());
    });

    res.on("error", function (error) {
        console.error(error);
    });
});

req.end();
import requests

saymon_hostname = <...>
token_id = <...>
url = "https://" + saymon_hostname + "/node/api/metric-token/" + \
    token_id + "/stat"

response = requests.request("GET", url)
print(response.text)

Response

{
    "id": "83d62e15-628e-4ec7-8746-e6ff20ebdc11",
    "entityId": "5e21b85b308c3c66d64e07d2",
    "entityType": 1,
    "metric": "averageCpuLoad",
    "value": {
        "oneMinuteAverageLoad": 1.13,
        "fiveMinutesAverageLoad": 0.85,
        "fifteenMinutesAverageLoad": 0.83
    },
    "metricStatMeta": {
        "changeRate": "ALWAYS"
    }
}

See Also