пятница, 20 декабря 2013 г.

Мониторинг JasperServer

Выяснилось, что на тяжёлых отчётах (~40млн строк) JasperServer периодически падает с различными ошибками. То свободного места ему не хватает, то памяти.

Решено было прикрутить систему маниторинга, позволяющую определять нагрузку в моменты запуска таких отчётов и выявить слабое место.

Выбор пал на Java Melody.
Прикрутить оказалось делом не сложным.
1. Скачиваем 2 JAR файла (jrobin-1.5.14.jar и javamelody-1.48.0.jar) последние версии легко гуглятся.
2. Кладём указанные файлы в каталог WEB_INF/lib JasperServer'а
3. Добавляем в WEB_INF/web.xml следующие строки:

<!-- Begin JavaMelody -->
    <filter>
        <filter-name>monitoring</filter-name>
        <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>monitoring</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <listener>
        <listener-class>net.bull.javamelody.SessionListener</listener-class>
    </listener>
<!-- End JavaMelody -->

4. Перегружаем сервер и переходим на добавленную страницу monitoring:
http://[адрес сервера]:[порт сервера]/jasperserver/monitoring

По итогам было выяснено, что узким местом являлся размер java heap space.

Комментариев нет:

Отправить комментарий