<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Panagiota Mitsopoulou - Elastic Observability Labs]]></title>
    <description><![CDATA[Trusted security news & research from the team at Elastic.]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Panagiota Mitsopoulou - Elastic Observability Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltad972c1c27dbefc6/6a88d9782904ea5e8511d473/observability-labs-thumbnail.png</url>
      <link>https://www.elastic.co/observability-labs/author/panagiota-mitsopoulou</link>
    </image>
    <link>https://www.elastic.co/observability-labs/author/panagiota-mitsopoulou</link>
    <atom:link href="https://www.elastic.co/observability-labs/rss/author/panagiota-mitsopoulou.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[en]]></language>
    <lastBuildDate>Thu, 22 Oct 2026 17:13:19 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Three regions, three Kibanas, one view: Cross-cluster search comes to Elastic Synthetics]]></title>
    <description><![CDATA[Monitors from every connected cluster appear in one Kibana, with journey waterfalls, screenshots, errors and certificates. Nothing is replicated, and each cluster still owns its monitors.]]></description>
    <content:encoded><![CDATA[<p>Until now, three regional deployments meant three browser tabs, separate sets of credentials, and different mental models to reconcile every time someone asked how checkout was doing worldwide.<a href="https://www.elastic.co/docs/explore-analyze/cross-cluster-search"> Cross-cluster search (CCS)</a> for synthetic monitoring ships in Elastic Stack 9.5. Monitors from every connected cluster appear in one Kibana, with status, journey waterfalls, screenshots, errors, and certificates. Nothing is replicated; the central cluster expands the index expression at query time and asks each remote directly, so configuration stays where it was created and each cluster still owns its monitors.</p><p><em>This feature is available in stateful deployments only and isn’t supported on Elastic Cloud Serverless.</em></p><h2>What cross-cluster search for synthetic monitoring adds to Elasticsearch CCS</h2><p>Before 9.5, Synthetics and CCS weren't integrated. Connecting clusters at the Elasticsearch layer gave you raw ping data in Discover but not in the Synthetics UI.Elastic's site reliability engineering (SRE) team <a href="https://www.elastic.co/blog/use-cross-cluster-search-elastic-cloud-observability">wrote about this pattern</a><em>,</em> using CCS to build a single pane of glass across 150+ clusters, but it applied to raw data, not the Synthetics app.</p><p>Monitor definitions are Kibana saved objects, and those objects don't travel across clusters. Wiring CCS at the Elasticsearch layer didn't make remote monitors appear in the Synthetics app. You'd get raw data in Discover, but none of the Synthetics UI experience: no status cards, journey waterfalls, step screenshots, or error drilldowns.</p><p>That's still true for raw CCS on saved objects. What shipped in 9.5 is a native integration built on top of remote cluster search. The app searches remote <code>synthetics-*</code> pings. It marks what's remote and sends you back to the origin Kibana whenever you need to change something.</p><h2>What remote monitors look like in the Synthetics UI</h2><p>Once remote clusters are configured, their monitors appear alongside your local ones throughout the Synthetics UI.</p><h3>Find remote monitors on the Overview page</h3><p>The <strong>Overview</strong> page shows remote monitors inline with local ones, tagged with a <strong>Remote</strong> badge next to the monitor type badge. Two additions help with navigation: a <strong>Remote cluster </strong>filter alongside the existing <strong>Type</strong> / <strong>Location</strong> / <strong>Tags</strong> / <strong>Frequency filters</strong>, and a <strong>Group b</strong>y → <strong>Remote cluster </strong>option. When a remote cluster filter is active, local monitors are hidden and status counts reflect only the filtered set, so you can focus on one deployment at a time.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltc0d15a9409ecf14e/6ad88461e0c9dc4a23fd1db9/image1.png" alt="Elastic Synthetics Overview page in Kibana showing remote monitors with Remote badges and a Remote cluster filter" /><h3>Open a remote monitor detail page</h3><p><strong>Monitor detail </strong>pages work the same way for remote monitors as for local ones, including overview, history, errors, journey runs, step details, screenshots, network waterfalls, and duration charts.</p><p>A <strong>Remote monitor</strong> callout shows the cluster name and the originating Kibana URL, and a <strong>View on remote cluster</strong> button takes you directly to the monitor on its home instance.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltd0e2ae13d11eec3d/6ad884789e74353d8074561d/image2.png" alt="Remote monitor callout on a Synthetics monitor detail page with the View on remote cluster button" /><h3>See remote TLS certificates on the Certificates page</h3><p>Transport Layer Security (TLS) certificates observed on remote clusters appear on the <strong>Certificates</strong> page, with a tooltip showing which cluster they came from.</p><h2>Can you edit remote monitors from the central Kibana?</h2><p>No, not from the central Kibana. Remote monitors are read-only where you view them because their configuration lives as a saved object in the Kibana where they were defined.</p><p><strong>Action</strong></p><p><strong>Behavior on the central Kibana</strong></p><p>View status, history, errors, journey runs, screenshots, network waterfalls</p><p>Available</p><p>Enable / Disable</p><p>Not available</p><p>Run test manually</p><p>Not available</p><p>Create SLO</p><p>Not available</p><p>Add to dashboard</p><p>Not available</p><p>Edit</p><p>Opens the origin Kibana, when that cluster’s public URL is configured</p><p>Clone</p><p>Opens the origin Kibana, when that cluster’s public URL is configured</p><p>View on remote cluster</p><p>Opens the monitor on the Kibana where it lives</p><p> To manage a remote monitor, click the <strong>View on remote cluster</strong> button on its detail page. It takes you to the monitor on the Kibana where it lives.</p><p>Keeping configuration on the origin cluster is intentional. A single source of truth for monitor definitions avoids the mess of cross-cluster writes.</p><p>One current limitation to note: alerting doesn't cross cluster boundaries yet. A remote monitor that's down shows as down in the federated UI, but it won't fire alerts in the central Kibana. Keep those rules on the cluster that owns the monitor. Federated alerting is on the roadmap.</p><h2>How to set up cross-cluster search for synthetic monitoring</h2><p>There are a few things to put in place.</p><h3>1. Connect the remote clusters in Elasticsearch</h3><p>In <a href="https://www.elastic.co/docs/deploy-manage/remote-clusters"><strong>Stack Management</strong> → <strong>Remote Clusters</strong></a>, add the Elasticsearch clusters that hold Synthetics data. Synthetics doesn't create these connections; it uses the ones already configured at the Elasticsearch level. The <a href="https://www.elastic.co/blog/search-and-replicate-data-between-your-elastic-cloud-and-on-prem-deployments">Search and replicate data between Elastic Cloud and on-prem</a> post covers the Elasticsearch-level setup in detail.</p><h3>2. Set server.publicBaseUrl on every participating Kibana</h3><p>The <strong>View on remote cluster</strong> deep link comes from a <code>kibanaUrl</code> field on ping documents, stamped from <code>server.publicBaseUrl</code>. If that setting is missing on a remote Kibana, you still see the monitor but there's no URL to click. Since kibanaUrl is written at ping time, you need to wait for new check results after setting this config before the link appears.</p><h3>3. Choose which remote clusters Synthetics includes</h3><p>Go to <a href="https://www.elastic.co/docs/solutions/observability/synthetics/configure-settings"><strong>Synthetics</strong> → <strong>Settings</strong> → <strong>Remote Clusters</strong></a>. You need the <strong>All </strong>privilege for <strong>Synthetics and Uptime</strong>. Users with <strong>Read</strong> see the form as read-only.</p><p>Toggle on <strong>Use all remote clusters</strong>, or pick specific ones. Each option shows connected versus disconnected status.</p><h3>4. Grant access to Kibana spaces</h3><p>This is one shared configuration per deployment, not a separate copy per space. Use the <strong>Spaces</strong> field to grant access to specific spaces, or select <strong>All spaces</strong>. On first save, settings are anchored to the space you're in.</p><p><em>Note that clearing the </em><em><strong>Spaces </strong></em><em>field on a subsequent save doesn’t remove access from existing spaces. You must explicitly select the spaces you want to keep.</em></p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt21482e1dec686373/6ad884b2744ada25845686ec/image5.png" alt="Synthetics Settings Remote Clusters tab in Kibana with the Use all remote clusters toggle and Spaces access field" /><p>Open the <strong>Monitors</strong> overview, and remote monitors appear alongside your local ones.</p><h2>How the index expression resolves across clusters</h2><p>Nothing is replicated into the central cluster. CCS works by expanding the index expression at query time, which means that the central cluster never stores remote data; it just knows where to ask.</p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt4fdcb5493e7692e7/6ad884cad26d92ccbf9f70a3/image3.png" alt="Cross-cluster search architecture for Elastic Synthetics: UI layer, server route wrapper, local and remote clusters" /><p>On each request, the server figures out which index expressions to query.</p><ul><li><p>If you select <strong>Use all remote clusters</strong>, it builds <code>synthetics-*,*:synthetics-*</code> with no connectivity check needed.</p></li><li><p>If you pick specific clusters, it calls Elasticsearch's <code>cluster.remoteInfo()</code> to check which are currently reachable and only includes those, so a disconnected remote doesn't hang your overview page.</p></li><li><p>The resolved indices are cached per space.</p></li></ul><p>The result is a combined index pattern like the following:</p>synthetics-*,cluster1:synthetics-*,cluster2:synthetics-*<p>The <strong>Overview status</strong> page and the <strong>Certificates</strong> page pick up CCS automatically, since they fan out across all configured clusters. Detail views scope each query to the right cluster. Pings, journeys, screenshots, and network events all resolve against a single remote rather than spreading across everything.</p><h2>What cross-cluster search for Synthetics does not do</h2><p>CCS for Synthetics is a visibility layer, not a management layer. You get a unified read view across clusters; each cluster stays the owner of its own monitors. If you need to create, edit, or disable monitors centrally, you still do that on the Kibana where each monitor lives.</p><p><strong>What</strong></p><p><strong>Where it lives</strong></p><p>Monitor configuration (saved objects)</p><p>Origin cluster only</p><p>Private locations</p><p>Origin cluster only</p><p>Global parameters</p><p>Origin cluster only</p><p>API keys</p><p>Origin cluster only</p><p>Alerting rules</p><p>Origin cluster only</p><p>Ping results</p><p>Federated, visible in the central Kibana</p><p>Journey steps and screenshots</p><p>Federated, visible in the central Kibana</p><p>TLS certificate status</p><p>Federated, visible in the central Kibana</p><p>CCS at the Elasticsearch level is also a prerequisite rather than the whole story. Synthetics needs its own <strong>Remote Clusters</strong> configuration to show remote monitors properly. Dashboards and Discover can still query <code>synthetics-*</code> via CCS for custom visualizations.</p><h2>Start centralized monitoring across your clusters</h2><p>Federated Synthetics ships in 9.5 for stateful deployments. If you run monitors across multiple clusters, go to <strong>Synthetics</strong> → <strong>Settings</strong> → <strong>Remote Clusters</strong> and connect your remotes.</p><p>If a remote monitor appears but the deep link is missing, set <code>server.publicBaseUrl</code> on the origin Kibana and wait for new check results. The <code>kibanaUrl</code> field is stamped on documents written after that config is in place.</p><p>We welcome your feedback in the <a href="https://discuss.elastic.co">Elastic discuss forum</a>.</p><p><strong>Documentation:</strong></p><ul><li><p><a href="https://www.elastic.co/docs/solutions/observability/synthetics/configure-settings">Configure Synthetics settings</a></p></li><li><p><a href="https://www.elastic.co/docs/solutions/observability/synthetics/analyze-data">Analyze data from synthetic monitors</a></p></li></ul><p><strong>Related reading:</strong></p><ul><li><p><a href="https://www.elastic.co/blog/use-cross-cluster-search-elastic-cloud-observability">Use Cross Cluster Search with Elastic Cloud to improve observability:</a> Elastic's SRE team on building a single pane of glass across 150+ clusters</p></li><li><p><a href="https://www.elastic.co/blog/search-and-replicate-data-between-your-elastic-cloud-and-on-prem-deployments">Search and replicate data between Elastic Cloud and on-prem:</a> CCS/cross-cluster replication (CCR) general availability (GA) announcement</p></li></ul>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/cross-cluster-search-synthetic-monitoring</link>
    <guid isPermaLink="false">cross-cluster-search-synthetic-monitoring</guid>
    <category><![CDATA[Data Management]]></category>
    <category><![CDATA[APM]]></category>
    <category><![CDATA[What's New]]></category>
    <dc:creator><![CDATA[Panagiota Mitsopoulou]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltd4a6e07790da1cb0/6ad883deff956c2d46ad8547/image4.png" length="0" type="image/png"/>
    <pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>