2

如何配置健康检查?

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

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

4

1 回答 1

8

概述

这是PingRequestHandler 文档中 PingRequestHandler/HealthCheck 的一个很好的解释

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

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

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

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

配置

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

PingRequestHandler 不再在 solrconfig.xml 的(旧版)部分中查找选项。如果您想利用此功能,请直接在 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>

示例用法

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

管理页面 Ping 按钮

于 2013-10-08T13:25:45.307 回答