Получить данные сущности используя токен метрики

Получить данные сущности используя токен метрики

Получить данные сущности используя токен метрики ​

Возвращает значение метрики, которая относится к заданному токену метрики.

Запрос ​

HTTP Запрос ​

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

Параметры пути ​

ПараметрТипОписание
idString

обязательный | Токен метрики. |

Тело запроса ​

Тело запроса пустое.

Ответ ​

Тело ответа содержит метрику, соответствующую заданному токену метрики.

ПолеТипОписание
idStringТокен метрики.
entityIdStringID сущности, которая содержит метрику.
entityTypeIntegerТип сущности, которая содержит метрику. 1 – объект, 2 – связь.
metricStringИмя метрики
metricStatMetaObjectМетаданные метрики.
metricStatMeta.typeObjectТип данных метрики.
metricStatMeta.changeRateObjectЧастота обновления данных.
valueObjectЗначение запрошенных данных.

Пример ​

Этот пример получает данные сущности с помощью токена метрики, созданного запросом Создать токен метрики.

NOTE

Для получения значения метрик токенами аутентификация не требуется.

Запрос ​

  • Bash
  • JavaScript
  • NodeJS
  • Python
bash
saymon_hostname=<...>
token_id=<...>
url=https://$saymon_hostname/node/api/metric-token/$token_id/stat

curl -X GET $url
javascript
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));
javascript
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();
python
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)

Ответ ​

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

Смотрите также ​