在Solr 4中配置运行状况检查

时间:2013-10-08 13:15:47

标签: solr solr4 solrcloud

如何配置健康检查?

Solr 4中的Healthcheck文件是什么?它是如何使用的?我正在配置Solr Cloud并找到该文件的引用,该文件应该在那里,但没有找到任何示例配置。

非常感谢任何关于如何使用它的链接/文章/示例。

由于

1 个答案:

答案 0 :(得分:7)

<强>概述

以下是PingRequestHandler Documentation

对PingRequestHandler / HealthCheck的详细解释
  

Ping请求处理程序,用于向负载均衡器报告SolrCore运行状况。

     

此处理程序旨在用作HTTP负载均衡器的端点,以便在检查Solr服务器的“运行状况”或“运行状态”时使用。

     

在最简单的形式中,PingRequestHandler应该配置一些默认值,指示应该执行的请求。如果请求成功,则PingRequestHandler将以简单的“OK”状态响应。如果请求失败,则PingRequestHandler将使用相应的HTTP错误代码进行响应。可以将客户端(例如负载平衡器)配置为轮询PingRequestHandler监视这些类型的响应(或简单连接失败),以了解Solr服务器是否存在问题。

     

可用的更高级选项是使用“healthcheckFile”配置处理程序,该程序可用于启用/禁用PingRequestHandler。   此运行状况检查文件功能可用作向某些负载均衡器指示服务器应“从轮换中移除”以进行维护,升级或任何您希望的原因的方法。

<强>配置

来自Solr Reference Guide - Major Changes from Solr 3 to Solr 4

  

PingRequestHandler不再在solrconfig.xml的(legacy)部分中查找选项。如果要利用此功能,请直接在PingRequestHandler上配置healthcheckFile初始化参数。作为此更改的一部分,已修复相对文件路径以针对数据目录解析。示例solrconfig.xml有一个此配置的示例。

以下是sample solrconfig.xml的相关部分:

  <!-- ping/healthcheck -->
  <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
    <lst name="invariants">
      <str name="q">solrpingquery</str>
    </lst>
    <lst name="defaults">
      <str name="echoParams">all</str>
    </lst>
    <!-- An optional feature of the PingRequestHandler is to configure the 
         handler with a "healthcheckFile" which can be used to enable/disable 
         the PingRequestHandler.
         relative paths are resolved against the data dir 
      -->
    <!-- <str name="healthcheckFile">server-enabled.txt</str> -->
  </requestHandler>

使用示例

示例用法最好描述为上面概述部分中PingRequestHandler文档下的高级选项(最后一段)。我在他们描述的场景中使用了这个设置,我们有两个Solr服务器,我们想要进行负载平衡。通过启用healthcheckFile,我们可以从Solr Admin页面控制Solr服务器是否响应ping请求。当文件存在时,它将响应ping请求,当文件不存在时,它将不响应。健康检查部分下的核心概述页面上将显示启用/禁用Ping按钮。请参见下面的屏幕截图:

Admin Page Ping Button