nodes

Запросы

HTTP verb Endpoint Описание

GET

/rest/v1/master/nodes

Получение списка нод

GET

/rest/v1/master/nodes/<name>

Получение данных ноды

PATCH

/rest/v1/master/nodes/<name>

Изменение свойств ноды

DELETE

/rest/v1/master/nodes/<name>

Завершение ноды


Получение списка нод

Запрос

Table 1. Параметры запроса
Имя Тип Описание

filter

object

Фильтр по значениям полей.

mask

str

Список полей для вывода. Доступные поля для выдачи: name, fullName, ipAddress, site, server, isSystem, type, dtStart, upTimeSec, status, maxLogLevel, roles.

offset

int

Смещение в списке ресурсов, подлежащих выдаче.

limit

int

Максимальное количество ресурсов в списке.

order

array<object|str>

Порядок сортировки ресурсов в списке.

flat

bool

Преобразование в плоский вид составных полей.

Пример запроса
GET /rest/v1/master/nodes?offset=38&limit=4 HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "dtStart": "2023-03-22T08:06:18Z",
    "fullName": "testserv@192.168.0.112",
    "ipAddress": "192.168.0.112",
    "isSystem": true,
    "maxLogLevel": "info",
    "name": "testserv",
    "server": "testserv",
    "site": "main_site",
    "status": "active",
    "type": "supervisor",
    "upTimeSec": 9487
  },
  {
    "dtStart": "2023-03-22T08:07:13Z",
    "fullName": "vmail1@192.168.0.112",
    "ipAddress": "192.168.0.112",
    "maxLogLevel": "info",
    "name": "vmail1",
    "roles": [
      "voicemail"
    ],
    "server": "testserv",
    "site": "main_site",
    "status": "active",
    "type": "role",
    "upTimeSec": 9432
  },
  {
    "dtStart": "2023-03-22T08:37:14Z",
    "fullName": "ws1@192.168.0.112",
    "ipAddress": "192.168.0.112",
    "maxLogLevel": "info",
    "name": "ws1",
    "roles": [
      "webserver"
    ],
    "server": "testserv",
    "site": "main_site",
    "srvIdx": 2525,
    "status": "active",
    "type": "role",
    "upTimeSec": 7631
  },
  {
    "dtStart": "2023-03-22T08:06:41Z",
    "fullName": "wssubscr1@192.168.0.112",
    "ipAddress": "192.168.0.112",
    "maxLogLevel": "info",
    "name": "wssubscr1",
    "roles": [
      "mnesia",
      "wssubscr"
    ],
    "server": "testserv",
    "site": "main_site",
    "status": "active",
    "type": "role",
    "upTimeSec": 9464
  }
]

Получение данных ноды

Особенности

  • В качестве идентификатора выступает имя ноды (name) или полное имя ноды (fullName).

Запрос

Table 2. Параметры запроса
Имя Тип Описание

mask

str

Список полей для вывода.

flat

bool

Преобразование в плоский вид составных полей.

Пример запроса
GET /rest/v1/master/node/ws1 HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "dtStart": "2023-03-22T08:37:14Z",
  "fullName": "ws1@192.168.0.112",
  "ipAddress": "192.168.0.112",
  "maxLogLevel": "info",
  "name": "ws1",
  "roles": [
    "webserver"
  ],
  "server": "testserv",
  "site": "main_site",
  "srvIdx": 2525,
  "status": "active",
  "type": "role",
  "upTimeSec": 7631
}

Изменение свойств ноды

Поля запрещенные для изменения: id

Особенности

  • Позволяет адресно установить уровень логирования.

Запрос

Пример запроса
PATCH /rest/v1/master/nodes/ws1 HTTP/1.1
Content-Type: application/json; charset=utf-8

{
  "maxLogLevel": "debug"
}

Ответ

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "dtStart": "2023-03-22T08:37:14Z",
  "fullName": "ws1@192.168.0.112",
  "ipAddress": "192.168.0.112",
  "maxLogLevel": "debug",
  "name": "ws1",
  "roles": [
    "webserver"
  ],
  "server": "testserv",
  "site": "main_site",
  "srvIdx": 2525,
  "status": "active",
  "type": "role",
  "upTimeSec": 7631
}

Завершение ноды

Особенности

  • После завершения ноды она автоматически перезапускается вышестоящим супервизором.

  • Если завершить системную корневую ноду сервера (isSystem=true, type=supervisor), то ее перезапускает докер-демон.

Запрос

Пример запроса
DELETE /rest/v1/master/nodes/ws1 HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 204 No Content

Поля сущности

Table 3. Поля
Поле Описание

name

Короткое имя ноды. Может использоваться в качестве идентификатора.

fullName

Полное имя ноды. Может использоваться в качестве идентификатора.

ipAddress

IP-адрес ноды/сервера

server

Имя сервера из конфигурации.

site

Сайт, к которому относится сервер.

isSystem

Признак системности ноды.

type

Тип ноды: * role - обычная ролевая нода, исполняющая микросервис (роль), назначенный серверу в конфигурации. * supervisor - нода супервизора, корневая для сервера.

maxLogLevel

Максимальный установленный уровень логирования. Варианты: * none (0) - уровень выключено; * crash (1) - падения; * error (2) - ошибки; * warning (3) - предупреждения; * info (4) - некритичная информация; * trace (5) - трассировка процессов и алгоритмов; * debug (6) - отладочная информация; * highest (другие значения).

Важно! При выключении логирования тем не менее часть записей в лог журнале будет размещаться. Дело в том, что не каждая запись снабжается указанием уровня.

status

Статус ноды: * active - активна * inactive - недоступна

dtStart

Время запуска или последнего перезапуска в часовом поясе UTC.

upTimeSec

Аптайм. Время работы без перезагрузки в секундах.

srvIdx

Индекс ноды из конфигурации, назначенный микросервису (роли).