Блоги

Навигационные полоски

WSO2 Healthcheck API

Спасибо коллегам из Yenlo за полезный пост - благодаря ему я узнал о существовании нового HealthCheck API, более подробной информации о котором хочу поделиться.

В последней (на текущий момент) версии WSO2 Identity Server 5.7.0 появилось новое HealthCheck API. Оно доступно по адресу https://<HOSTNAME>:9443/api/health-check/v1.0/health.

По умолчанию оно выключено и ничего не вернет, как включить API - смотрите ниже.

Для тех пользователей кто использует более старые версии WSO2 IS (5.5.0, 5.6.0) поддержка данного API поступит с апдейтами через WUM (WSO2 Update Manager) - конечно в случае если у вас есть подписка на поддержку.

Но если у вас такой подписки нет, либо вы хотите использовать данное API с другим продуктом WSO2 - не проблема - ниже мы рассмотрим как можно его добавить в любой (почти) продукт.

В целом информация по данному API доступна в документации WSO2 по адресу - https://docs.wso2.com/display/ADMIN44x/Monitoring+Server+Health - но она местами может быть не точна.

Итак - рассмотрим на примере WSO2 API-M (тестировали с последней на текущий момент версией 2.6.0). Для того, чтобы добавить в WSO2 API-M функцию HealthCheck необходимо:

  • Скачать последнюю (на текущий момент 1.0.0) версию с репозитория maven: http://maven.wso2.org/nexus/content/repositories/releases/org/wso2/carbon/healthcheck/org.wso2.carbon.healthcheck.server.feature
  • Распаковать скаченный зип (в моем случае это был org.wso2.carbon.healthcheck.server.feature-1.0.0.zip в некоторую папку (назовем ее FEATURE_HOME
  • Скопировать файл <FEATURE_HOME>/plugins/org.wso2.carbon.healthcheck.api.core-1.0.0.jar в <WSO2_HOME>/repository/components/dropins
  • Скопировать файл <FEATURE_HOME>/features/org.wso2.carbon.healthcheck.server_1.0.0/api#health-check#v1.0.war в <WSO2_HOME>/repository/deployment/server/webapps
  • Скопировать файл <FEATURE_HOME>/features/org.wso2.carbon.healthcheck.server_1.0.0/health-check-config.xml в папку <WSO2_HOME>/repository/conf

Далее надо "включить" данное API (это относится и к WSO2 IS 5.7.0 - где API есть, но выключено) - в указанном файле health-check-config.xml надо изменить <Enable> на с false на true (это потребует рестарта сервера).

После этого можно вызвать API например https://localhost:9443/api/health-check/v1.0/health и получить набор данных о состоянии (например коннектов к базе).

ВАЖНО - данное API не защищено никакой авторизацией и доступно без логина и пароля.

Попробовали так же включение данного API в WSO2 EI 6.4.0 (в Integrator Profile) - но не завелось - вылетает по NPE.

Если кому-то интересно покопаться во внутренностях этого API - то исходники на гитхабе: https://github.com/wso2/carbon-health-check

 

27.01.2019