Как я могу разобрать страницу состояния 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