使用应用程序数据的跨集群搜索
Elastic Stack
Elastic APM 利用 Elasticsearch 的跨集群搜索功能。跨集群搜索允许您针对一个或多个远程集群运行单个搜索请求 — 从而可以轻松地跨多个源搜索 APM 数据。这意味着您还可以为每个数据类型进行部署,使规模调整更具可预测性,并在管理多个可观察性用例时获得更好的性能。
步骤 1. 设置远程集群。
如果您使用的是 Elastic Cloud Hosted,请参阅启用跨集群搜索。
要在 Kibana 中直接添加远程集群,请在全局搜索字段中找到 Remote Clusters
。您只需要远程集群的名称和种子节点。请记住远程集群的名称,您将在第二步中需要它们。有关设置过程的详细信息,请参阅管理远程集群。
或者,您可以在 Elasticsearch 的elasticsearch.yml
文件中配置远程集群。
步骤 2. 编辑默认的应用程序 UI 数据视图。
应用程序 UI 数据视图确定要显示来自哪些集群和索引的数据。数据视图遵循此约定:<cluster-name>:<index-pattern>
。
要显示来自所有远程集群和本地集群的数据,请复制默认值并在前面加上 *:
。例如,错误索引的默认数据视图是 logs-apm*,apm*
。要添加所有远程集群,请将其更改为 *:logs-apm*,*:apm*,logs-apm*,apm*
您还可以指定要显示数据的特定集群,例如 cluster-one:logs-apm*,cluster-one:apm*,logs-apm*,apm*
。
有两种方法可以编辑默认数据视图
- 在应用程序 UI 中 — 在主菜单中找到 Applications,或使用全局搜索字段。转到 设置 → 索引,然后更改所有
xpack.apm.indices.*
值以包含远程集群。 - 在
kibana.yml
— 更新xpack.apm.indices.*
配置值以包含远程集群。
在跨集群搜索 (CCS) 环境中,不同的集群可能会在响应中提供不同的数据层。如果请求的集群之一响应缓慢,则可能导致代理在 320 秒后超时。这会导致 502 Bad Gateway 服务器错误响应,这些响应在 UI 中显示为失败的 toast 消息,并且没有加载数据。
为防止这种情况,您可以排除可能减慢搜索响应速度的数据层:data_frozen
和 data_cold
层。要从 APM UI 中的搜索中排除数据层
- 要打开 高级设置,请在主菜单中找到 Stack Management 或使用全局搜索字段。
- 在 Observability 部分中,使用数据层列表更新 从搜索中排除的数据层 选项。