diff --git a/x-pack/plugins/observability_solution/infra/public/components/logs_deprecation_callout.tsx b/x-pack/plugins/observability_solution/infra/public/components/logs_deprecation_callout.tsx
index 71ae9698ea3b9..c4d941109efa2 100644
--- a/x-pack/plugins/observability_solution/infra/public/components/logs_deprecation_callout.tsx
+++ b/x-pack/plugins/observability_solution/infra/public/components/logs_deprecation_callout.tsx
@@ -18,14 +18,38 @@ import { css } from '@emotion/css';
import { SharePublicStart } from '@kbn/share-plugin/public/plugin';
import { useKibanaContextForPlugin } from '../hooks/use_kibana';
-const DISMISSAL_STORAGE_KEY = 'log_stream_deprecation_callout_dismissed';
+const pageConfigurations = {
+ stream: {
+ dismissalStorageKey: 'log_stream_deprecation_callout_dismissed',
+ message: i18n.translate('xpack.infra.logsDeprecationCallout.p.theNewLogsExplorerLabel', {
+ defaultMessage:
+ 'The new Logs Explorer makes viewing and inspecting your logs easier with more features, better performance, and more intuitive navigation. We recommend switching to Logs Explorer, as it will replace Logs Stream in a future version.',
+ }),
+ },
+ settings: {
+ dismissalStorageKey: 'log_settings_deprecation_callout_dismissed',
+ message: i18n.translate(
+ 'xpack.infra.logsSettingsDeprecationCallout.p.theNewLogsExplorerLabel',
+ {
+ defaultMessage:
+ 'The new Logs Explorer makes viewing and inspecting your logs easier with more features, better performance, and more intuitive navigation. These settings will not affect the Logs Explorer behaviour, and is now discouraged configuring them for the legacy Stream application.',
+ }
+ ),
+ },
+};
+
+interface LogsDeprecationCalloutProps {
+ page: keyof typeof pageConfigurations;
+}
-export const LogsDeprecationCallout = () => {
+export const LogsDeprecationCallout = ({ page }: LogsDeprecationCalloutProps) => {
const {
services: { share },
} = useKibanaContextForPlugin();
- const [isDismissed, setDismissed] = useLocalStorage(DISMISSAL_STORAGE_KEY, false);
+ const { dismissalStorageKey, message } = pageConfigurations[page];
+
+ const [isDismissed, setDismissed] = useLocalStorage(dismissalStorageKey, false);
if (isDismissed) {
return null;
@@ -42,12 +66,7 @@ export const LogsDeprecationCallout = () => {
onDismiss={() => setDismissed(true)}
className={calloutStyle}
>
-
- {i18n.translate('xpack.infra.logsDeprecationCallout.p.theNewLogsExplorerLabel', {
- defaultMessage:
- 'The new Logs Explorer makes viewing and inspecting your logs easier with more features, better performance, and more intuitive navigation. We recommend switching to Logs Explorer, as it will replace Logs Stream in a future version.',
- })}
-
+ {message}
{
const routes: LogsAppRoutes = {
logsAnomalies: {
- id: 'logs-anomalies',
+ id: 'anomalies',
title: logsAnomaliesTitle,
path: '/anomalies',
},
logsCategories: {
- id: 'logs-categories',
+ id: 'log-categories',
title: logCategoriesTitle,
path: '/log-categories',
},
diff --git a/x-pack/plugins/observability_solution/infra/public/pages/logs/settings/source_configuration_settings.tsx b/x-pack/plugins/observability_solution/infra/public/pages/logs/settings/source_configuration_settings.tsx
index 557fe1cfab314..d1df2a5820dd3 100644
--- a/x-pack/plugins/observability_solution/infra/public/pages/logs/settings/source_configuration_settings.tsx
+++ b/x-pack/plugins/observability_solution/infra/public/pages/logs/settings/source_configuration_settings.tsx
@@ -20,6 +20,7 @@ import { useKibana } from '@kbn/kibana-react-plugin/public';
import { Prompt } from '@kbn/observability-shared-plugin/public';
import { useTrackPageview } from '@kbn/observability-shared-plugin/public';
import { useLogViewContext } from '@kbn/logs-shared-plugin/public';
+import { LogsDeprecationCallout } from '../../../components/logs_deprecation_callout';
import { SourceLoadingPage } from '../../../components/source_loading_page';
import { useLogsBreadcrumbs } from '../../../hooks/use_logs_breadcrumbs';
import { settingsTitle } from '../../../translations';
@@ -98,6 +99,7 @@ export const LogsSettingsPage = () => {
data-test-subj="sourceConfigurationContent"
restrictWidth
>
+
diff --git a/x-pack/plugins/observability_solution/infra/public/pages/logs/stream/page_logs_content.tsx b/x-pack/plugins/observability_solution/infra/public/pages/logs/stream/page_logs_content.tsx
index 5a1a198884cf2..f59d3c1f03fbf 100644
--- a/x-pack/plugins/observability_solution/infra/public/pages/logs/stream/page_logs_content.tsx
+++ b/x-pack/plugins/observability_solution/infra/public/pages/logs/stream/page_logs_content.tsx
@@ -234,7 +234,7 @@ export const StreamPageLogsContent = React.memo<{
return (
<>
-
+
diff --git a/x-pack/plugins/observability_solution/infra/public/plugin.ts b/x-pack/plugins/observability_solution/infra/public/plugin.ts
index 41143eb1a2cd9..daaa3510e1660 100644
--- a/x-pack/plugins/observability_solution/infra/public/plugin.ts
+++ b/x-pack/plugins/observability_solution/infra/public/plugin.ts
@@ -429,9 +429,13 @@ const getLogsNavigationEntries = ({
});
}
+ // Display Stream nav entry when Logs Stream is enabled
if (routes.stream) entries.push(createNavEntryFromRoute(routes.stream));
+ // Display always Logs Anomalies and Logs Categories entries
entries.push(createNavEntryFromRoute(routes.logsAnomalies));
entries.push(createNavEntryFromRoute(routes.logsCategories));
+ // Display Logs Settings entry when Logs Stream is not enabled
+ if (!routes.stream) entries.push(createNavEntryFromRoute(routes.settings));
return entries;
};
diff --git a/x-pack/plugins/observability_solution/observability/public/navigation_tree.ts b/x-pack/plugins/observability_solution/observability/public/navigation_tree.ts
index 353f1258fc7b8..43908646392ee 100644
--- a/x-pack/plugins/observability_solution/observability/public/navigation_tree.ts
+++ b/x-pack/plugins/observability_solution/observability/public/navigation_tree.ts
@@ -236,6 +236,12 @@ export function createNavTree(pluginsStart: ObservabilityPublicPluginsStart) {
defaultMessage: 'Logs stream',
}),
},
+ {
+ link: 'logs:settings',
+ title: i18n.translate('xpack.observability.obltNav.otherTools.logsSettings', {
+ defaultMessage: 'Logs settings',
+ }),
+ },
{ link: 'maps' },
{ link: 'canvas' },
{ link: 'graph' },