Справочник команд (API)#

Ниже приведен список команд в алфавитном порядке.

Базовый URL: http://localhost:3050.

Авторизация: требуется Bearer token.

Hostname#

Получение имени устройства#

GET /system/hostname HTTP/1.1

$ curl --location 'localhost:3050/system/hostname'
       --header 'Authorization: Bearer <your-token>'

Изменение имени устройства#

POST /system/hostname HTTP/1.1

$ curl --location --request POST 'http://localhost:3050/system/hostname' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <your-token>' \
    --data '{
      "hostname": "angie-adc3"
    }'

Параметр

Тип

Обязательный

Описание

hostname

string

да

Новое имя устройства (до 255 символов)

NTP#

Получение статуса NTP#

GET /system/ntp/info

Получение детальной информации о состоянии синхронизации NTP, включая статус включения, источник синхронизации, время и часовой пояс.

$ curl --location 'http://localhost:3050/system/ntp/info' \
       --header 'Authorization: Bearer <your-token>'

Пример ответа:

{
  "enabled": true,
  "source": "ntp.example.com",
  "synchronised": true,
  "time_local": "2025-12-25 19:00:00",
  "time_utc": "2025-12-25 16:00:00",
  "timezone": "Europe/Moscow"
}

Параметр

Тип

Описание

enabled

bool

Включена ли синхронизация NTP

source

string

Источник синхронизации: NTP-сервер (null, Если NTP отключен)

synchronised

bool

Синхронизирован ли системный таймер (false, Если NTP отключен)

time_local

string

Локальное время в формате YYYY-MM-DD HH:MM:SS

time_utc

string

UTC-время в формате YYYY-MM-DD HH:MM:SS

timezone

string

Часовой пояс системы

Включение службы NTP-синхронизации#

POST /system/ntp/enable

$ curl --location 'http://localhost:3050/system/ntp/enable' \
       --header 'Authorization: Bearer <your-token>' \
       --request POST

Выключение службы NTP-синхронизации#

POST  /system/ntp/disable

$ curl --location 'http://localhost:3050/system/ntp/disable' \
       --header 'Authorization: Bearer <your-token>' \
       --request POST

Список настроенных NTP-серверов#

GET /system/ntp/servers

Возвращает список настроенных NTP-серверов с их параметрами частоты опроса.

$ curl -–location ‘http://localhost:3050/system/ntp/servers’
       -–header ‘Authorization: Bearer ’

Пример ответа:

{
  "servers": [
    {
      "host": "ntp1.example.com",
      "minPoll": 6,
      "maxPoll": 10
    },
    {
      "host": "ntp2.example.com",
      "minPoll": 8,
      "maxPoll": 12
    }
  ]
}

Параметр

Описание

servers

Массив NTP-серверов

host

Адрес NTP-сервера

minPoll

Минимальный интервал опроса как степень двойки (возможные значения: от 4 до 17).

Например:

  • 6 → 2⁶ = 64 секунды;

  • 10 → 2¹⁰ = 1024 секунды (~17 минут).

maxPoll

Максимальный интервал опроса как степень двойки (возможные значения: от 4 до 17).

Например:

  • 6 → 2⁶ = 64 секунды;

  • 10 → 2¹⁰ = 1024 секунды (~17 минут).

Добавление нового NTP-сервера#

POST /system/ntp/server

Добавляет новый NTP-сервер в конфигурацию или обновляет имеющийся, если сервер с таким host уже существует.

$ curl --location 'http://localhost:3050/system/ntp/server' \
       --header 'Content-Type: application/json' \
       --header 'Authorization: Bearer <your-token>' \
       --data '{
         "host": "ntp.example.com",
         "minPoll": 6,
         "maxPoll": 10
       }'

Параметр

Тип

Обязательный

Описание

host

string

да

Адрес NTP-сервера

minPoll

int32

да

Минимальный интервал опроса как степень двойки (от 4 до 17, по умолчанию: 6)

maxPoll

int32

да

Максимальный интервал опроса как степень двойки (от 4 до 17, по умолчанию: 10)

Примечание

Если сервер с таким host уже существует, его параметры будут обновлены.

Удаление NTP-сервера#

DELETE /system/ntp/server/host

Удаление NTP-сервера из конфигурации по имени хоста.

$ curl --location --request DELETE \
       'http://localhost:3050/system/ntp/server/ntp.example.com' \
       --header 'Authorization: Bearer <your-token>'

Параметр

Тип

Обязательный

Описание

host

string

да

Адрес удаляемого NTP-сервера

Примечание

Если сервер с указанным host не найден, операция считается успешной.

Syslog#

Создание syslog-сервера#

POST /log-servers

Создает новый syslog-сервер для отправки событий.

$ curl -X POST http://localhost:3050/log-servers \
       -H "Content-Type: application/json" \
       -H "Authorization: Bearer <token>" \
       -d '{
         "name": "Production Syslog",
         "enabled": true,
         "host": "192.168.1.100",
         "port": 514,
         "protocol": "udp",
         "levels": [3, 4, 5, 6]
       }'

Параметры:

Параметр

Тип

Обязательный

Описание

name

string

да

Имя сервера (до 255 символов)

enabled

bool

нет

Включен ли сервер (по умолчанию: true)

host

string

да

Доменное имя или IP-адрес syslog-сервера (до 255 символов)

port

int

да

Порт syslog-сервера (по умолчанию: 514)

protocol

string

да

Протокол: tcp или udp (по умолчанию: udp)

levels

array[int]

нет

Уровни логирования (0-7):

  • 0 — Emergency: только события, приводящие к аварийной ситуации и полному отказу системы.

  • 1 — Alert: критические ошибки безопасности или выход из строя важных сервисов.

  • 2 — Critical: серьезные проблемы, которые требуют немедленного исправления.

  • 3 — Error: ошибки, влияющие на работу системы, но не приводящие к ее остановке.

  • 4 — Warning: предупреждения о возможных проблемах.

  • 5 — Notice: уведомления о событиях.

  • 6 — Informational: информационные сообщения.

  • 7 — Debug: включение событий отладки.

Если параметр levels не указан или пуст, отправляются события для всех уровней логирования.

Получение списка syslog-серверов#

GET /log-servers

Возвращает список всех настроенных syslog-серверов.

$ curl -X GET http://localhost:3050/log-servers \
       -H "Authorization: Bearer <token>"

Пример ответа:

{
  "servers": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "created_at": "2026-01-12T10:00:00Z",
      "updated_at": "2026-01-12T10:00:00Z",
      "name": "Production Syslog",
      "enabled": true,
      "host": "192.168.1.100",
      "port": 514,
      "protocol": "udp",
      "levels": [3, 4, 5, 6]
    }
  ]
}

Примечание

В поле id сервера отображается UUID сервера, необходимый для редактирования и удаления сервера.

Изменение параметров syslog-сервера#

PATCH /log-servers/<uuid>

Обновляет параметры существующего syslog-сервера. Обновляются только те поля, которые явно указаны в запросе.

$ curl -X PATCH http://localhost:3050/log-servers/550e8400-e29b-41d4-a716-446655440000 \
       -H "Content-Type: application/json" \
       -H "Authorization: Bearer <token>" \
       -d '{
         "enabled": false,
         "port": 515
       }'

Параметры:

Параметр

Тип

Обязательный

Описание

uuid

string

да

UUID syslog-сервера (UUID можно посмотреть в поле id сервера, выполнив команду GET /log-servers)

name

string

нет

Имя сервера (до 255 символов)

enabled

bool

нет

Включен ли сервер

host

string

нет

Доменное имя или IP-адрес syslog-сервера (до 255 символов)

port

int

нет

Порт syslog-сервера (1-65535)

protocol

string

нет

Протокол: tcp или udp

levels

array[int]

нет

Уровни логирования (0-7):

  • 0 — Emergency: только события, приводящие к аварийной ситуации и полному отказу системы.

  • 1 — Alert: критические ошибки безопасности или выход из строя важных сервисов.

  • 2 — Critical: серьезные проблемы, которые требуют немедленного исправления.

  • 3 — Error: ошибки, влияющие на работу системы, но не приводящие к ее остановке.

  • 4 — Warning: предупреждения о возможных проблемах.

  • 5 — Notice: уведомления о событиях.

  • 6 — Informational: информационные сообщения.

  • 7 — Debug: включение событий отладки.

Удаление syslog-сервера#

DELETE /log-servers/<uuid>

$ curl -X DELETE http://localhost:3050/log-servers/550e8400-e29b-41d4-a716-446655440000 \
       -H "Authorization: Bearer <token>"

Параметры:

Параметр

Тип

Обязательный

Описание

uuid

string

да

UUID syslog-сервера (UUID можно посмотреть в поле id сервера, выполнив команду GET /log-servers)

Проверка подключения к syslog-серверу#

POST /log-servers/test

Проверяет доступность syslog-сервера: устанавливает TCP/UDP соединение и отправляет тестовое syslog-сообщение (RFC 3164). Таймаут соединения 5 секунд. Сервер не сохраняется в базе данных.

$ curl -X POST http://localhost:3050/log-servers/test \
       -H "Content-Type: application/json" \
       -H "Authorization: Bearer <token>" \
       -d '{
         "host": "192.168.1.100",
         "port": 514,
         "protocol": "udp"
       }'

Параметры:

Параметр

Тип

Обязательный

Описание

host

string

да

Доменное имя или IP-адрес syslog-сервера

port

int

да

Порт syslog-сервера

protocol

string

да

Протокол: tcp или udp