Сбор журналов Hawtio из нескольких веб-приложений, работающих на одном Tomcat

Я запускаю несколько приложений Camel на основе весенней загрузки на одном и том же коте. В каждом приложении, развернутом на этом коте, я поместил определение компонента для создания LogbackLogQuery. Проблема в том, что на вкладке журнала hawtio отображается только журнал последних развернутых приложений. Я наткнулся на эту статью stackoverflow: Несколько приложений Camel регистрируются в одном hawtio, но она кажется немного устаревшей, и я не смог найти решение.

Я использую hawtio-default.war на том же коте, что и другие веб-приложения.

Tomcat: 10.1.19, Spring Boot: 3.2.4, Camel: 4.4.0, Hawtio: 4.0.0

Итак, мой вопрос: есть ли способ перехватить все журналы моих развернутых приложений Camel на основе весенней загрузки в hawtio?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это интересный метод развертывания, но, к сожалению, в настоящее время Hawtio 4.0.0 ожидает только одно приложение Spring Boot для каждой JVM.

Проблема с LogbacklogQuery MBean заключается в том, что если вы не разделите несколько экземпляров MBeanServer, вы не сможете использовать несколько экземпляров MBean с уникальным именем для каждой JVM. Должна быть возможность определить несколько MBean-компонентов с именами:

  • hawtio:type=LogQuery,name=app1
  • hawtio:type=LogQuery,name=app2
  • hawtio:type=LogQuery,name=app3

но в настоящее время интерфейсная часть плагина Logs подхватывает только первый из MBean-компонентов.

Если вы можете сообщить о проблеме в GitHub, команда Hawtio может рассмотреть возможность ее улучшения:

Другой вариант, который я проверил, — это создание модуля агрегатора журналов, который служит сборщиком jmx на tomcat. Все модули, имеющие отношение к бизнесу, регистрируют собственные MBeans на платформе tomcat и отправляют LoggingEvent через собственное приложение для журналирования. Агрегатор журналов регистрирует только один hawtio LogbackLogQuery. Единственным недостатком был процесс пересборки LoggingEventVO в LoggingEvent из-за того, что LogbackLogQuery хранит LoggingEvent, а не сериализуемый LoggingEventVO.

frakani 15.05.2024 14:36

Другие вопросы по теме