我的问题与研究有关。
我们有弹性搜索处理各种任务,包括从远程客户端获取日志条目。问题是客户有时会超载弹性搜索。
有没有办法查询ES以获取运行时指标,例如最近n分钟内的查询数等等。我希望我们可以在负载增加时使用这些来限制客户端日志记录。
答案 0 :(得分:1)
可以通过查询indices stats获取每秒搜索和获取请求数量的数据。
有multiple tools提供弹性搜索监控,其中大多数是开源的。查看他们的源代码可能会有所帮助。
请注意,基于elasticsearch统计数据的客户端限制请求可能不是最佳解决方案,因为很难与可变数量的客户端协调。使用触发请求超时的断路器可能更加强大。
另外一个选项是在elasticsearch前设置反向代理。此外,与许多索引请求相关的一些问题可以通过在弹性搜索本身中限制合并操作的IO来解决,如here所述。
答案 1 :(得分:-1)
尝试使用LucidWorks SiLK - 它使用Solr,并且更具可扩展性。从这里下载:http://www.lucidworks.com/lucidworks-silk