我们使用Jolokia和jmx4perl通过Nagios来监控tomcat实例。我们目前使用的命令定义如下:
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)这可以用一个命令来完成吗?或者我需要两个命令定义和两个服务定义?
谢谢,
发布于 2016-09-16 21:38:34
首先,是,可以检查tomcat与您的自定义configration.That配置,将有您的命令和服务检查tomcat.Then,您可以像这样读取cfg文件。
--config /etc/nagios/check_jmx4perl/tomcat.cfg
--server servername \
--check tc_servlet_requests \
--critical 1000 \
servletname要在单个配置file.Just中编写命令和服务,请编写命令定义,后跟该command.Also的服务定义,确保.cfg文件具有根权限。
Jmx4Perl为访问基于JMX (Java管理扩展)的Java JEE服务器管理接口提供了另一种方法。它是一种基于代理的方法,其中部署在应用服务器上的小型Java Webapplication提供对应用服务器中注册的JMX MBeans的基于HTTP/JSON的访问。
IT的工作原理
对于代理模式,需要在Java应用服务器上部署一个小型Java agent WAR (web存档)。该代理由Jolokia项目(www.jolokia.org)提供。不需要向应用服务器添加任何启动参数,也不需要打开任何附加的Perl模块JMX::Jmx4Perl访问部署的代理servlet,并将请求结果从ports.The转换为简单的Perl对象。
https://stackoverflow.com/questions/39511636
复制相似问题