Получить данные мониторинга сущности

Возвращает данные мониторинга от агента сущности системы с указанным ID.

Запрос

HTTP Запрос

GET /node/api/entities/:id/stat

Права

entityPermissions

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

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

id

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

ID сущности, данные которой нужно получить.

Тело запроса

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

Ответ

Возвращает данные мониторинга от указанной сущности. Подробная информация о модели доступна в статье Данные мониторинга.

Пример

Запрос

  • Bash

  • JavaScript

  • NodeJS

  • Python

login=<...>
password=<...>
saymon_hostname=<...>
entity_id=<...>
url=https://$saymon_hostname/node/api/entities/$entity_id/stat

curl -X GET $url -u $login:$password
let login = <...>
let password = <...>
let saymonHostname = <...>
let entityId = <...>
let path = "/node/api/entities/" + entityId + "/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 entityId = <...>
let path = "/node/api/entities/" + entityId + "/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

login = <...>
password = <...>
saymon_hostname = <...>
entity_id = <...>
url = "https://" + saymon_hostname + "/node/api/entities/" + \
    entity_id + "/stat"

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

Ответ

{
    "entityId": "5e21b85b308c3c66d64e07c8",
    "entityType": 1,
    "taskType": "agentWatchdog",
    "period": 60000,
    "timestamp": 1585040374498,
    "agentId": "5e21b85b308c3c66d64e07c8",
    "agentVersion": "4.2.69-SNAPSHOT",
    "agentBuild": "866cc",
    "payload": {
        "runtimeName": "OpenJDK Runtime Environment",
        "runtimeVersion": "1.8.0_242-8u242-b08-0ubuntu3~16.04-b08",
        "totalMemory": 267911168,
        "freeMemory": 226294168,
        "maxMemory": 1830813696,
        "usedHeapMemory": 41617000,
        "usedNonHeapMemory": 36068184,
        "processCpuLoad": 0.0036666666666666666,
        "numberOfThreads": 10,
        "snmpTrapsPerSecond": 0,
        "statNotificationsPerSecond": 0,
        "tasksNumber": 1,
        "hostName": "host",
        "networkInterfaces": {
            "IPv6": [
                "fe80:0:0:0:24a9:1aff:fecb:3722%veth3c89613",
                "fe80:0:0:0:f45b:6dff:fe6e:5497%veth9f402c5",
                "fe80:0:0:0:42:ffff:fe77:1b87%docker0",
                "fe80:0:0:0:3e4d:25b:3be:d798%enp4s0"
            ],
            "IPv4": [
                "127.0.0.1",
                "127.0.0.2"
            ]
        }
    }
}