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

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

Запрос

HTTP Запрос

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

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

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

id

String
обязательный

Токен метрики.

Тело запроса

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

Ответ

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

Поле Тип Описание

id

String

Токен метрики.

entityId

String

ID сущности, которая содержит метрику.

entityType

Integer

Тип сущности, которая содержит метрику. 1 – объект, 2 – связь.

metric

String

Имя метрики

metricStatMeta

Object

Метаданные метрики.

metricStatMeta.type

Object

Тип данных метрики.

metricStatMeta.changeRate

Object

Частота обновления данных.

value

Object

Значение запрошенных данных.

Пример

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

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

Запрос

  • 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)

Ответ

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

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