在 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
前缀后面的部分表示该请求是由 ID 为 edf84fe0-e1a0-11e7-b6d5-4dc382ef7f5b
的 仪表板 以及 ID 为 cb099a20-ea66-11eb-9425-113343a037e3
的 Vega 可视化触发的。
如果提供的信息不足以识别需要调整其参数的可视化,您可以配置 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" }, }