2011-07-19 113 views
7

我正在运行从solr服务器获取搜索结果的应用程序。但是当服务器没有运行时,服务器没有收到任何回应。有什么办法可以发现我的服务器没有运行,所以我可以给出适当的错误信息如何查找solr服务器是否正在运行

回答

0

您应该使用类似Nagios的东西来监视您的硬件状态。 Nagios也有一个不错的plugin for solr,可以帮助你。

+0

如果Nagios试图在他的前端处理这个问题(错误消息),他不会真的帮到那么多。 –

+0

以及他没有指定太多,nagios是我能想到的最独立的解决方案。 –

1

如果服务器没有及时(SOLR)是,那么你应该考虑代表它是下来,不管它是或不存在的错误消息响应(即其花费很长的时间,因为它的过载) 。如果它需要永久加载它的用户:)

大多数solr客户端有一个超时和某种错误回调。如果超时发生,那么你显示错误。

如果你想知道服务器关闭很快,你可以把一个JSP放在solr上,它什么都不做,只是打印出一条消息。然后做一个HTTP GET到JSP,如果它没有很快出现,那么服务器就关闭了。

+0

我认为,从客户端来看,超时方法比定期ping服务器更明智。 –

9

您可以定期ping您的服务器(例如http://localhost:8983/solr/admin/ping),并在错误的情况下,此消息传递到前端...

+0

:我应该如何ping通solr服务器通过代码库,以便我得到错误。 – Romi

+0

您的编程语言可能有一些工具可以定期运行(例如http://www.quartz-scheduler.org for Java ...)然后,只需发送一个GET请求到ping URL并处理HTTP状态响应相应... –

+0

我知道这是一个较旧的答案,但它不再适用于最新的Solr。 – Marc

0

如果你有SolrServer对象,只需调用SolrServer.ping()如果不能则抛出异常建立连接。

相关问题