5.5.2. AppState¶
Описание¶
Информация о зонде: описание, текущее состояние, потребление системных ресурсов.
Запрос¶
{
"user_id":(number),
"methods":[
{
"method":"AppState",
"params":{
"project_id":(number),
"app_ids":' id1 | [id1,id2] | "*" '
}
}
]
}
user_id - целое число, идентификатор пользователя;
project_id - целое число, идентификатор проекта пользователя;
- app_ids - идентификаторы зондов, поле может задаваться в одном из следующих форматов:
id1
- целое число, идентификатор зонда;[id1,id2]
- массив целых чисел, идентификаторы зондов;"*"
- строка, символ «звездочки», запрос информации для всех запущенных зондов.
Ответ¶
{
"reply":[
{
"method":"AppState",
"result":[
{
"app_id":(number),
"name":(string),
"version":(string),
"status":(string),
"hostname":(string),
"hostOS": (string),
"cpu":[
{
"number":(string),
"usedPercent":(number)
}
],
"memoryUsage":{
"totalPhys":(number),
"usedPhys":(number),
"usedPercent":(number),
"availPhys":(number)
},
"disk":{
"total":(number),
"available":(number)
}
"interfaces":[
{
"iface_name":(string),
"iface_description":(string),,
"iface_friendly_name":(string),
"iface_index":(number),
"iface_v6_index":(number),
"ip":(string),
"ipv6":(string),
"mask":(string),
"speed":(number)
}
]
"net_usage": [
{
"name":(string),
"RX": (number),
"TX": (number)
}
]
}
]
}
]
}
app_id - целое число, идентификатор зонда;
name - строка, имя зонда;
version - версия зонда;
- status - строка, состояние зонда:
active
- зонд запущен;not started
- зонд не запущен. hostname - строка, имя хоста, ярлык устройства в сети;
hostOS - строка, информация об операционной системе на которой запускается зонд;
- cpu - объект, нагрузка на каждое логическое ядро CPU и средняя загрузка по всем ядрам. Данные о нагрузке запрашиваются зондом у операционной системы. Состоит из следующих полей:
number - строка, идентификатор логического ядра CPU или значение
Total
для средней загрузки по всем ядрам;usedPercent - вещественное число, загрузка логического ядра или средняя загрузка в процентах.
- memoryUsage - объект, состояние оперативной памяти RAM. Состоит из следующих полей:
totalPhys - целое число, объем оперативной памяти, установленной на сервере, в мегабайтах;
usedPhys - целое число, объем памяти, использованный всеми приложениями и ОС, в мегабайтах;
usedPercent - вещественное число, объем использованной памяти, в процентах;
availPhys - целое число, оценка объема памяти, доступной для запуска новых приложений без «swapping».
- disk - объект, состояние раздела жесткого диска HDD, на котором установлен зонд. Состоит из следующих полей:
total - целое число, объем раздела на котором установлен зонд, в мегабайтах;
available - целое число, объем свободного пространства в разделе на котором установлен зонд, в мегабайтах.
- interfaces - объект, описание сетевых интерфейсов, доступных операционной системе. Состоит из следующих полей:
iface_name - строка, имя сетевого интерфейса;
iface_description - строка, описание сетевого интерфейса, используется в Windows;
iface_friendly_name - строка, дружественное имя сетевого интерфейса, используется в Windows;
iface_index - целое число, индекс сетевого интерфейса для IPv4 протокола, используется в Windows;
iface_v6_index - целое число, индекс сетевого интерфейса для IPv6 протокола, используется в Windows;
ip - строка, IPv4 адрес сетевого интерфейса;
ipv6 - строка, IPv6 адрес сетевого интерфейса;
mask - целое число, маска подсети в CIDR нотации;
speed - целое число, скорость сетевого интерфейса в Мбит/с.
- interfaces - объект, утилизация сетевых интерфейсов, доступных операционной системе. Состоит из следующих полей:
name - строка, имя сетевого интерфейса;
RX - вещественное число, объем принятых данных за 1 секунду, в Кбит/с;
TX - вещественное число, объем отправленных данных за 1 секунду, в Кбит/с.
Пример¶
#1. Запрос информации для одного зонда
curl http://172.16.11.111/ctrl_api/v1/json \
-H "Content-Type: application/json" \
--data '{"user_id":4,"methods":[{"method":"AppState","params":{"project_id":23,"app_ids":702}}]}'
#2. Запрос информации для нескольких зондов
curl http://172.16.11.111/ctrl_api/v1/json \
-H "Content-Type: application/json" \
--data '{"user_id":4,"methods":[{"method":"AppState","params":{"project_id":23,"app_ids":[702,703]}}]}'
#3. Запрос информации для всех запущенных зондов
curl http://172.16.11.111/ctrl_api/v1/json \
-H "Content-Type: application/json" \
--data '{"user_id":4,"methods":[{"method":"AppState","params":{"project_id":23,"app_ids":"*"}}]}'
{
"reply":[
{
"method":"AppState",
"result":[
{
"app_id":702,
"name":"Development probe",
"version":"1.07-dev (2020.01.21 06:53:25 UTC)",
"status":"active",
"hostname":"WorkMashine",
"hostOS":"Linux 4.15.0-88-generic (x86_64), #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020",
"cpu":[
{
"number":"0",
"usedPercent":"53.1"
},
{
"number":"1",
"usedPercent":"29.9"
},
{
"number":"2",
"usedPercent":"32.0"
},
{
"number":"3",
"usedPercent":"28.0"
},
{
"number":"Total",
"usedPercent":"36.3"
}
],
"memoryUsage":{
"totalPhys":15937,
"usedPhys":6078,
"usedPercent":39,
"availPhys":8765
},
"disk":{
"total":222522,
"available":200430
}
"interfaces":[
{
"iface_name":"{EE5A8772-AEDC-4387-A643-AC1827642969}",
"iface_description":"Intel(R) 82574L Gigabit #4",
"iface_friendly_name":"Ethernet 4",
"iface_index":6,
"iface_v6_index":6,
"ip":"10.10.30.203",
"ipv6":"fe80::3dc8:a7ae:1e79:e4fd%6",
"mask":24,
"speed":1000
},
{
"iface_name":"localhost",
"ip":"127.0.0.1",
"ipv6":"::1"
"mask":8
}
]
"net_usage": [
{
"name":"{EE5A8772-AEDC-4387-A643-AC1827642969}",
"RX": 631.9,
"TX": 1412.0
},
{
"name": "localhost",
"RX": 17871.0,
"TX": 2.89
}
]
}
]
}
]
}