Get Object’s Stat Metadata
Returns object’s stat metadata.
Request
Path parameters
Parameter | Type | Description |
---|---|---|
id |
String |
The ID or discovery ID of the object whose agent’s stat metadata must be retrieved. |
Response
Returns metadata that contains headers with the information about the object and the agent, and payload with metadata for each of the object’s stat.
The returned metadata depends on who updated the stat metadata last — the agent or the user with the Set Object’s Stat Metadata request. If you set object’s metadata with the Set Object’s Stat Metadata request, the metadata would lack agent-related fields in the header and the payload would contain only those stats whose metadata was set in that request. If the agents updates the stats later, the metadata would show all fields related to the agent and all stats again.
Headers
The metadata headers contain the following fields:
Parameter | Type | Description |
---|---|---|
entityId |
String |
The ID of an object whose metadata was retrieved. |
entityType |
Integer |
The type of an entity whose metadata was retrieved. For an object, this value is |
taskType |
String |
The probe type. See the Monitoring and checks settings - probes section on the SAYMON wiki for more information. |
period |
Integer |
The period between executing the monitoring processes (in milliseconds). |
timestamp |
Integer |
Timestamp of when the agent started performing the selected monitoring process. |
agentId |
String |
The ID of the agent. |
agentVersion |
String |
The version of the agent. |
agentBuild |
String |
The build number of the agent. |
Payload
A metadata for a stat field may contain the following information:
-
type
— stat’s data type. Possible values:-
STRING
-
BOOLEAN
-
BYTE_QUANTITY
-
TIMESTAMP
-
PERCENTILE
-
ID
-
BINARY
-
LIST
-
-
changeRate
— frequency of data change. Possible values:-
ALWAYS
— the data changes after every measurement. -
SOMETIMES
— the data changes from time to time, consecutive measurements will often show equal results. -
NEVER
— the data either never changes or change probability is negligible.
-
Example
Request
-
Bash
-
JavaScript
-
NodeJS
-
Python
login=<...>
password=<...>
saymon_hostname=<...>
object_id=<...>
url=https://$saymon_hostname/node/api/objects/$object_id/stat/meta
curl -X GET $url -u $login:$password
let login = <...>
let password = <...>
let saymonHostname = <...>
let objectId = <...>
let path = "/node/api/objects/" + objectId + "/stat/meta";
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 objectId = <...>
let path = "/node/api/objects/" + objectId + "/stat/meta";
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 = <...>
object_id = <...>
url = "https://" + saymon_hostname + "/node/api/objects/" + \
object_id + "/stat/meta"
response = requests.request("GET", url, auth=(login, password))
print(response.text)
Response
{
"entityId": "62d7e5e456d203149a080038",
"entityType": 1,
"taskType": "ping",
"period": 10000,
"timestamp": 1662975657519,
"agentId": "817",
"agentVersion": "4.4.72-SNAPSHOT",
"agentBuild": "bb7f3",
"payload": {
"roundTripMaximum": {
"changeRate": "ALWAYS"
},
"packetsReceived": {
"changeRate": "SOMETIMES"
},
"packetLossPercentile": {
"type": "PERCENTILE",
"changeRate": "SOMETIMES"
},
...
}
}