logging - Elasticsearch日志说明

标签 logging request elasticsearch

我为我的Elasticsearch服务器启用了慢日志,以查看其上的流量。
这是一些示例输出:

[2013-07-23 06:10:45,213][WARN ][index.search.slowlog.query] [Afari, Jamal] [index_3559_schema1][4] took[107.5micros], took_millis[0], types[some_type], stats[], search_type[QUERY_THEN_FETCH], total_shards[195], source[{"query":{"query_string":{"query":"*"}},"from":0,"size":"24","sort":{"updated_at":"desc"}}], extra_source[],
[2013-07-23 06:10:45,214][WARN ][index.search.slowlog.query] [Afari, Jamal] [index_3559_schema1][3] took[155.6micros], took_millis[0], types[some_type], stats[], search_type[QUERY_THEN_FETCH], total_shards[195], source[{"query":{"query_string":{"query":"*"}},"from":0,"size":"24","sort":{"updated_at":"desc"}}], extra_source[],
[2013-07-23 06:10:45,214][WARN ][index.search.slowlog.query] [Afari, Jamal] [index_3559_schema1][2] took[107.7micros], took_millis[0], types[some_type], stats[], search_type[QUERY_THEN_FETCH], total_shards[195], source[{"query":{"query_string":{"query":"*"}},"from":0,"size":"24","sort":{"updated_at":"desc"}}], extra_source[],
...
[2013-07-22 15:10:45,260][WARN ][index.search.slowlog.fetch] [Afari, Jamal] [index_42044_schema1][3] took[85.3micros], took_millis[0], types[some_type], stats[], search_type[QUERY_THEN_FETCH], total_shards[195], source[{"query":{"query_string":{"query":"*"}},"from":0,"size":"24","sort":{"updated_at":"desc"}}], extra_source[],

这些行中的每一行都意味着(index_3559_schema1, index_3559_schema1, index_3559_schema1)我有一个单独的HTTP请求吗?
index.search.slowlog.queryindex.search.slowlog.fetch有什么区别?

最佳答案

慢日志在分片级别上不引用http请求,而是引用查询。这意味着,如果您查询由5个分片组成的索引,则在日志中将有5个相同查询的条目,每个分片一个,具有不同的分片ID,即索引名后立即显示的数字。这样,您可以监视每个分片的每个查询的执行情况。

提取线指的是提取阶段。默认情况下,使用query_then_fetch search type,这意味着如果查询由5个主分片组成的索引(我们假设使用0个副本来简化它),则将对每个分片执行查询,该查询仅返回相关信息,例如文档ID及其分数。然后,您用搜索请求命中的节点将减少这些结果,以便仅返回顶部结果。在标识需要返回哪些文档的化简部分之后,然后仅从其分片中获取那些相关文档。那就是您在慢日志中看到提取阶段的时候。

关于logging - Elasticsearch日志说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17802583/

相关文章:

elasticsearch - 尝试索引文档时出现错误 : "only value lists are allowed in serialized settings"

c++ - 异步控制台输出

javascript - 在 JWPlayer 中禁用控制台日志记录

logging - 如何使用 core.async 在 Clojure 中写入日志文件?

javascript - NodeJS,请求- promise 并不互相等待

swift - Alamofire 请求已取消 (-999)

elasticsearch - 为什么Elasticsearch术语存储桶大小会影响内部反向嵌套聚合的doc_count?

go - 具有自定义消息编码器的 Uber zap 日志记录

javascript - 从 Angular 应用程序调用nodejs中的函数

java - elasticsearch 在同时进行更新和搜索时需要时间