Как я могу разобрать страницу состояния tomcat без переполнения логов доступа?

Для проекта, над которым я сейчас работаю, я хочу прочитать текст с нескольких страниц состояния приложений, работающих в tomcat.

То, что я пытаюсь сделать, это создать конгломерированную страницу состояния, которая будет показывать состояние приложения Tomcat (онлайн / офлайн).

До сих пор я создавал скрипт, который будет анализировать страницы состояния приложений и форматировать результаты в таблицу, а затем записывать результаты в HTML-файл; Таким образом, создание страницы состояния для всех моих приложений.

Я пришел к выводу, что каждый раз, когда я обновляю страницу, я отправляю все больше и больше запросов GET на эти сайты и тем самым заполняю журналы доступа приложений tomcat.

Мне нужна помощь, чтобы обойти эти страницы состояния без спама в GET-запросах... ИЛИ способ отключить GET-флуд в журналах доступа.

Спасибо!

2 ответа

Решение

Вы не сказали, как создаются страницы статуса. Но вы также можете получить состояния приложений, запросив JMX. После включения вы можете получать оперативные данные с ваших виртуальных машин. Используя MBeans JMX (который уже существует для Tomcat), вы можете создать страницу состояния, отображающую ваши приложения на одной странице, без анализа предыдущих страниц состояния и записи их в базу данных.

Чтобы проверить, есть ли такая возможность, вы можете просто запустить свой сервер и открыть Java Mission Control (jmc.exe в вашем JDK bin папку) и подключите, нажав MBean Server ниже правильного процесса. Тогда в MBean Browser (вкладка внизу) вы найдете что-то вроде Catalina или же Tomcat (согласно вашему названию сервиса Tomcats). В подпапке есть тип WebModule, показывая ваши установленные приложения. Это должно выглядеть так:

Вы можете запросить эти данные в любое время, чтобы создать свою собственную страницу статуса (например, в контроллере).

Я могу думать о том, как вы можете сделать это, например, используя SNMP

Другой простой способ - создать страницу статуса только для чтения, в которой указывается, работает ли служба или нет.

как это,

worker.list=jk-watch
worker.jk-watch.type=status
worker.jk-watch.read_only=true
worker.jk-watch.mount=/user/status/jk
worker.list=jk-manage
worker.jk-manage.type=status
worker.jk-manage.mount=/admin/status/jk
Другие вопросы по тегам