首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >三个区域,三个 Kibana,统一视图:Elastic Synthetics 现已支持跨集群搜索

三个区域,三个 Kibana,统一视图:Elastic Synthetics 现已支持跨集群搜索

原创
作者头像
点火三周
发布于 2026-10-25 16:12:54
发布于 2026-10-25 16:12:54
1470
举报
文章被收录于专栏:Elastic Stack专栏Elastic Stack专栏

到目前为止,三个区域部署意味着需要打开三个浏览器标签页、使用三套凭证,并且每当有人询问全球结账状态时,都需要协调不同的心智模型。其实早在 Elastic Stack 9.5 中,合成监控(Synthetic Monitoring)就已支持跨集群搜索(Cross-cluster search,CCS)。来自每个已连接集群的监控器都会出现在同一个 Kibana 中,包含状态、旅程瀑布图、截图、错误和证书。无需复制任何数据;中央集群在查询时扩展索引表达式,并直接向每个远程集群发起请求,因此配置仍保留在其创建位置,每个集群依然拥有自己的监控器。

此功能仅适用于有状态(stateful)部署,不受 Elastic Cloud Serverless 支持。

面向合成监控的跨集群搜索为 Elasticsearch CCS 增加了什么

在 9.5 之前,Synthetics 和 CCS 并未集成。在 Elasticsearch 层连接集群时,您可以在 Discover 中获得原始 ping 数据,但无法在 Synthetics UI 中获得相应体验。Elastic 的站点可靠性工程(SRE)团队撰写了这一模式, 使用 CCS 在 150+ 集群之上构建统一管理视图,但该方案只适用于原始数据,而非 Synthetics 应用程序。

监控器定义属于 Kibana 保存对象,而这些对象不会跨集群传输。在 Elasticsearch 层打通 CCS 并不能让远程监控器出现在 Synthetics 应用中。您只能在 Discover 中获得原始数据,而无法获得任何 Synthetics UI 体验:没有状态卡片、旅程瀑布图、步骤截图或错误下钻。

对于保存对象上的原始 CCS,情况依然如此。9.5 中推出的是基于远程集群搜索构建的原生集成。该应用会搜索远程的 synthetics-* ping。它会标记出哪些内容来自远程,并在您需要修改某些内容时将您引导回源 Kibana。

远程监控器在 Synthetics UI 中的呈现方式

一旦配置了远程集群,它们的监控器就会与本地监控器一起出现在整个 Synthetics UI 中。

在概览页查找远程监控器

概览页面会将远程监控器与本地监控器内联展示,并在监控器类型徽章旁添加远程徽章。两个新增功能有助于导航:在现有的类型 / 位置 / 标签 / 频率过滤器旁,新增了远程集群过滤器,以及分组依据 → 远程集群选项。当远程集群过滤器激活时,本地监控器会被隐藏,状态计数仅反映过滤后的集合,这样您就可以一次专注于一个部署。

Elastic Synthetics Overview page in Kibana showing remote monitors with Remote badges and a Remote cluster filter
Elastic Synthetics Overview page in Kibana showing remote monitors with Remote badges and a Remote cluster filter

打开远程监控器详情页

监控器详情页对远程监控器的工作方式与本地监控器相同,包括概览、历史记录、错误、旅程运行、步骤详情、截图、网络瀑布图和时长图表。

远程监控器提示框会显示集群名称和源 Kibana URL,在远程集群上查看按钮可直接带您前往该监控器所在的原始实例。

Remote monitor callout on a Synthetics monitor detail page with the View on remote cluster button
Remote monitor callout on a Synthetics monitor detail page with the View on remote cluster button

在证书页面查看远程 TLS 证书

在远程集群上观察到的传输层安全(TLS)证书会出现在证书页面,并带有一个提示工具,显示它们来自哪个集群。

能否从中央 Kibana 编辑远程监控器?

不,不能从中央 Kibana 编辑。远程监控器在您查看它们的位置是只读的,因为它们的配置以保存对象的形式存在于定义它们的 Kibana 中。

操作

在中央 Kibana 上的行为

查看状态、历史记录、错误、旅程运行、截图、网络瀑布图

可用

启用 / 禁用

不可用

手动运行测试

不可用

创建 SLO

不可用

添加到仪表板

不可用

编辑

当该集群的公网 URL 已配置时,打开源 Kibana

克隆

当该集群的公网 URL 已配置时,打开源 Kibana

在远程集群上查看

在监控器所在的 Kibana 中打开该监控器

要管理远程监控器,请点击其详情页面上的在远程集群上查看按钮。它将带您进入该监控器所在的 Kibana。

将配置保留在源集群上是刻意为之。监控器定义的单一事实来源(single source of truth)可以避免跨集群写入带来的混乱。

当前存在一个需要指出的限制:警报(alerting)尚不能跨集群边界工作。远程监控器若发生故障,会在联合 UI 中显示为故障,但不会在中央 Kibana 中触发警报。请继续将相关规则保留在拥有该监控器的集群上。联合警报功能已纳入路线图。

如何为合成监控设置跨集群搜索

有几项内容需要准备就绪。

1. 在 Elasticsearch 中连接远程集群

在堆栈管理 → 远程集群中,添加保存 Synthetics 数据的 Elasticsearch 集群。Synthetics 不会创建这些连接;它会使用已在 Elasticsearch 层配置好的连接。在 Elastic Cloud 和本地部署之间搜索和复制数据一文详细介绍了 Elasticsearch 层的设置。

2. 在每个参与的 Kibana 上设置 server.publicBaseUrl

在远程集群上查看的深层链接来自 ping 文档中的 kibanaUrl 字段,该字段由 server.publicBaseUrl 生成。如果远程 Kibana 上缺少此设置,您仍然可以看到监控器,但没有可点击的 URL。由于 kibanaUrl 在 ping 写入时生成,因此您需要在设置此配置后等待新的检查结果,链接才会出现。

3. 选择 Synthetics 应包含哪些远程集群

转到Synthetics → 设置 → 远程集群。您需要对 Synthetics 和 Uptime 拥有全部权限。拥有只读权限的用户只能以只读方式查看表单。

打开使用所有远程集群开关,或选择特定集群。每个选项都会显示已连接与断开连接的状态。

4. 授予对 Kibana 空间的访问权限

这是每个部署的一个共享配置,而不是每个空间的单独副本。使用空间字段可授予对特定空间的访问权限,或选择所有空间。首次保存时,设置会锚定到您当前所在的空间。

请注意,在后续保存时清除 空间 字段并不会移除现有空间的访问权限。您必须显式选择要继续保留的空间。

Synthetics Settings Remote Clusters tab in Kibana with the Use all remote clusters toggle and Spaces access field
Synthetics Settings Remote Clusters tab in Kibana with the Use all remote clusters toggle and Spaces access field

打开监控器概览页,远程监控器就会与本地监控器一同出现。

索引表达式如何跨集群解析

中央集群不会复制任何数据。CCS 的工作原理是在查询时扩展索引表达式,这意味着中央集群从不存储远程数据,它只负责知道应该向哪里发起请求。

Cross-cluster search architecture for Elastic Synthetics: UI layer, server route wrapper, local and remote clusters
Cross-cluster search architecture for Elastic Synthetics: UI layer, server route wrapper, local and remote clusters

在每个请求中,服务器会据此确定要查询的索引表达式。

  • 如果您选择使用所有远程集群,它会构建 synthetics-*,*:synthetics-*,无需进行连接检查。
  • 如果您选择特定集群,它会调用 Elasticsearch 的 cluster.remoteInfo() 来检查当前哪些集群可达,并且只包含可达的集群,因此断开连接的远程集群不会导致概览页面挂起。
  • 解析后的索引会按空间进行缓存。

最终得到如下所示的组合索引模式:

代码语言:txt
复制
synthetics-*,cluster1:synthetics-*,cluster2:synthetics-*

概览状态页面和证书页面会自动使用 CCS,因为它们会向所有已配置的集群进行扇出。详情视图会将每个查询限定到正确的集群。Ping、旅程、截图和网络事件都只针对单一远程集群解析,而不会分散到所有集群。

面向 Synthetics 的跨集群搜索不能做什么

面向 Synthetics 的 CCS 是一个可见性层,而不是管理层。您可以跨集群获得统一的只读视图;每个集群仍然是其自身监控器的所有者。如果您需要集中创建、编辑或禁用监控器,您仍然需要前往每个监控器所在的 Kibana 执行操作。

内容

所在位置

监控器配置(保存对象)

仅源集群

私有位置

仅源集群

全局参数

仅源集群

API 密钥

仅源集群

警报规则

仅源集群

Ping 结果

联合式,可在中央 Kibana 查看

旅程步骤和截图

联合式,可在中央 Kibana 查看

TLS 证书状态

联合式,可在中央 Kibana 查看

Elasticsearch 层的 CCS 也是前提条件,但并非全部。Synthetics 需要自己的远程集群配置才能正确显示远程监控器。仪表板和 Discover 仍然可以通过 CCS 查询 synthetics-* 以进行自定义可视化。

跨集群集中监控体验现已上线

联合式 Synthetics 随 9.5 版本在有状态部署中提供。如果您在多个集群上运行监控器,请前往 Synthetics → 设置 → 远程集群并连接您的远程集群。

如果远程监控器出现但缺少深层链接,请在源 Kibana 上设置 server.publicBaseUrl,然后等待新的检查结果。kibanaUrl 字段只会写入在该配置设置之后生成的文档中。

我们欢迎您在 Elastic 讨论论坛中提供反馈。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 面向合成监控的跨集群搜索为 Elasticsearch CCS 增加了什么
  • 远程监控器在 Synthetics UI 中的呈现方式
    • 在概览页查找远程监控器
    • 打开远程监控器详情页
    • 在证书页面查看远程 TLS 证书
  • 能否从中央 Kibana 编辑远程监控器?
  • 如何为合成监控设置跨集群搜索
    • 1. 在 Elasticsearch 中连接远程集群
    • 2. 在每个参与的 Kibana 上设置 server.publicBaseUrl
    • 3. 选择 Synthetics 应包含哪些远程集群
    • 4. 授予对 Kibana 空间的访问权限
  • 索引表达式如何跨集群解析
  • 面向 Synthetics 的跨集群搜索不能做什么
  • 跨集群集中监控体验现已上线
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档