MATLAB® Production Server™ УСПОКОИТЕЛЬНЫЙ API для открытия и диагностики состоит из следующих API:
Сервис открытия, который предоставляет информацию о функциях MATLAB, развернутых на сервере
API медицинский осмотра, который сообщает, доступен ли сервер для запросов процесса.
Метрический сервис сервера возвращает информацию о клиентских запросах, и время и память, которую сервер берет, чтобы выполнить эти запросы.
Медицинский осмотр и обслуживание открытия возвращают ответы в формате JSON. Метрический сервис возвращает данные в метрическом формате Прометея.
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.
Объект ответа JSON содержит номер версии для схемы открытия и списка развернутых архивов. Объект ответа содержит следующие поля:
Ключ | Значение |
---|---|
discoverySchemaVersion | Строка, содержащая JSON номер версии для схемы открытия в формате <major#>. <minor#>. <patch#>, где каждый номер является неотрицательным целым числом. Пример value: |
archives | Объект JSON, содержащий список всех развернутых архивов. |
archives
объект содержит список всех развернутых архивов. Каждый объект в этом списке является объектом JSON, ключ которого является именем развернутого архива, например, <Name of the CTF archive>
, и чье значение является объектом JSON, который имеет следующие поля:
Ключ | Значение |
---|---|
archiveSchemaVersion | Строка JSON, представляющая номер версии архивной схемы. Пример:
|
archiveUuid | Строка JSON, представляющая уникальный идентификатор для архива. |
matlabRuntimeVersion | Строка JSON, представляющая версию MATLAB Runtime. Пример:
|
functions | Объект JSON, содержащий список функций в развернутом архиве. |
typedefs | Объект JSON, содержащий список массивов ячеек или структур, используемых в качестве аргументов ввода или вывода к развернутым функциям. |
functions
объект содержит список вложенных объектов JSON, где каждый вложенный объект соответствует функции MATLAB в развернутом архиве.
Каждый функциональный объект имеет имя развернутой функции как ее ключ, например, <MATLAB_function_name1>
, и объект JSON как его значение. Объект JSON содержит signatures
ключ, значение которого является массивом объектов JSON, которые содержат информацию о подписях функции MATLAB.
Каждый объект в signatures
массив содержит следующие поля:
Ключ | Значение |
---|---|
help | Имя входного параметра. Пример:
|
inputs | Массив объектов JSON, содержащих информацию о входных параметрах |
outputs | Массив объектов JSON, содержащих информацию о выходных аргументах |
Каждый объект в inputs
массив содержит следующие поля:
Ключ | Значение |
---|---|
name | Имя входного параметра. Пример:
|
mwtype | Тип данных MATLAB. Пример:
|
mwsize | Размер данных. Пример:
|
help | Описание для входных параметров. Пример:
|
Каждый объект в outputs
объект содержит следующие поля:
Ключ | Значение |
---|---|
name | Имя выходного параметра. Пример:
|
mwtype | Тип данных MATLAB. Пример:
|
mwsize | Размер данных. Пример:
|
help | Описание для выходных параметров. Пример:
|
Ответ содержит typedefs
возразите, только если развернутые функции содержат массивы ячеек или структуры в качестве аргументов ввода или вывода.
Если развернутые функции содержат массивы ячеек в качестве аргументов ввода или вывода, typedefs
объект содержит вложенные объекты, ключ которых является именем массива ячеек, например, <homogeneous_cell_name>
, и соответствующее значение содержит объект с информацией о массиве ячеек.
Каждый объект в <cell_array_name>
объект содержит следующие поля:
Ключ | Значение |
---|---|
help | Строка, содержащая JSON описание для массива ячеек. Пример:
|
type | cell |
elements | Массив JSON объектов, описывающих каждый элемент массива ячеек. |
Каждый объект в elements
содержит следующие поля:
Ключ | Значение |
---|---|
name | Имя элемента ячеек. Пример:
|
type | Тип данных элемента. Пример:
|
size | Размер массива. Пример:
|
help | Описание элемента ячеек. Пример:
|
Если развернутые функции содержат массивы структур в качестве аргументов ввода или вывода, typedefs
объект содержит вложенные объекты, ключ которых является именем структуры, например, <struct_name>
, и соответствующее значение содержит объект с информацией о структуре.
Каждый объект в <struct_name>
объект содержит следующие поля:
Ключ | Значение |
---|---|
help | Строка, содержащая JSON описание для структуры. Пример:
|
type | struct |
fields | Массив JSON объектов, описывающих каждый элемент структуры. |
Каждый объект в fields
содержит следующие поля:
Имя | Описание |
---|---|
name | Имя Пример:
|
type | Тип данных значения поля. Пример:
|
size | Размер Пример:
|
help | Описание для Пример:
|
Используйте 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
указывает, что метрическому сервису не включают на сервере.
mps-status
(MATLAB Production Server) | license-grace-period
(MATLAB Production Server)