gpt4 book ai didi

elasticsearch - 添加requestTimeout会导致Kibana在启动时失败

转载 作者:行者123 更新时间:2023-12-02 22:57:16 27 4
gpt4 key购买 nike

我正在尝试使用Elasticsearch-Kibana-Logstash处理Web日志文件。

有些查询会花一些时间,而Kibana很快就会超时,所以我想增加Kibana等待来自Elasticsearch的响应的时间。经过一番搜索,我发现了一些设置elasticsearch.requestTimeout的建议。我试图通过将超时添加到我的kibana.yml文件中来增加超时:

elasticsearch.requestTimeout: 5000

这会导致Kibana在启动时立即失败,并显示以下错误:

kibserver_1 |致命{错误:有效负载超时必须短于套接字超时:POST / elasticsearch / {index} / _ search
kibserver_1 |在Object.exports.assert(/usr/share/kibana/node_modules/hoek/lib/index.js:736:11)
kibserver_1 |在新的module.exports.internals.Route(/usr/share/kibana/node_modules/hapi/lib/route.js:69:10)
kibserver_1 |在internals.Connection._addRoute(/usr/share/kibana/node_modules/hapi/lib/connection.js:387:19)
kibserver_1 |在internals.Connection._route(/usr/share/kibana/node_modules/hapi/lib/connection.js:379:18)
kibserver_1 |在internals.Plugin._apply(/usr/share/kibana/node_modules/hapi/lib/plugin.js:572:14)
kibserver_1 |在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 [作为externalInit](/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 |在Promise.attempt.Promise.try(/usr/share/kibana/node_modules/bluebird/js/main/method.js:30:24)
kibserver_1 |在/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_1 |在/usr/share/kibana/src/server/plugins/plugin.js:25:361
kibserver_1 |原因:
kibserver_1 |错误:有效负载超时必须短于套接字超时:POST / elasticsearch / {index} / _ search
kibserver_1 |在Object.exports.assert(/usr/share/kibana/node_modules/hoek/lib/index.js:736:11)
kibserver_1 |在新的module.exports.in中如何解析路由(/usr/share/kibana/node_modules/hapi/lib/route.js:69:10)
kibserver_1 |在internals.Connection._addRoute(/usr/share/kibana/node_modules/hapi/lib/connection.js:387:19)
kibserver_1 |在internals.Connection._route(/usr/share/kibana/node_modules/hapi/lib/connection.js:379:18)
kibserver_1 |在internals.Plugin._apply(/usr/share/kibana/node_modules/hapi/lib/plugin.js:572:14)
kibserver_1 |在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 [作为externalInit](/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 |在Promise.attempt.Promise.try(/usr/share/kibana/node_modules/bluebird/js/main/method.js:30:24)
kibserver_1 |在/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_1 |在/usr/share/kibana/src/server/plugins/plugin.js:25:361,
kibserver_1 | isOperational:true}

这使我感到困惑。我似乎在ElasticSearch文档中找不到对“有效负载超时”的任何引用。我的网络搜索表明这可能来自hapijs,但我不确定如何解决此问题。外面有人知道吗?

(Kibana,ElasticSearch和Logstash均为v 6.1.0)

最佳答案

我认为问题在于您将超时设置为一个太小的值,以毫秒为单位,默认值为30000(请参阅https://www.elastic.co/guide/en/kibana/6.1/settings.html):

elasticsearch.requestTimeout:

Default: 30000 Time in milliseconds to wait for responses from the back end or Elasticsearch. This value must be a positive integer.



可能的原因是 elasticsearch.requestTimeout用于在hapijs中设置套接字超时,并且由于有效负载超时的默认值似乎是10 s( from here):

route.options.payload.timeout

Default value: to 10000 (10 seconds).



当检查有效负载超时是否短于套接字超时时,它将失败。但这只是一个假设,我未能在Kibana的代码中找到任何证据。

关于elasticsearch - 添加requestTimeout会导致Kibana在启动时失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48117400/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com