追踪 Kibana 中的 Elasticsearch 查询到源头
编辑追踪 Kibana 中的 Elasticsearch 查询到源头编辑
有时 Elasticsearch 服务器可能会因执行昂贵的查询而变慢。此类查询会被记录到 Elasticsearch 的 搜索慢日志 文件中。但问题是:无法确定是什么触发了缓慢的搜索请求——是 Kibana 实例还是直接访问 Elasticsearch 端点的用户。为了简化此类问题的调查,搜索慢日志文件包含 x-opaque-id
标头,如果请求源自 Kibana,则该标头可能会提供有关请求的更多信息。
目前,Kibana 只能突出显示缓慢查询源自 Kibana 可视化、Lens、Discover、Maps 或 Alerting 的情况。
例如,如果对 Elasticsearch 的请求是由仪表板上的 Vega 可视化启动的,您将在慢日志中看到以下内容
"source": { "id": "c89d1ab3-b4a7-4920-a64a-22a910a413b0;kibana:application:dashboard:edf84fe0-e1a0-11e7-b6d5-4dc382ef7f5b;visualization:Vega:cb099a20-ea66-11eb-9425-113343a037e3" }
仔细查看字符串的格式。id 值以 c89d1ab3-b4a7-4920-a64a-22a910a413b0
开头,这是 Kibana 服务器设置的请求的唯一标识符。 kibana
前缀后的部分表示该请求是由 Dashboard 触发的,其 id 为 edf84fe0-e1a0-11e7-b6d5-4dc382ef7f5b
,Vega 可视化 id 为 cb099a20-ea66-11eb-9425-113343a037e3
。
如果提供的信息不足以识别要调整其参数的可视化,您可以配置 Kibana 日志以提供人类可读的描述和指向请求来源的链接
logging: loggers: - name: execution_context level: debug appenders: [console]
现在,您可以看到对 Elasticsearch 的请求是由嵌入在 [Logs] Web Traffic
仪表板中的 [Logs] Unique Visitor Heatmap
可视化启动的。您可以导航到提供的 URL 以更改可视化的某些参数。
[DEBUG][execution_context] stored the execution context: { "type": "application", "name": "dashboard", "id": "edf84fe0-e1a0-11e7-b6d5-4dc382ef7f5b", "description": "[Logs] Web Traffic","url":"/view/edf84fe0-e1a0-11e7-b6d5-4dc382ef7f5b" "child": { "type": "visualization", "name": "Vega", "id": "cb099a20-ea66-11eb-9425-113343a037e3", "description": "[Logs] Unique Visitor Heatmap", "url": "/app/visualize#/edit/cb099a20-ea66-11eb-9425-113343a037e3" }, }