Получить данные сущности используя токен метрики
Возвращает значение метрики, которая относится к заданному токену метрики.
Запрос
HTTP Запрос
text
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 | Значение запрошенных данных. |
Пример
Этот пример получает данные сущности с помощью токена метрики, созданного запросом Создать токен метрики.
NOTE
Для получения значения метрик токенами аутентификация не требуется.
Запрос
- Bash
- JavaScript
- NodeJS
- Python
bash
saymon_hostname=<...>
token_id=<...>
url=https://$saymon_hostname/node/api/metric-token/$token_id/stat
curl -X GET $urljavascript
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"
}
}