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

Integer

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.

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

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

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"
    }
}