如何在Elasticsearch集群中捕获Java客户端请求失败日志?
如何在Elasticsearch日志中捕获Java客户端的失败详情
你之前调整的logger.org.elasticsearch.discovery是集群节点发现相关的日志类别,和客户端请求处理无关,所以无法捕获客户端的失败详情。可以通过以下几种方式调整:
调整客户端请求相关的核心日志级别
针对HTTP请求处理、REST接口、请求动作执行这些核心路径开启DEBUG日志,覆盖客户端请求的接收、处理全流程:PUT /_cluster/settings { "persistent": { "logger.org.elasticsearch.http": "DEBUG", "logger.org.elasticsearch.rest": "DEBUG", "logger.org.elasticsearch.action": "DEBUG" } }开启传输层追踪日志
如果客户端和节点之间的传输层有异常(比如连接中断、数据包错误),开启TRACE级别的传输追踪日志可以捕获细节:PUT /_cluster/settings { "persistent": { "logger.org.elasticsearch.transport.tracer": "TRACE" } }启用索引级别的慢/失败请求日志
针对搜索、索引类请求,开启慢日志(失败请求也会被记录),可以精准定位到具体索引的请求问题:PUT /_all/_settings { "index.search.slowlog.level": "debug", "index.indexing.slowlog.level": "debug" }同步排查客户端侧日志
若ES节点日志始终无记录,可能是请求根本没到达节点(比如客户端连接超时、序列化错误),此时要确保Java客户端自身的日志级别调至DEBUG,排查客户端发送请求时的本地异常。
内容的提问来源于stack exchange,提问作者Roopendra
相关产品推荐
相关产品推荐

