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

Kru*_*odi 1 solr solrcloud solr4

如何配置健康检查?

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

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

谢谢

Pai*_*ook 7

概观

以下是对PingRequestHandler文档中 PingRequestHandler/HealthCheck的详细解释

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

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

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

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

组态

Solr参考指南 - 从Solr 3到Solr 4的主要变化

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

以下是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>
Run Code Online (Sandbox Code Playgroud)

示例用法

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

管理页面Ping按钮