首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用check_jmx4perl和nagios在一个命令中检查堆内存使用情况和tomcat版本

如何使用check_jmx4perl和nagios在一个命令中检查堆内存使用情况和tomcat版本
EN

Stack Overflow用户
提问于 2016-09-15 20:57:47
回答 1查看 1.8K关注 0票数 0

我们使用Jolokia和jmx4perl通过Nagios来监控tomcat实例。我们目前使用的命令定义如下:

代码语言:javascript
复制
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中提供了一个很好的输出:

代码语言:javascript
复制
OK - Heap-Memory: 37.93% used (295520640 / 779091968)

在理想情况下,我也希望获得Tomcat版本,如下所示:

代码语言:javascript
复制
OK - Tomcat 7.0.68 - Heap-Memory: 37.93% used (295520640 / 779091968)

这可以用一个命令来完成吗?或者我需要两个命令定义和两个服务定义?

谢谢,

EN

回答 1

Stack Overflow用户

发布于 2016-09-16 21:38:34

首先,是,可以检查tomcat与您的自定义configration.That配置,将有您的命令和服务检查tomcat.Then,您可以像这样读取cfg文件。

代码语言:javascript
复制
--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对象。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39511636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档