Использование Grafana для мониторинга Entaxy
Можно настроить разные метрики, получаемые от Camel, Karaf, java и т.д.
Например, можно смотреть в режиме реального времени: сколько сообщений было отработано, сколько сообщений зависло (Inflight), сколько сообщений было отработано с ошибкой.
Использование Hawtio для мониторинга Entaxy
Hawtio доступно по адресу http://{nginx_address}/hawtio/
-
Открываем в браузере Hawtio и аутентифицируемся как karaf / karaf
-
При успешной аутентификации видим вкладку Camel со всеми маршрутами и возможностью посмотреть статистику по маршрутам
-
Возможность просмотреть логи
-
Возможность просмотреть метрику
-
Общую статистику можно увидеть на вкладке JMX, выбрав Camel Contexts (отображение данных бывает с небольшой паузой)
Управление и Мониторинг с использованием JMX и Jolokia
JMX (Java Management Extensions) в рамках Entaxy ION представляет собой инструмент для управления и мониторинга компонентов системы.
Дополнительный агент Jolokia расширяет функциональность JMX, предоставляя удобный HTTP/JSON интерфейс для безопасного удаленного доступа к MBeans и данным JMX-компонентов.
В пакете ru.entaxy.esb расположены компоненты системы, включая параметры безопасности.
Настройки безопасности содержат реалмы с соответствующими модулями, определяющими параметры безопасности.
Каждый модуль обладает подробной конфигурацией для параметров атрибутов безопасности.
Для каждого параметра генерируется Jolokia URL с полным путем до адресата. Доступ к данным предоставляется только авторизованным пользователям.
При отсутствии действующей авторизации доступ к настройкам и данным ограничивается, предотвращая несанкционированный доступ к конфиденциальной информации.
Конфигурационные данные для каждого параметра доступны через Операцию - readConfiguration().
Управление ролями
Jolokia предоставляет возможность управления ролями.
Пример передачи обычного GET- и POST- запроса с базовой аутентификацией используя Postman (выполнение запросов через браузер возможно только при наличии залогиненного Hawtio).
Пользователь user: без ролей
-
Отправка GET-запроса:
-
Отправка POST-запроса:
Тело запроса
{ "type": "exec", "mbean": "ru.entaxy.esb:localNode=0.0.0.0,group=runtime,section=security,security=jaas,realm=karaf,subgroup_5=modules,module=karaf.properties-jaas-login-module.karaf-properties_entaxy.security.jaas.loginmodule", "operation": "addRole", "arguments": ["user", "viewer"] }
Пользователь user: с добавленной ролью viewer