УСПОКОИТЕЛЬНЫЙ API для открытия и диагностики

MATLAB® Production Server™ УСПОКОИТЕЛЬНЫЙ API для открытия и диагностики состоит из следующих API:

  • Сервис открытия, который предоставляет информацию о функциях MATLAB, развернутых на сервере

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

  • Метрический сервис сервера возвращает информацию о клиентских запросах, и время и память, которую сервер берет, чтобы выполнить эти запросы.

Медицинский осмотр и обслуживание открытия возвращают ответы в формате JSON. Метрический сервис возвращает данные в метрическом формате Прометея.

Характеристики УСПОКОИТЕЛЬНОГО API

MATLAB Production Server УСПОКОИТЕЛЬНЫЙ API для открытия и диагностики использует модель ответа запроса HTTP для связи с MATLAB Production Server. Эта модель включает методы запроса, коды ответа, заголовки сообщения и тексты сообщений. УСПОКОИТЕЛЬНЫЙ API для открытия и диагностики имеет следующие характеристики:

  • Метод GET HTTP формирует первичный режим из связи между клиент-сервером.

  • Уникальные Унифицированные идентификаторы ресурса (URIs) идентифицируют ресурсы, которые создает сервер.

  • Поскольку запросы к серверу используют метод GET, запросы не имеют текста сообщения, и вы не должны устанавливать Content-Type заголовок в запросе.

  • Текст сообщения ответа содержит информацию, характерную для запроса, такого как информация о функциях, развернутых на сервере, состоянии здоровья сервера или метриках сервера.

Сервис открытия

Используйте сервис открытия узнать о функциях MATLAB, что вы развертываетесь к серверу. Сервис открытия возвращает информацию о развернутых функциях MATLAB как объект JSON. Объект является многоуровневой вложенной структурой, и на высоком уровне отображает версию схемы открытия и список развернутых архивов. Каждый архив содержит информацию о развернутых функциях MATLAB и их функциональных подписях.

Чтобы использовать сервис открытия, необходимо включить сервис открытия на сервер путем установки --enable-discovery свойство в main_config конфигурационный файл сервера.

Чтобы получить полезную информацию при использовании сервиса открытия, необходимо включать файл JSON, содержащий функциональные подписи функций MATLAB, которые вы хотите развернуть при создании развертываемого архива. Для получения информации о том, как создать развертываемый архив, смотрите, Создают Развертываемый Архив для MATLAB Production Server. Для получения информации о создании файла JSON, содержащего функциональные подписи, смотрите Подписи функции MATLAB в JSON.

Вызовите сервис открытия с помощью Информации для поиска GET.

Ответ с сервера является объектом JSON.

Example of a response to the GET discovery information request.

Объект ответа JSON

Объект ответа JSON содержит номер версии для схемы открытия и списка развернутых архивов. Объект ответа содержит следующие поля:

КлючЗначение
discoverySchemaVersion

Строка, содержащая JSON номер версии для схемы открытия в формате <major#>. <minor#>. <patch#>, где каждый номер является неотрицательным целым числом.

Пример value: 1.0.0

archives

Объект JSON, содержащий список всех развернутых архивов.

архивы Объект JSON

archives объект содержит список всех развернутых архивов. Каждый объект в этом списке является объектом JSON, ключ которого является именем развернутого архива, например, <Name of the CTF archive>, и чье значение является объектом JSON, который имеет следующие поля:

КлючЗначение
archiveSchemaVersion

Строка JSON, представляющая номер версии архивной схемы.

Пример: 1.1.0

archiveUuidСтрока JSON, представляющая уникальный идентификатор для архива.
matlabRuntimeVersion

Строка JSON, представляющая версию MATLAB Runtime.

Пример: 9.9.0

functions

Объект JSON, содержащий список функций в развернутом архиве.

typedefsОбъект JSON, содержащий список массивов ячеек или структур, используемых в качестве аргументов ввода или вывода к развернутым функциям.

функции Объект JSON

functions объект содержит список вложенных объектов JSON, где каждый вложенный объект соответствует функции MATLAB в развернутом архиве.

Каждый функциональный объект имеет имя развернутой функции как ее ключ, например, <MATLAB_function_name1>, и объект JSON как его значение. Объект JSON содержит signatures ключ, значение которого является массивом объектов JSON, которые содержат информацию о подписях функции MATLAB.

Каждый объект в signatures массив содержит следующие поля:

КлючЗначение
help

Имя входного параметра.

Пример: "name": "input1"

inputs

Массив объектов JSON, содержащих информацию о входных параметрах

outputs

Массив объектов JSON, содержащих информацию о выходных аргументах

Каждый объект в inputs массив содержит следующие поля:

КлючЗначение
name

Имя входного параметра.

Пример: "name": "input1"

mwtype

Тип данных MATLAB.

Пример: "mwtype": "double"

mwsize

Размер данных.

Пример: "mwsize": ["2,3"]

help

Описание для входных параметров.

Пример: "help": "input1 description"

Каждый объект в outputs объект содержит следующие поля:

КлючЗначение
name

Имя выходного параметра.

Пример: "name": "output1"

mwtype

Тип данных MATLAB.

Пример: "mwtype": "double"

mwsize

Размер данных.

Пример: "mwsize": ["2,3"]

help

Описание для выходных параметров.

Пример: "help": "output1 description"

определения типов Объект JSON

Ответ содержит typedefs возразите, только если развернутые функции содержат массивы ячеек или структуры в качестве аргументов ввода или вывода.

Если развернутые функции содержат массивы ячеек в качестве аргументов ввода или вывода, typedefs объект содержит вложенные объекты, ключ которых является именем массива ячеек, например, <homogeneous_cell_name>, и соответствующее значение содержит объект с информацией о массиве ячеек.

Каждый объект в <cell_array_name> объект содержит следующие поля:

КлючЗначение
help

Строка, содержащая JSON описание для массива ячеек.

Пример: "help": "cell help"

typecell
elements

Массив JSON объектов, описывающих каждый элемент массива ячеек.

Каждый объект в elements содержит следующие поля:

КлючЗначение
name

Имя элемента ячеек.

Пример: "name": "a"

type

Тип данных элемента.

Пример: "type": "double"

size

Размер массива.

Пример: "size": ["2,3"]

help

Описание элемента ячеек.

Пример: "help": "Operand a"

Если развернутые функции содержат массивы структур в качестве аргументов ввода или вывода, typedefs объект содержит вложенные объекты, ключ которых является именем структуры, например, <struct_name>, и соответствующее значение содержит объект с информацией о структуре.

Каждый объект в <struct_name> объект содержит следующие поля:

КлючЗначение
help

Строка, содержащая JSON описание для структуры.

Пример: "help": "struct help"

typestruct
fields

Массив JSON объектов, описывающих каждый элемент структуры.

Каждый объект в fields содержит следующие поля:

ИмяОписание
name

Имя struct поле .

Пример: "name": "my_field_name"

type

Тип данных значения поля.

Пример: "type": "char"

size

Размер struct.

Пример: "size": ["2,3"]

help

Описание для struct элемент.

Пример: "help": "description for my_field_name"

Медицинский осмотр

Используйте API медицинский осмотра, чтобы определить, имеет ли сервер допустимую лицензию и может обработать запросы HTTP. Медицинский осмотр классифицирует сервер как здоровый или вредный для здоровья в зависимости от того, имеет ли сервер допустимую лицензию и может связаться с Сетевым менеджером лицензий. Чтобы проверять здоровье сервера, используйте здоровье Сервера GET (MATLAB Production Server).

Сервер здоров, когда это находится в одном из следующих состояний:

  • Сервер действует с допустимой лицензией. Сервер связывается с сетевым менеджером лицензий, и необходимое количество ключей лицензии проверяется.

  • Сервер потерял связь с сетевым менеджером лицензий, но сервер является все еще полностью операционным и останется операционным до конца льготного периода, как задано license-grace-period Свойство (MATLAB Production Server).

Если медицинский осмотр успешен, сервер отвечает 200 OK Код состояния HTTP и объект JSON, указывающий, что сервер здоров.

{
  "status": "ok"
}

Когда сервер недоступен, чтобы обработать запросы HTTP, API медицинский осмотра возвращает 503 Health Check Failed Код ответа HTTP с пустым органом по ответу. Медицинский осмотр перестал работать, когда сервер потерял связь с Сетевым менеджером лицензий сроком на время, превысив льготный период. Когда сервер находится в этом состоянии, он активно пытается восстановить связь с менеджером лицензий. Обработка запросов возобновляется, может ли разъединение восстановить связь с менеджером лицензий.

Не пройдено медицинский осмотр не предоставляет дополнительную информацию о причине отказа в органе по ответу. Администраторы сервера могут использовать mps-status (MATLAB Production Server), чтобы получить подробную информацию о состоянии сервера. Необходимо быть в той же системе как сервер, чтобы запуститься mps-status.

Для получения дополнительной информации о лицензировании смотрите, Управляют Лицензиями на MATLAB Production Server (MATLAB Production Server).

Метрический сервис

Используйте метрический сервис получить метрики сервера в Прометее® метрический формат. Метрический сервис возвращает информацию о запросах, чтобы клиентские приложения отправили к серверу, и время и память, которую сервер берет, чтобы выполнить запросы. Можно использовать метрики, чтобы контролировать сервер при работе с Kubernetes® и микросервисы. Чтобы вызвать метрические сервисы, используйте Метрики GET (MATLAB Production Server).

Чтобы использовать метрический сервис, необходимо включить метрический сервис на сервер путем установки --enable-metrics свойство в main_config конфигурационный файл сервера.

Успешный ответ с сервера состоит из нескольких метрик сервера в счетчике Прометея и метрических типах прибора. Для получения дополнительной информации о метрическом формате Прометея, смотрите Прометея Метрика Тайпеса.

# TYPE matlabprodserver_up_time_seconds counter
matlabprodserver_up_time_seconds 68140.5
# TYPE matlabprodserver_queue_time_seconds gauge
matlabprodserver_queue_time_seconds 0
# TYPE matlabprodserver_cpu_time_seconds counter
matlabprodserver_cpu_time_seconds 18.2188
# TYPE matlabprodserver_memory_working_set_bytes gauge
matlabprodserver_memory_working_set_bytes 1.57426e+08
# TYPE matlabprodserver_requests_accepted_total counter
matlabprodserver_requests_accepted_total 0
# TYPE matlabprodserver_requests_in_queue gauge
matlabprodserver_requests_in_queue 0
# TYPE matlabprodserver_requests_processing gauge
matlabprodserver_requests_processing 0
# TYPE matlabprodserver_requests_succeeded_total counter
matlabprodserver_requests_succeeded_total 0
# TYPE matlabprodserver_requests_failed_total counter
matlabprodserver_requests_failed_total 0
# TYPE matlabprodserver_requests_canceled_total counter
matlabprodserver_requests_canceled_total 0

Ошибочный ответ 403 Metrics Disabled указывает, что метрическому сервису не включают на сервере.

Смотрите также

(MATLAB Production Server) | (MATLAB Production Server)

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте