检查tomcat服务器状态

时间:2015-01-21 21:04:06

标签: tomcat plugins status nagios

当我在安装/运行tomcat服务器的linux平台上运行以下命令时,我得到应用服务器的足迹正在运行。请参阅附件。

ps -ef | grep tomcat

但是,我对如何解释它并不太了解。如果服务器关闭,那么我会得到我刚刚运行的命令。

[update]我正在搜索Nagios插件以检查tomcat服务器的状态。

enter image description here

3 个答案:

答案 0 :(得分:1)

如果您真的想要监控Tomcat,请查看Tomcat's monitoring FAQ

基本上,你想要做的是使用JMX连接到你的JVM,然后你可以观察各种各样的好东西:堆使用,类加载,线程利用等.Tomcat暴露了大量与Tomcat相关的东西通过JMX的信息。

如果JMX本身是非启动程序(连接到JMX服务器可能并不重要,那么定期执行它意味着您必须每分钟左右启动一个JVM才能获取一个值的一个样本。 ..例如会话计数),那么你可以使用Tomcat的JMXProxyServlet,它为JMX树提供了一个友好的HTTP接口,你可以使用像curl这样的工具和其他运行很多的命令行比启动Java VM更快。

存在一个Perl脚本check_jmxproxy.pl,可以与Tomcat的JMXProxyServlet一起使用来检查Nagios / Ichinga等样本,或者可能适用于您使用的任何监控软件。

答案 1 :(得分:0)

我还不能发表评论。所以这可能不是一个完全合格的答案。

你应该看看Jolokia。 Jolokia是一个基于HTTP的JMX桥。意味着您在Tomcat上部署Jolokia战争,Jolokia将通过HTTP为您提供有关Tomcat上已部署应用程序的状态信息。

http://www.jolokia.org/

一旦你部署了Jolokia,就可以使用Nagios插件check_jmx4perl来监控你的tomcat。

http://search.cpan.org/~roland/jmx4perl/scripts/check_jmx4perl

它可以让您更好地监控您的tomcat。由于Jolokia桥部署在Tomcat上,因此检查还涵盖了Tomcat进程的状态。一旦Tomcat完成,Jolokia将不再获取数据,检查将发出警告。

答案 2 :(得分:0)

这是Ruby中的一个简单脚本(我用它来检查Jetty状态):

#!/bin/ruby

def log(message)
  time = Time.now.strftime("%m/%d/%Y at %I:%M%p")
  File.open("/foo/scripts/jetty-watch.log", 'a') do |file|
    file.write "#{time} - #{message}"
    file.write "\n"
  end
end

jetty_on = %x( pgrep -f solr)
unless jetty_on != ""
  log("down....")
  %x( /etc/init.d/jetty start ) #start
end
相关问题