+
+ {remote.remoteName},
+ kibanaUrl: (
+
+ {remote.kibanaUrl}
+
+ ),
+ }}
+ />
+
+ {detailsUrl && (
+
+ {i18n.translate('xpack.synthetics.monitorDetails.remoteCallout.viewButton', {
+ defaultMessage: 'View on remote instance',
+ })}
+
+ )}
+
+ );
+}
diff --git a/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_remote_info.ts b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_remote_info.ts
new file mode 100644
index 0000000000000..235e0fb0cb078
--- /dev/null
+++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_monitor_remote_info.ts
@@ -0,0 +1,28 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { useMemo } from 'react';
+import { useSelector } from 'react-redux';
+import type { RemoteMonitorInfo } from '../../../../../../common/runtime_types/remote';
+import { selectOverviewStatus } from '../../../state/overview_status';
+
+/**
+ * Looks up remote monitor info from the overview status state for a given configId.
+ * Returns the RemoteMonitorInfo if the monitor was fetched from a remote cluster,
+ * or undefined if it is a local monitor.
+ */
+export function useMonitorRemoteInfo(configId: string): RemoteMonitorInfo | undefined {
+ const { allConfigs } = useSelector(selectOverviewStatus);
+
+ return useMemo(() => {
+ if (!allConfigs) {
+ return undefined;
+ }
+ const match = allConfigs.find((config) => config.configId === configId);
+ return match?.remote;
+ }, [allConfigs, configId]);
+}
diff --git a/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_page_title.tsx b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_page_title.tsx
index b03ca571fff2d..5f48735eba299 100644
--- a/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_page_title.tsx
+++ b/x-pack/solutions/observability/plugins/synthetics/public/apps/synthetics/components/monitor_details/monitor_details_page_title.tsx
@@ -7,17 +7,23 @@
import React from 'react';
import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui';
+import { useParams } from 'react-router-dom';
import { MonitorSelector } from './monitor_selector/monitor_selector';
import { useSelectedMonitor } from './hooks/use_selected_monitor';
+import { useMonitorRemoteInfo } from './hooks/use_monitor_remote_info';
+import { MonitorRemoteBadge } from '../common/components/monitor_remote_badge';
export const MonitorDetailsPageTitle = () => {
+ const { monitorId } = useParams<{ monitorId: string }>();
const { monitor } = useSelectedMonitor();
+ const remoteInfo = useMonitorRemoteInfo(monitorId);
return (