如何配置健康检查?
Solr 4 中的 Healthcheck 文件是什么?以及它是如何使用的?我正在配置 Solr Cloud 并找到了对这个文件的引用,它应该在那里,但没有找到任何示例配置。
任何关于如何使用它的链接/文章/示例都非常感谢。
概述
这是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 按钮。请看下面的截图: