Веб-служба
Веб-служба мониторинга предназначена для обмена данными о тестировании между Сервером Мониторинга и Агентами Мониторинга. Настроить Веб-службу возможно на любом экземпляре КриптоПро Центр Мониторинга, однако основной вариант использования подразумевает ее настройку на Агентах, которые с ее помощью смогут отправлять информацию о тестах на Сервер Мониторинга. Сервер Мониторинга получает сведения от Веб-службы при помощи Теста состояния удаленного Агента Мониторинга.
Примечание
Для корректной работы Веб-службы Службе Мониторинга необходимы соответствующие права.
Для включения Веб-службы в разделе «Конфигурация тестирования» (1) перейдите на вкладку «Веб-служба» (2) и включите чекбокс «Включить веб-службу» (3). При необходимости скорректируйте поле «Адрес службы» (4) и нажмите кнопку «Сохранить» (5).
Примечание
После изменения настроек Веб-службы необходимо сохранить изменения путем нажатия кнопки «Сохранить» и перезапустить Службу мониторинга или перечитать конфигурацию.
Взаимодействие с Веб-службой осуществляется путем отправки к ней GET-запроса вида:
GET <Адрес службы>/<Имя экземпляра тестирования>/GetLastTestStatus
Пример запроса:
http://win-srv:8080/monitor/DSS/GetLastTestStatus
Возможны два варианта ответа веб-службы:
- HTTP 200 (успех);
- HTTP 500 (ошибка).
Веб-служба вернет HTTP 200, если в предыдущем запуске тестов на Агенте, к которому делается запрос, для указанного экземпляра тестирования не произошло ошибок.
Веб-служба вернет HTTP 500, если в предыдущем запуске тестов на Агенте, к которому делается запрос, были ошибки. В данный ответ помещаются сведения о результатах последнего запуска тестирования в формате JSON (см. Таблица 8).
Таблица 8 — Ответ Веб-службы
Поле | Тип | Описание |
---|---|---|
DetailedInformation | List<string> | Список результатов последнего запуска тестов |
ErrorMessage | String | Краткое описание ошибки. Допустимые значения: * Тестирование экземпляра [Имя экземпляра] еще не проводилось; * Один или несколько тестов завершились с ошибкой. |
Time | String | Время форматирования данного сообщения в UTC. |
Пример ответа:
{"DetailedInformation":
["DSS -> Тестовая аутентификация -> успешно завершён",
"DSS -> Тестовая подпись -> успешно завершён",
"DSS -> Тест криптопровайдеров Сервиса Подписи DSS -> успешно завершён",
"DSS -> Проверка сертификатов веб интерфейса DSS -> успешно завершён",
"DSS -> Проверка сертификатов сервиса ЦИ DSS -> завершён с ошибкой",
"DSS -> Проверка сертификатов сервиса подписи DSS -> успешно завершён"],
"ErrorMessage":"DSS: Один или несколько тестов завершились с ошибкой.",
"Time":"2019-01-29T10:18:04Z"}
Возможно также получить результат последнего запуска для нескольких экземпляров тестирования. Ответ содержит список струкрур, аналогичных Таблице 8, для каждого из запрошенных экземпляров. Если хотя бы для одного экземпляра в результате последенего запуска тестов были обнаружены ошибки, Служба вернёт результат 500, иначе 200.
Взаимодействие с Веб-службой осуществляется путем отправки к ней
GET-запроса с разделителем вида нижнее_подчёркивание_@_нижнее_подчёркивание
:
GET <Адрес службы>/aggregate/<Имя экземпляра тестирования 1>_@_<Имя экземпляра тестирования 2>/GetLastTestStatus
Пример запроса:
http://win-srv:8080/monitor/aggregate/dss_@_nte/GetLastTestStatus
Пример ответа:
[
{
"DetailedInformation": [
"DSS -> Тестовая подпись -> успешно завершён",
"DSS -> Тест конечных точек DSS -> успешно завершён",
"DSS -> Тест срока действия CRL -> завершён с ошибкой"
],
"ErrorMessage": "DSS: Один или несколько тестов завершились с ошибкой.",
"Time": "2020-06-09T10:16:35Z"
},
{
"DetailedInformation": [
"nte -> Тест срока действия CRL -> завершён с ошибкой"
],
"ErrorMessage": "nte: Один или несколько тестов завершились с ошибкой.",
"Time": "2020-06-09T10:15:52Z"
}
]
Сервер Мониторинга также может получать результаты тестирования от Агента Мониторинга при помощи Веб-службы. Для этого используется Тест состояния удаленного Агента Мониторинга. Укажите следующие настройки данного теста:
- Адрес службы (1) — Адрес службы из настроек Веб-службы на Агенте (Например,
http://win-srv:8080/monitor
) - Имя экземпляра тестирования (2) — Имя тестируемого экземпляра на Агенте (Например,
DSS
). - Cохраните настройки теста при помощи кнопки «Сохранить» (3).
Пример: