elasticsearch 添加requestTimeout会导致Kibana在启动时失败
我正在尝试使用Elasticsearch Kibana Logstash来处理web日志文件 有些查询需要一些时间,Kibana会很快超时,所以我想增加Kibana等待elasticsearch响应的时间。经过一点搜索,我找到了一些设置elasticsearch 添加requestTimeout会导致Kibana在启动时失败,elasticsearch,kibana,elasticsearch,Kibana,我正在尝试使用Elasticsearch Kibana Logstash来处理web日志文件 有些查询需要一些时间,Kibana会很快超时,所以我想增加Kibana等待elasticsearch响应的时间。经过一点搜索,我找到了一些设置elasticsearch.requestTimeout的建议。我试图通过将以下内容添加到kibana.yml文件来增加超时: elasticsearch.requestTimeout: 5000 这会导致Kibana在启动时立即失败,并出现以下错误: kibs
elasticsearch.requestTimeout
的建议。我试图通过将以下内容添加到kibana.yml文件来增加超时:
elasticsearch.requestTimeout: 5000
这会导致Kibana在启动时立即失败,并出现以下错误:
kibserver_1 | FATAL { Error: Payload timeout must be shorter than socket timeout: POST /elasticsearch/{index}/_search
kibserver_1 | at Object.exports.assert (/usr/share/kibana/node_modules/hoek/lib/index.js:736:11)
kibserver_1 | at new module.exports.internals.Route (/usr/share/kibana/node_modules/hapi/lib/route.js:69:10)
kibserver_1 | at internals.Connection._addRoute (/usr/share/kibana/node_modules/hapi/lib/connection.js:387:19)
kibserver_1 | at internals.Connection._route (/usr/share/kibana/node_modules/hapi/lib/connection.js:379:18)
kibserver_1 | at internals.Plugin._apply (/usr/share/kibana/node_modules/hapi/lib/plugin.js:572:14)
kibserver_1 | at internals.Plugin.route (/usr/share/kibana/node_modules/hapi/lib/plugin.js:542:10)
kibserver_1 | at createProxy (/usr/share/kibana/src/core_plugins/elasticsearch/lib/create_proxy.js:85:14)
kibserver_1 | at ScopedPlugin.init [as externalInit] (/usr/share/kibana/src/core_plugins/elasticsearch/index.js:110:37)
kibserver_1 | at ScopedPlugin.tryCatcher (/usr/share/kibana/node_modules/bluebird/js/main/util.js:26:23)
kibserver_1 | at Promise.attempt.Promise.try (/usr/share/kibana/node_modules/bluebird/js/main/method.js:30:24)
kibserver_1 | at /usr/share/kibana/src/server/plugins/plugin.js:196:46
kibserver_1 | at next (native)
kibserver_1 | at step (/usr/share/kibana/src/server/plugins/plugin.js:25:191)
kibserver_1 | at /usr/share/kibana/src/server/plugins/plugin.js:25:361
kibserver_1 | cause:
kibserver_1 | Error: Payload timeout must be shorter than socket timeout: POST /elasticsearch/{index}/_search
kibserver_1 | at Object.exports.assert (/usr/share/kibana/node_modules/hoek/lib/index.js:736:11)
kibserver_1 | at new module.exports.in how to resolternals.Route (/usr/share/kibana/node_modules/hapi/lib/route.js:69:10)
kibserver_1 | at internals.Connection._addRoute (/usr/share/kibana/node_modules/hapi/lib/connection.js:387:19)
kibserver_1 | at internals.Connection._route (/usr/share/kibana/node_modules/hapi/lib/connection.js:379:18)
kibserver_1 | at internals.Plugin._apply (/usr/share/kibana/node_modules/hapi/lib/plugin.js:572:14)
kibserver_1 | at internals.Plugin.route (/usr/share/kibana/node_modules/hapi/lib/plugin.js:542:10)
kibserver_1 | at createProxy (/usr/share/kibana/src/core_plugins/elasticsearch/lib/create_proxy.js:85:14)
kibserver_1 | at ScopedPlugin.init [as externalInit] (/usr/share/kibana/src/core_plugins/elasticsearch/index.js:110:37)
kibserver_1 | at ScopedPlugin.tryCatcher (/usr/share/kibana/node_modules/bluebird/js/main/util.js:26:23)
kibserver_1 | at Promise.attempt.Promise.try (/usr/share/kibana/node_modules/bluebird/js/main/method.js:30:24)
kibserver_1 | at /usr/share/kibana/src/server/plugins/plugin.js:196:46
kibserver_1 | at next (native)
kibserver_1 | at step (/usr/share/kibana/src/server/plugins/plugin.js:25:191)
kibserver_1 | at /usr/share/kibana/src/server/plugins/plugin.js:25:361,
kibserver_1 | isOperational: true }
kibserver|u 1 |致命{错误:有效负载超时必须小于套接字超时:POST/elasticsearch/{index}/_search
kibserver_1| at Object.exports.assert(/usr/share/kibana/node_modules/hoek/lib/index.js:736:11)
kibserver_1|位于new module.exports.internal.Route(/usr/share/kibana/node_modules/hapi/lib/Route.js:69:10)
kibserver_1 |位于internal.Connection._addRoute(/usr/share/kibana/node_modules/hapi/lib/Connection.js:387:19)
kibserver|1|位于内部。连接。|路由(/usr/share/kibana/node_modules/hapi/lib/Connection.js:379:18)
kibserver_1| at internal.Plugin._apply(/usr/share/kibana/node_modules/hapi/lib/Plugin.js:572:14)
kibserver_1| at internals.Plugin.route(/usr/share/kibana/node_modules/hapi/lib/Plugin.js:542:10)
kibserver_1|位于createProxy(/usr/share/kibana/src/core_plugins/elasticsearch/lib/create_proxy.js:85:14)
kibserver_1|位于ScopedPlugin.init[作为外部单位](/usr/share/kibana/src/core_plugins/elasticsearch/index.js:110:37)
kibserver_1|位于ScopedPlugin.tryCatcher(/usr/share/kibana/node_modules/bluebird/js/main/util.js:26:23)
kibserver_1| at Promise.try.Promise.try(/usr/share/kibana/node_modules/bluebird/js/main/method.js:30:24)
kibserver|u 1| at/usr/share/kibana/src/server/plugins/plugin.js:196:46
kibserver_1|在下一个(本机)
kibserver_1 |在步骤(/usr/share/kibana/src/server/plugins/plugin.js:25:191)
kibserver|u 1| at/usr/share/kibana/src/server/plugins/plugin.js:25:361
kibserver_1|原因:
kibserver_1|错误:有效负载超时必须小于套接字超时:POST/elasticsearch/{index}/_search
kibserver_1| at Object.exports.assert(/usr/share/kibana/node_modules/hoek/lib/index.js:736:11)
kibserver_1|位于new module.exports.in how to resolternals.Route(/usr/share/kibana/node_modules/hapi/lib/Route.js:69:10)
kibserver_1 |位于internal.Connection._addRoute(/usr/share/kibana/node_modules/hapi/lib/Connection.js:387:19)
kibserver|1|位于内部。连接。|路由(/usr/share/kibana/node_modules/hapi/lib/Connection.js:379:18)
kibserver_1| at internal.Plugin._apply(/usr/share/kibana/node_modules/hapi/lib/Plugin.js:572:14)
kibserver_1| at internals.Plugin.route(/usr/share/kibana/node_modules/hapi/lib/Plugin.js:542:10)
kibserver_1|位于createProxy(/usr/share/kibana/src/core_plugins/elasticsearch/lib/create_proxy.js:85:14)
kibserver_1|位于ScopedPlugin.init[作为外部单位](/usr/share/kibana/src/core_plugins/elasticsearch/index.js:110:37)
kibserver_1|位于ScopedPlugin.tryCatcher(/usr/share/kibana/node_modules/bluebird/js/main/util.js:26:23)
kibserver_1| at Promise.try.Promise.try(/usr/share/kibana/node_modules/bluebird/js/main/method.js:30:24)
kibserver|u 1| at/usr/share/kibana/src/server/plugins/plugin.js:196:46
kibserver_1|在下一个(本机)
kibserver_1 |在步骤(/usr/share/kibana/src/server/plugins/plugin.js:25:191)
kibserver|u 1| at/usr/share/kibana/src/server/plugins/plugin.js:25:361,
kibserver_1 |等操作:真}
这件事使我困惑。在ElasticSearch文档中,我似乎找不到任何关于“有效负载超时”的引用。我的网络搜索表明这可能来自hapijs,但我不确定如何解决这个问题。有人知道吗
(Kibana、ElasticSearch和Logstash都是v6.1.0)我认为问题在于您将超时设置为太小的值,以毫秒为单位,默认值为30000(请参阅):
elasticsearch.requestTimeout
:
默认值:30000等待后端或Elasticsearch响应的时间(毫秒)。此值必须是正整数
可能的情况是,
elasticsearch.requestTimeout
用于设置hapijs中的套接字超时,因为负载超时的默认值似乎是10秒():
route.options.payload.timeout
默认值:至10000(10秒)
当检查有效负载超时是否短于套接字超时时,它将失败。但这只是一个假设,我在Kibana的代码中找不到任何证据 真尴尬。我有一个“0不足”错误。脸红得很好,谢谢你指出这一点!我想稍后我可能会尝试调整
route.options.paylout.timeout
,看看它能做什么(我猜这需要在elasticsearch设置中完成,但我认为在这一点上没有必要)。带有route.options.paylout.timeout的部分试图解释错误的来源,在配置和错误消息之间。