Set Entity Stat

Sets agent data (stat) for an entity with the specified ID.

Request

HTTP Request

POST /node/api/entities/:id/stat

Permissions

entityPermissions + (modify-objects | manage-objects)

Path parameters

Parameter Type Description

id

String
required

The ID of the entity for which the stat must be set.

Body parameters

Body contains the agent data that needs to be uploaded to an entity. See the Stat model for a detailed description.

Request body

{
    "averageCpuLoad": {
        "oneMinuteAverageLoad": 1.22,
        "fiveMinutesAverageLoad": 1.31,
        "fifteenMinutesAverageLoad": 2.12
    }
}

Response

The response body is empty.

Example

Request

  • Bash

  • JavaScript

  • NodeJS

  • Python

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

curl -X POST $url -u $login:$password \
    -H "Content-Type: application/json" \
    -d @- <<EOF
{
    "averageCpuLoad": {
        "oneMinuteAverageLoad": 1.92,
        "fiveMinutesAverageLoad": 1.81,
        "fifteenMinutesAverageLoad": 2.32
    }
}
EOF
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);
headers.append("Content-Type", "application/json");

let data = JSON.stringify({
    "averageCpuLoad": {
        "oneMinuteAverageLoad": 1.22,
        "fiveMinutesAverageLoad": 1.31,
        "fifteenMinutesAverageLoad": 2.12
    }
});

let requestOptions = {
    method: "POST",
    headers: headers,
    body: data
};

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": "POST",
    "hostname": saymonHostname,
    "headers": {
        "Authorization": auth,
        "Content-Type": "application/json"
    },
    "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);
    });
});

let data = JSON.stringify({
    "averageCpuLoad": {
        "oneMinuteAverageLoad": 1.92,
        "fiveMinutesAverageLoad": 1.81,
        "fifteenMinutesAverageLoad": 2.32
    }
});

req.write(data);
req.end();
import requests

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

body = {
    "averageCpuLoad": {
        "oneMinuteAverageLoad": 1.92,
        "fiveMinutesAverageLoad": 1.81,
        "fifteenMinutesAverageLoad": 2.32
    }
}

response = requests.request("POST", url, json=body, auth=(login, password))
print(response.text)