如何查找solr服务器是否正在运行

如何查找solr服务器是否正在运行,solr,Solr,我正在运行一个从solr服务器获取搜索结果的应用程序。但当服务器不运行时,我没有从服务器得到任何响应。是否有任何方法可以发现我的服务器没有运行,这样我就可以给出相应的错误消息您可能应该使用类似的方法来监视硬件状态。NGIOS也有一个很好的帮助。 < P>如果服务器没有及时响应(SOLR),那么你应该考虑表示它是向下的,并呈现错误消息,不管它是否是(因为它过载了很长时间)。如果需要很长时间才能将其下载到用户:) 大多数solr客户端都有超时和某种类型的错误回调。如果发生超时,则显示错误 如果您想很

我正在运行一个从solr服务器获取搜索结果的应用程序。但当服务器不运行时,我没有从服务器得到任何响应。是否有任何方法可以发现我的服务器没有运行,这样我就可以给出相应的错误消息

您可能应该使用类似的方法来监视硬件状态。NGIOS也有一个很好的帮助。

< P>如果服务器没有及时响应(SOLR),那么你应该考虑表示它是向下的,并呈现错误消息,不管它是否是(因为它过载了很长时间)。如果需要很长时间才能将其下载到用户:)

大多数solr客户端都有超时和某种类型的错误回调。如果发生超时,则显示错误


如果您想很快知道服务器停机,可以在solr上放置一个JSP,它除了打印消息之外什么也不做。然后对JSP进行HTTP访问,如果它没有很快出现,则服务器关闭。

您可以定期ping服务器(例如
http://localhost:8983/solr/admin/ping
)并在出现错误时将该消息传递到前端…

如果您有
SolrServer
对象,只需调用
SolrServer.ping()
如果无法建立连接,它会引发异常。

似乎应该有一种简单的方法通过HTTP实现这一点,来自服务器的通用开/关响应将是理想的选择。除此之外,你可以做的一件事就是
GET
主机:port/solr
,如果你得到的是
200
以外的任何响应,那么就假设它已关闭。

如果Nagios试图在前端处理这个问题(错误消息),他不会真的有多大帮助。他没有具体说明太多,nagios是我所能想到的最独立的解决方案。注意:我应该如何通过代码库ping solr server以获得错误。您的编程语言可能有一些工具来安排定期运行的作业(例如,对于Java…)然后只需向ping URL发送GET请求并相应地处理HTTP状态响应……我知道这是一个较旧的答案,但它不再适用于最新的Solr。适用于最新的Solr。我认为,从客户端来看,超时方法比定期ping服务器更明智。