当我在安装/运行tomcat服务器的linux平台上运行以下命令时,我得到应用服务器的足迹正在运行。请参阅附件。
ps -ef | grep tomcat
但是,我对如何解释它并不太了解。如果服务器关闭,那么我会得到我刚刚运行的命令。
[update]我正在搜索Nagios插件以检查tomcat服务器的状态。
答案 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上已部署应用程序的状态信息。
一旦你部署了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