Elasticsearch不再记录缓慢的查询日志

4

我之前已经把这个搞定了,但不确定后来发生了什么。

在我的elasticsearch.yml文件中,唯一取消注释并更新的内容如下:

index.search.slowlog.threshold.query.warn: 1ms
index.search.slowlog.threshold.query.info: 1ms
index.search.slowlog.threshold.query.debug: 1ms
index.search.slowlog.threshold.query.trace: 1ms

我的logging.yml设置如下:

es.logger.level: INFO

我尝试将该值更改为“DEBUG”和“TRACE”,但仍然无法工作。 是的,我已经重新启动了我的Elasticsearch实例(多次)。 我错过了什么吗?

你能分享一下你的版本和整体配置吗?包括节点数量、索引/分片/文档的大致数量。另外,当你说它不再记录慢查询时,日志文件已经存在吗?它是空的吗? - John Petrone
当然 - 目前这只是一个本地测试环境。所以我只在我的机器上运行elasticsearch。我有6个索引(其中一个正在使用,其他是marvel),1个节点,100k个文档,317mb的数据,10个分片,CPU不足,RAM正在运行热(利用了8GB总共7GB)。该文件不存在。奇怪的是:它曾经存在。我只是无法让它创建新的文件(每天应该创建新的文件)。 - bigerock
你好,你最终解决了这个问题吗?我在从1.3迁移到1.4时遇到了同样的问题。谢谢。 - Stefano Altieri
我相信当我将原帖中的值更改为-1时,它可以正常工作。 - bigerock
1个回答

2

我建议你尝试添加/更改logging.yml文件,内容如下:

additivity:
  index.search.slowlog: true
  index.indexing.slowlog: true

它们通常都默认为false。

我建议您也尝试设置提取阈值:

index.search.slowlog.threshold.fetch.warn: 1ms
index.search.slowlog.threshold.fetch.info: 1ms
index.search.slowlog.threshold.fetch.debug: 1ms
index.search.slowlog.threshold.fetch.trace: 1ms

最后,我建议将所有时间设置为0ms而不是1ms。这样可以记录所有内容。

John,我试了你的建议,重新启动了elasticsearch并尝试再次运行查询。仍然没有创建新的慢日志文件。有一个空文件一直存在,并且似乎被elasticsearch使用(因为我无法更改它),名为elasticsearch_index_search_slowlog.log。但我相信我要找的那个文件是带有日期的(当然不是空的)。仍然不确定发生了什么,因为之前是可以的!奇怪。 - bigerock
你能把你的logging.yml文件添加到问题中吗?并展示elasticsearch.yml中所有未被注释的行吗? - John Petrone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接