Как проверить использование памяти кучи и версию tomcat в одной команде с check_jmx4perl и nagios

Мы используем Jolokia и jmx4perl для мониторинга экземпляров tomcat с помощью Nagios. В настоящее время мы используем следующее определение команды:

define command {
 command_name         check_tomcat
 command_line         $USER3$/check_jmx4perl \
                          --url $ARG1$ \
                          --mbean java.lang:type=Memory \
                          --attribute HeapMemoryUsage \
                          --path used \
                          --base java.lang:type=Memory/HeapMemoryUsage/max \
                          --label "Heap-Memory: %.2r% used (%.2v %u / %.2b %w)" \
                          --warning 80 --critical 90
}

... что дает нам хороший вывод, как это в Nagios:

OK - Heap-Memory: 37.93% used (295520640 / 779091968)

В идеальном мире я также хотел бы получить версию Tomcat следующим образом:

OK - Tomcat 7.0.68 - Heap-Memory: 37.93% used (295520640 / 779091968)

Можно ли это сделать с помощью одной команды или мне понадобятся 2 определения команд и 2 определения служб?

Спасибо,

1 ответ

Во-первых, можно проверить tomcat с помощью пользовательской конфигурации. В этой конфигурации будут ваши команда и служба для проверки tomcat. Затем вы можете прочитать этот файл cfg следующим образом.

--config /etc/nagios/check_jmx4perl/tomcat.cfg
                --server servername \
                --check tc_servlet_requests \
                --critical 1000 \
                servletname

Чтобы написать команду и службу в одном файле конфигурации. Просто напишите определение команды, а затем определение службы этой команды. Также убедитесь, что файл.cfg имеет привилегии root.

Jmx4Perl предоставляет альтернативный способ доступа к интерфейсам управления Java JEE Server, основанным на JMX (Java Management Extensions). Это агентный подход, при котором небольшое веб-приложение Java, развернутое на сервере приложений, обеспечивает доступ на основе HTTP/JSON к компонентам JMX MBeans, зарегистрированным на сервере приложений.

КАК ЭТО УСТРОЕНО

Для режима агента на сервере приложений Java необходимо развернуть небольшую WAR агента Java (веб-архив). Этот агент предоставлен проектом Jolokia (www.jolokia.org). Нет необходимости добавлять какие-либо параметры запуска на сервер приложений и открывать любые дополнительные порты. Модуль Perl JMX::Jmx4Perl получает доступ к развернутому сервлету агента и преобразует результаты запроса из JSON в простой объект Perl.

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