我是一个多年的开发者,但是没有很多经验,所以如果这是一个新的问题,请道歉。
在我的公司,我们运行一个以Java编写的Web服务,主要基于Tomcat Web服务器。 我们有两个数据中心,每个数据中心大约有10个主机。 主机有几种types:Dababase,Tomcats,一些脱机java进程,memcached服务器。 所有主机都是Linux CentOS
直到现在,当发布一个新版本到生产版本时,我们一直在使用一套内部shell脚本来复制战争/战争,并重新启动tomcats。
公司规模越来越大,从事开发,QA,升级到生产等各个环节的工作越来越困难。 一个典型的发行很多时候涉及到人为错误,这使我们的宝贵的正常运行时间。 有时我们需要恢复到最后一个已知的好处,这是不容易的…
我们正在寻找一个工具,一个框架,一个解决scheme,将提供以下内容:
谁能分享他们的经验? build议一些工具?
谢谢!
免责声明,我是Zenoss社区经理。
除了configurationpipe理之外, Zenoss还涵盖了所有要点,但是您可以将其与其他系统结合使用。
我肯定会推荐从SpringSource尝试TC服务器 。 它使得pipe理和诊断企业中的Tomcat实例变得轻而易举,并且可以从参与Tomcat项目的人员那里得到很大的支持。 这一切都带有价格标签,虽然.. 🙁
那么,至less有一部分,你可以使用Java自己的jVisualVM。
它包含在每个JDK java安装中
只要看看lib文件夹,就在那里。
我听说Hyperic适合Java应用程序。
没有个人经验,对不起。
Splunk + Nagios + Nagios JMX插件或Log4j可能是一个很好的select
此外,结帐MuleSoft Tcat服务器 ,为Tomcat提供了一个易于使用的部署,configurationpipe理,可靠的重新启动和诊断。
免责声明:我为MuleSoft工作。
对于configurationpipe理, Chef是一个很好的工具,可以在不同types的Linux服务器上configuration各个方面,也可以用来pipe理应用程序的configuration和可能的部署。 我强烈build议使用厨师或类似的东西(木偶等)来pipe理你的服务器。
也可以考虑Hudson之类的东西,你可以用它来进行持续集成(每次有人对源代码进行修改时都可以构build和运行自动化testing),也可以用来将应用程序的构build部署到服务器上(开发,舞台,等等。)。 它需要与脚本(Ant,Maven,shell等)结合使用来实际部署软件,但这是一个难题。
我感兴趣的东西,但还没有挖掘到自己是云工具 ,这是一个自动化应用程序部署到Tomcat / MySQL堆栈的工具集。 它旨在用于IaaS云(例如Amazon EC2),但也应该可以在普通服务器上使用,也可以使用一点点的润滑脂。 主要的潜在缺点是,目前似乎还没有很积极的发展。
为了在单个tomcat上进行监控和部署, psi探针是一个可行的解决scheme。 这是Lambda探针的一个分支。
为了监控漏洞基础设施,我同意Nagios的答案。
jVisualVM的替代品是jconsole,也是JDK的一部分。
为了pipe理漏洞基础设施,我认为无论是用bash,perl,ant,puppet manifest还是其他的东西写的自定义脚本都是没有办法的。 但你可以隐藏他们的复杂背后的工具,如已经提到的哈德森,木偶,cfengine,厨师,…