From d75da632f76094ec3e9af08aa9c11a0cd5ab5af2 Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Fri, 20 Mar 2026 09:37:33 +0100 Subject: [PATCH 001/226] Prototype nav-v2: label sections, accordion sidebar, feature flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a new `navigation-v2.yml`-driven sidebar behind the `nav-v2` feature flag (enabled by default in dev/preview environments). - New YAML format: label sections (non-clickable headings), toc entries that resolve to existing navigation nodes at their original URL paths, page crosslinks, and title-only placeholder (disabled) links - `SiteNavigationV2` extends `SiteNavigation`, passes the original nav file to the base constructor so content URLs are unchanged; builds a separate `V2NavigationItems` tree for sidebar rendering - `GlobalNavigationHtmlWriter` detects `SiteNavigationV2` and returns the same full V2 nav HTML (cached once) for every page - `_TocTreeNavV2.cshtml` renders labels as ``, placeholders as `aria-disabled` anchors, folders/leaves same as V1 - `pages-nav-v2.ts` adds accordion collapse (open one section → others collapse) and current-page marking with no auto-expand - Feature flag key normalisation: assembler.yml uses `NAV_V2` (underscore) but lookup uses `nav-v2` (hyphen); fixed by calling `featureFlags.Set` which normalises via `ToLowerInvariant().Replace('_', '-')` Co-Authored-By: Claude Sonnet 4.6 --- config/assembler.yml | 2 + config/navigation-v2.yml | 34 ++++ nav-v2-status.md | 121 ++++++++++++++ .../Builder/FeatureFlags.cs | 6 + .../ConfigurationFileProvider.cs | 34 ++++ .../Toc/NavigationV2File.cs | 141 +++++++++++++++++ .../V2/LabelNavigationNode.cs | 74 +++++++++ .../V2/PlaceholderNavigationLeaf.cs | 36 +++++ .../V2/SiteNavigationV2.cs | 81 ++++++++++ src/Elastic.Documentation.Site/Assets/main.ts | 8 +- .../Assets/pages-nav-v2.ts | 66 ++++++++ .../Navigation/NavigationViewModel.cs | 3 + .../Navigation/_TocTree.cshtml | 42 +++-- .../Navigation/_TocTreeNavV2.cshtml | 148 ++++++++++++++++++ .../Building/AssemblerBuildService.cs | 31 +++- .../Navigation/GlobalNavigationHtmlWriter.cs | 67 ++++++++ 16 files changed, 878 insertions(+), 16 deletions(-) create mode 100644 config/navigation-v2.yml create mode 100644 nav-v2-status.md create mode 100644 src/Elastic.Documentation.Configuration/Toc/NavigationV2File.cs create mode 100644 src/Elastic.Documentation.Navigation/V2/LabelNavigationNode.cs create mode 100644 src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationLeaf.cs create mode 100644 src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs create mode 100644 src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts create mode 100644 src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml diff --git a/config/assembler.yml b/config/assembler.yml index af9a9ff031..463a9957f4 100644 --- a/config/assembler.yml +++ b/config/assembler.yml @@ -38,6 +38,7 @@ environments: path_prefix: docs feature_flags: SEARCH_OR_ASK_AI: true + NAV_V2: true preview: uri: https://docs-v3-preview.elastic.dev path_prefix: ${ASSEMBLER_PREVIEW_PATH_PREFIX} @@ -46,6 +47,7 @@ environments: enabled: false feature_flags: SEARCH_OR_ASK_AI: true + NAV_V2: true shared_configuration: stack: &stack diff --git a/config/navigation-v2.yml b/config/navigation-v2.yml new file mode 100644 index 0000000000..e4867956f4 --- /dev/null +++ b/config/navigation-v2.yml @@ -0,0 +1,34 @@ +nav: + - label: Get Started + children: + - toc: get-started + + - label: Solutions + children: + - toc: solutions + + - label: Manage Data + children: + - toc: manage-data + + - label: Explore & Analyze + children: + - toc: explore-analyze + + - label: Deploy & Manage + children: + - toc: deploy-manage + + - label: Cloud Account + children: + - toc: cloud-account + + - label: Troubleshoot + children: + - toc: troubleshoot + + - label: Reference + expanded: true + children: + - toc: elasticsearch://reference/elasticsearch + - toc: kibana://reference diff --git a/nav-v2-status.md b/nav-v2-status.md new file mode 100644 index 0000000000..238ec65615 --- /dev/null +++ b/nav-v2-status.md @@ -0,0 +1,121 @@ +# nav-v2 prototype — status & plan + +Branch: `nav-v2` +Date: 2026-03-20 + +--- + +## Goal + +Prototype a new information architecture sidebar without touching production nav. +Gated behind the `nav-v2` feature flag (enabled automatically in `dev` and `preview` environments). + +The V2 nav: +- Shows label sections (non-clickable headings) instead of bare TOC roots +- Renders the **full tree on every page** (not per-section like V1) +- Has accordion collapse (open one top-level section → others collapse) +- No auto-expand to current page (progressive disclosure) +- Disabled placeholder links styled with `cursor-not-allowed` + +Content is built at **the same URL paths as V1** — the V2 flag changes only the sidebar layout. + +--- + +## Current state: build green, awaiting assembler re-build + +`./build.sh build` passes (lint + compile + all unit tests). +The assembler serve at `localhost:4000` still shows the **old nav** because it was built before two bugs were fixed. User needs to re-run `assembler build` to get the fixed output. + +### Bugs fixed in this session + +| # | Bug | Fix | +|---|-----|-----| +| 1 | Feature flag never fired — `assembler.yml` sets `NAV_V2` (underscore) but `FeatureFlags(dict)` stores keys as-is; `IsEnabled("nav-v2")` never matched | Use `featureFlags.Set(key, value)` in `AssemblerBuildService` to normalise keys before lookup | +| 2 | Content built at `/docs/l2/get-started/` instead of `/docs/get-started/` — `SiteNavigationV2` was synthesising a new nav file with `l{depth+1}/` prefixes | Pass the original `SiteNavigationFile` to the base constructor; V2 only changes sidebar rendering | + +--- + +## Files changed + +### New files +| File | Purpose | +|------|---------| +| `config/navigation-v2.yml` | Skeleton: 8 label sections matching current top-level nav | +| `src/Elastic.Documentation.Configuration/Toc/NavigationV2File.cs` | YAML model (`LabelNavV2Item`, `TocNavV2Item`, `PageNavV2Item`) + `NavV2FileYamlConverter` | +| `src/Elastic.Documentation.Navigation/V2/LabelNavigationNode.cs` | Non-clickable section heading; implements `INodeNavigationItem` | +| `src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationLeaf.cs` | Disabled placeholder link; implements `ILeafNavigationItem` | +| `src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs` | Extends `SiteNavigation`; passes original nav file to base; builds V2 label tree from `navigation-v2.yml` | +| `src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml` | V2 Razor partial: labels as ``, placeholders as `aria-disabled`, folders/leaves same as V1 | +| `src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts` | Accordion collapse + current-page marking (no auto-expand) | + +### Modified files +| File | Change | +|------|--------| +| `config/assembler.yml` | `NAV_V2: true` under `dev:` and `preview:` feature_flags | +| `src/.../Builder/FeatureFlags.cs` | Added `NavV2Enabled` property | +| `src/.../ConfigurationFileProvider.cs` | `NavV2Deserializer` (reflection-based); optional `NavigationV2File` property; `TryCreateTemporaryConfigurationFile` helper | +| `src/.../NavigationViewModel.cs` | Added `IsNavV2` bool (default `false`) | +| `src/.../Navigation/_TocTree.cshtml` | Branches on `IsNavV2`; wraps V2 tree in ` Get started - + - -
+ +
- + + - + -
+
-
+

New to Elastic? Give it a try.

-
-

Try locally

+
-
-

Start free Cloud trial

+ +
+

Start free Cloud trial

Evaluate Elastic with a production-ready trial, using real data and use cases.

Start free trial → -
+
-
+ -
-

What's new

- All release notes → -
-
-
-
April 2026
-

Elasticsearch @Model.CurrentVersion

-

Improved authentication and upgraded security features.

+
+
+

What's new

+ All release notes →
-
-
April 2026
-

Elastic AI Assistant is GA

-

Ask questions about your data in plain English across Observability and Security.

+
+
+ +

Elasticsearch @Model.CurrentVersion

+

Improved authentication and upgraded security features.

+
+
+ +

Elastic AI Assistant is GA

+

Ask questions about your data in plain English across Observability and Security.

+
+
+ +

New Serverless features

+

Run Elasticsearch without managing infrastructure. New capabilities for search workloads.

+
-
-
March 2026
-

New Serverless features

-

Run Elasticsearch without managing infrastructure. New capabilities for search workloads.

-
-
+
-
-

All products

-
-
-
-

Platform

- -
- -
-

Deploy

- + - -
-
-

- - Community forums -

-

Ask questions and get help from other Elastic users and engineers.

-
-
-

- - Training & certification -

-

Free courses and hands-on labs to build your Elastic skills.

-
+ +
-

- +

+ Report a docs issue -

-

Found something wrong or confusing? Let us know on GitHub.

+ +

Found something wrong or confusing? Let us know on GitHub.

-
- -
+ - - +
From 393f73bd22089b93c4146294d77105d7e8c19b30 Mon Sep 17 00:00:00 2001 From: Florent Le Borgne Date: Mon, 11 May 2026 21:53:18 +0200 Subject: [PATCH 168/226] Validate links in {hero}, {link-card}, {whats-new} directives MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit URL fields in hub directive YAML bodies and options never went through Markdig's link parser, so cross-link resolution, missing-file checks, and link-index emission were all skipped — broken hub links shipped as silent 404s. Adds HubLinkValidator, invoked from each hub block's FinalizeAndValidate for every URL field. It: - resolves declared cross-link schemes via CrossLinkResolver.TryResolve, rewrites the value with the resolved URL, and registers via Build.Collector.EmitCrossLink - emits errors for undeclared schemes (with cursor:/vscode: passthrough) - checks internal absolute paths against the docset source dir in isolated builds (skipped under assembler/codex where cross-docset paths are legal — assembler-aware validation is a follow-up) - honours configured redirects with a warning suggesting the new path Wired only into HeroBlock, LinkCardBlock, and WhatsNewBlock. Surfaces ~40 previously-silent broken cross-link references in docs-content's kibana/elasticsearch hub pages. Co-Authored-By: Claude Opus 4.7 --- .../Myst/Directives/Hub/HeroBlock.cs | 6 +- .../Myst/Directives/Hub/HubLinkValidator.cs | 135 ++++++++++++++++++ .../Myst/Directives/Hub/LinkCardBlock.cs | 9 ++ .../Myst/Directives/Hub/WhatsNewBlock.cs | 12 ++ 4 files changed, 160 insertions(+), 2 deletions(-) create mode 100644 src/Elastic.Markdown/Myst/Directives/Hub/HubLinkValidator.cs diff --git a/src/Elastic.Markdown/Myst/Directives/Hub/HeroBlock.cs b/src/Elastic.Markdown/Myst/Directives/Hub/HeroBlock.cs index 8787ad312f..b776239d70 100644 --- a/src/Elastic.Markdown/Myst/Directives/Hub/HeroBlock.cs +++ b/src/Elastic.Markdown/Myst/Directives/Hub/HeroBlock.cs @@ -48,9 +48,11 @@ public override void FinalizeAndValidate(ParserContext context) // search defaults to true; explicit ":search: false" hides it ShowSearch = TryPropBool("search") ?? true; QuickLinks = ParsePairs(Prop("quick-links"), allowEmptyUrl: false) - .Select(p => new HeroQuickLink(p.Label, p.Url!)).ToList(); + .Select(p => new HeroQuickLink(p.Label, HubLinkValidator.ValidateAndResolve(p.Url, this, context) ?? p.Url!)) + .ToList(); OtherVersions = ParsePairs(Prop("versions"), allowEmptyUrl: true) - .Select(p => new HeroVersion(p.Label, p.Url)).ToList(); + .Select(p => new HeroVersion(p.Label, HubLinkValidator.ValidateAndResolve(p.Url, this, context))) + .ToList(); Releases = Prop("releases"); if (string.IsNullOrWhiteSpace(Title)) diff --git a/src/Elastic.Markdown/Myst/Directives/Hub/HubLinkValidator.cs b/src/Elastic.Markdown/Myst/Directives/Hub/HubLinkValidator.cs new file mode 100644 index 0000000000..159a59ab2e --- /dev/null +++ b/src/Elastic.Markdown/Myst/Directives/Hub/HubLinkValidator.cs @@ -0,0 +1,135 @@ +// Licensed to Elasticsearch B.V under one or more agreements. +// Elasticsearch B.V licenses this file to you under the Apache 2.0 License. +// See the LICENSE file in the project root for more information + +using Elastic.Documentation; +using Elastic.Documentation.Links; +using Elastic.Markdown.Diagnostics; + +namespace Elastic.Markdown.Myst.Directives.Hub; + +/// +/// Validates and resolves URL values supplied in hub directive YAML bodies and +/// options. These URLs never pass through Markdig's LinkInlineParser, so +/// without this helper the normal cross-link resolution, missing-file checks, +/// and link-index emission are skipped — broken hub links ship silently. +/// +/// Returns the resolved URL (or the original on failure) so callers can write +/// it back into their YAML data records. Errors / hints are emitted against +/// the supplying . +/// +internal static class HubLinkValidator +{ + /// + /// Validate and, when applicable, resolve cross-link + /// schemes to their final form. Returns the (possibly rewritten) URL. + /// + public static string? ValidateAndResolve(string? url, DirectiveBlock block, ParserContext context) + { + if (string.IsNullOrWhiteSpace(url) || block.SkipValidation) + return url; + + var trimmed = url.Trim(); + if (trimmed.Length == 0 || trimmed[0] == '#') + return url; + + if (trimmed.StartsWith("http://", StringComparison.OrdinalIgnoreCase) + || trimmed.StartsWith("https://", StringComparison.OrdinalIgnoreCase) + || trimmed.StartsWith("mailto:", StringComparison.OrdinalIgnoreCase)) + return url; + + if (Uri.TryCreate(trimmed, UriKind.Absolute, out var uri) && CrossLinkValidator.IsCrossLink(uri)) + return ResolveCrossLink(url, uri, block, context); + + // Treat anything else as a docset-internal path. Hub directives are authored + // with site-absolute paths (e.g. "/explore-analyze/discover.md"); relative + // paths don't have a meaningful base because the YAML body isn't anchored + // to a markdown file location the way an inline [text](url) link is. + if (!trimmed.StartsWith('/')) + { + block.EmitError($"Hub directive link `{url}` must be an absolute path starting with `/`, a cross-link scheme (e.g. `kibana://`), or an external URL."); + return url; + } + + ValidateInternal(url, block, context); + return url; + } + + private static string ResolveCrossLink(string original, Uri uri, DirectiveBlock block, ParserContext context) + { + var resolver = context.CrossLinkResolver; + if (!resolver.IsDeclaredCrossLinkScheme(uri.Scheme)) + { + // Custom passthrough protocols (cursor:, vscode:) — leave alone. + if (IsPassthroughCustomProtocolScheme(uri.Scheme)) + return original; + block.EmitError($"Hub directive link `{original}` uses cross-link scheme `{uri.Scheme}://` which is not declared under `cross_links` in docset.yml."); + return original; + } + + context.Build.Collector.EmitCrossLink(original); + return resolver.TryResolve(s => block.EmitError(s), uri, out var resolved) + ? resolved.ToString() + : original; + } + + private static void ValidateInternal(string url, DirectiveBlock block, ParserContext context) + { + // In Assembler/Codex builds an absolute path may target a file owned by a + // different docset (the assembled site is the union of all docsets), so the + // current docset's source dir isn't the right basis for an existence check. + // Cross-docset references should ideally use the cross-link scheme so they + // resolve through CrossLinkResolver, but we don't have a way to assert that + // at this layer yet — flagging here would produce false positives. + if (context.Build.BuildType != BuildType.Isolated) + return; + + var (path, _) = SplitAnchor(url); + if (string.IsNullOrEmpty(path) || path == "/") + return; + + var sourceDir = context.Build.DocumentationSourceDirectory.FullName; + var fs = context.Build.ReadFileSystem; + var rel = path.TrimStart('/'); + + // Probe candidates in order: as-given, with .md, with /index.md. + // docs-builder URLs typically omit .md, so authors write /explore-analyze/discover + // for /explore-analyze/discover.md or /explore-analyze/discover/index.md. + string[] candidates = path.EndsWith(".md", StringComparison.OrdinalIgnoreCase) + ? [rel] + : [rel, rel + ".md", rel.TrimEnd('/') + "/index.md"]; + + foreach (var candidate in candidates) + { + if (context.TryFindDocumentByRelativePath(candidate) is not null) + return; + var pathOnDisk = Path.GetFullPath(Path.Join(sourceDir, candidate)); + if (fs.File.Exists(pathOnDisk)) + return; + } + + // Honour configured redirects so old paths emit a hint, not an error. + if (context.Configuration.Redirects is not null + && context.Configuration.Redirects.TryGetValue(rel, out var redirect)) + { + var to = redirect.To + ?? (redirect.Many is not null + ? string.Join(", ", redirect.Many.Select(m => m.To)) + : "unknown"); + block.EmitWarning($"Hub directive link `{url}` has a redirect; update to: {to}"); + return; + } + + block.EmitError($"Hub directive link `{url}` does not exist. If it was recently removed add a redirect."); + } + + private static (string Path, string? Anchor) SplitAnchor(string url) + { + var hash = url.IndexOf('#'); + return hash < 0 ? (url, null) : (url[..hash], url[(hash + 1)..]); + } + + private static bool IsPassthroughCustomProtocolScheme(string scheme) => + scheme.Equals("cursor", StringComparison.OrdinalIgnoreCase) + || scheme.StartsWith("vscode", StringComparison.OrdinalIgnoreCase); +} diff --git a/src/Elastic.Markdown/Myst/Directives/Hub/LinkCardBlock.cs b/src/Elastic.Markdown/Myst/Directives/Hub/LinkCardBlock.cs index a116fd6e81..61fadeb63d 100644 --- a/src/Elastic.Markdown/Myst/Directives/Hub/LinkCardBlock.cs +++ b/src/Elastic.Markdown/Myst/Directives/Hub/LinkCardBlock.cs @@ -64,6 +64,15 @@ public override void FinalizeAndValidate(ParserContext context) if (string.IsNullOrWhiteSpace(Data.Title)) this.EmitError("{link-card} requires a `title` field in its YAML body."); + + Data.Link = HubLinkValidator.ValidateAndResolve(Data.Link, this, context); + foreach (var link in Data.Links) + link.Url = HubLinkValidator.ValidateAndResolve(link.Url, this, context); + if (Data.Aside is not null) + { + foreach (var link in Data.Aside.Links) + link.Url = HubLinkValidator.ValidateAndResolve(link.Url, this, context); + } } } diff --git a/src/Elastic.Markdown/Myst/Directives/Hub/WhatsNewBlock.cs b/src/Elastic.Markdown/Myst/Directives/Hub/WhatsNewBlock.cs index f61250d815..cf271a5ba8 100644 --- a/src/Elastic.Markdown/Myst/Directives/Hub/WhatsNewBlock.cs +++ b/src/Elastic.Markdown/Myst/Directives/Hub/WhatsNewBlock.cs @@ -49,6 +49,7 @@ public override void FinalizeAndValidate(ParserContext context) return; } Data = resolved; + ValidateLinks(context); return; } @@ -66,7 +67,18 @@ public override void FinalizeAndValidate(ParserContext context) catch (YamlException ex) { this.EmitError($"{{whats-new}} YAML parse error: {ex.Message}"); + return; } + + ValidateLinks(context); + } + + private void ValidateLinks(ParserContext context) + { + foreach (var link in Data.ReleaseLinks) + link.Url = HubLinkValidator.ValidateAndResolve(link.Url, this, context); + foreach (var item in Data.Items) + item.Link = HubLinkValidator.ValidateAndResolve(item.Link, this, context); } private WhatsNewData? LoadFromCentralConfig(string productKey) From 02a09795573ced2f253c4c921eccf773041c39e6 Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 12 May 2026 11:08:12 +0200 Subject: [PATCH 169/226] fix(synthetics): target redesigned landing page hero CTA Replace the 'Elastic Fundamentals' link locator with the new 'Get started' hero CTA, scoped to .landing-hero, since the redesigned landing page no longer exposes the prior label. --- .../synthetics/journeys/navigation-test.journey.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Elastic.Documentation.Site/synthetics/journeys/navigation-test.journey.ts b/src/Elastic.Documentation.Site/synthetics/journeys/navigation-test.journey.ts index 72544d6a5b..b7bc1dc6cc 100644 --- a/src/Elastic.Documentation.Site/synthetics/journeys/navigation-test.journey.ts +++ b/src/Elastic.Documentation.Site/synthetics/journeys/navigation-test.journey.ts @@ -26,9 +26,10 @@ journey('navigation test', ({ page, params }) => { await expect(page).toHaveTitle(/Elastic Docs \| Elastic Docs/) }) - step('Click on "Elastic Fundamentals"', async () => { + step('Click on "Get started" CTA in hero', async () => { await page - .getByRole('link', { name: 'Elastic Fundamentals' }) + .locator('.landing-hero') + .getByRole('link', { name: 'Get started' }) .first() .click() await expect(page).toHaveURL(`${host}/docs/get-started`) From b573d6fd4f654ce1775876aa8cac77d210ab1c26 Mon Sep 17 00:00:00 2001 From: Alex Cerezo Date: Tue, 12 May 2026 13:19:54 +0200 Subject: [PATCH 170/226] Fix isolated preview header stacking under Nav V2 chrome Raise z-index above sidebar/overlay, add border for separation, and style elastic-docs-header before custom element upgrade. Co-Authored-By: Claude Sonnet 4.6 (1M context) Co-authored-by: Cursor --- src/Elastic.Documentation.Site/Assets/isolated.css | 11 +++++++++++ .../Layout/_IsolatedHeader.cshtml | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Elastic.Documentation.Site/Assets/isolated.css b/src/Elastic.Documentation.Site/Assets/isolated.css index 50b6b1b5ef..6dd8e90079 100644 --- a/src/Elastic.Documentation.Site/Assets/isolated.css +++ b/src/Elastic.Documentation.Site/Assets/isolated.css @@ -5,6 +5,17 @@ --offset-top: 48px; } +/* + * Preview chrome must stack above the pages sidebar (z-40 on small screens) and the + * mobile drawer overlay (z-30). The host uses z-50 in _IsolatedHeader.cshtml. + * Until the custom element upgrades, keep a visible bar so the strip is not mistaken for “missing”. + */ +elastic-docs-header:not(:defined) { + display: block; + min-height: 48px; + background-color: var(--color-ink-navy); +} + elastic-docs-header .euiHeader { padding-inline: calc((100vw - var(--max-layout-width)) / 2 + 8px); } diff --git a/src/Elastic.Documentation.Site/Layout/_IsolatedHeader.cshtml b/src/Elastic.Documentation.Site/Layout/_IsolatedHeader.cshtml index e4b488c17a..2774f5eb1c 100644 --- a/src/Elastic.Documentation.Site/Layout/_IsolatedHeader.cshtml +++ b/src/Elastic.Documentation.Site/Layout/_IsolatedHeader.cshtml @@ -1,5 +1,5 @@ @inherits RazorSlice -
+
Date: Tue, 12 May 2026 13:58:01 +0200 Subject: [PATCH 171/226] fix(hub): skip hub link existence checks for dev_docs sandboxes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit dev_docs docsets (docs-builder's own /docs, etc.) are explicitly not linkable by the assembler and routinely host fixtures that reference cross-docset pages with bare absolute paths. Running the local-docset existence check on them produces false positives — the validator flagged dozens of legitimate cross-docset paths in the testing/products hub-page fixtures. Mirrors the existing BuildType.Isolated guard, which already opts out of the check when the build can't see the full assembled site. --- .../Myst/Directives/Hub/HubLinkValidator.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Elastic.Markdown/Myst/Directives/Hub/HubLinkValidator.cs b/src/Elastic.Markdown/Myst/Directives/Hub/HubLinkValidator.cs index 159a59ab2e..843c8d9f2b 100644 --- a/src/Elastic.Markdown/Myst/Directives/Hub/HubLinkValidator.cs +++ b/src/Elastic.Markdown/Myst/Directives/Hub/HubLinkValidator.cs @@ -84,6 +84,13 @@ private static void ValidateInternal(string url, DirectiveBlock block, ParserCon if (context.Build.BuildType != BuildType.Isolated) return; + // dev_docs sandboxes (docs-builder's own /docs, etc.) are not part of the + // assembled site and routinely host fixtures that reference cross-docset + // pages with bare absolute paths. Existence checks against the local docset + // would produce false positives. + if (context.Configuration.DevelopmentDocs) + return; + var (path, _) = SplitAnchor(url); if (string.IsNullOrEmpty(path) || path == "/") return; From a0bcc782e4e1041d0c2906afc482e86dd87faf89 Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 12 May 2026 14:39:06 +0200 Subject: [PATCH 172/226] Show Guide sidebar on docs landing page Treat the docs home as the Guide section capstone so the landing page can reuse the Nav V2 sidebar while keeping the page chrome minimal. Co-Authored-By: GPT-5.5 Co-authored-by: Cursor --- .../Assets/styles.css | 7 ++++- src/Elastic.Markdown/_Layout.cshtml | 29 ++++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/Elastic.Documentation.Site/Assets/styles.css b/src/Elastic.Documentation.Site/Assets/styles.css index 4c98057f7f..d6561acbf4 100644 --- a/src/Elastic.Documentation.Site/Assets/styles.css +++ b/src/Elastic.Documentation.Site/Assets/styles.css @@ -198,10 +198,15 @@ body:has([data-nav-v2]) aside.sidebar { } .sidebar #pages-nav .pages-nav-menu { - scrollbar-gutter: stable; + scrollbar-gutter: auto; + scrollbar-width: none; padding-right: 8px; } +.sidebar #pages-nav .pages-nav-menu::-webkit-scrollbar { + display: none; +} + /* Nav V2: stack list items vertically */ #pages-nav nav[data-nav-v2] ul { display: flex; diff --git a/src/Elastic.Markdown/_Layout.cshtml b/src/Elastic.Markdown/_Layout.cshtml index 20974384c7..1c5aa95411 100644 --- a/src/Elastic.Markdown/_Layout.cshtml +++ b/src/Elastic.Markdown/_Layout.cshtml @@ -69,6 +69,33 @@
} + + private async Task RenderLandingPage() + { +
+
+
+ @await RenderPartialAsync(_PagesNav.Create(Model)) +
+ +
+ +
+ @await RenderPartialAsync(_LandingPage.Create(Model)) +
+ @* Empty TOC slot so htmx hx-select-oob="#toc-nav" swaps don't fail when boosted from a regular page. *@ + +
+
+
+ } } @if (RenderHeaderAndFooter) @@ -90,7 +117,7 @@ await RenderPartialAsync(_NotFound.Create(Model)); break; case MarkdownPageLayout.LandingPage: - await RenderPartialAsync(_LandingPage.Create(Model)); + await RenderLandingPage(); break; case MarkdownPageLayout.Archive: await RenderPartialAsync(_Archive.Create(Model)); From 3cec0fc5eb4f17ecce74a4cc0a4c3bbecd40851d Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 12 May 2026 14:40:19 +0200 Subject: [PATCH 173/226] fix(nav-v2): restore section/island structure lost in merge 3a208ffb4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge 3a208ffb4 (Merge origin/nav-v2 into nav-v2-sections, May 8) resolved the config/navigation-v2.yml conflict by taking the nav-v2 side wholesale, which has no section: or island: keys. That wiped out seven section/island entries on this branch and broke the islands feature this PR introduces. Most visibly: /extend no longer renders as an isolated island and has no back arrow, because section: Extension points (isolated: true) was deleted from the YAML. Restores the section/island structure by porting from demo/findability (which preserved it through the hub-pages merge chain) and strips the hub-pages-only section: Products block. NavigationViewModel.cs already had its conflict resolved correctly during the merge, so no C# changes are needed. Sections restored: - section: Guides (top-level wrapper around all main content) - section: APIs (external URL to bump.sh) - section: Reference, with island: Logstash plugins and island: Logstash versioned plugins - section: Release notes - section: Troubleshoot - section: Extension points (isolated: true) — fixes /extend Co-Authored-By: Claude Opus 4.7 (1M context) --- config/navigation-v2.yml | 8023 ++++++++++++++++++++------------------ 1 file changed, 4229 insertions(+), 3794 deletions(-) diff --git a/config/navigation-v2.yml b/config/navigation-v2.yml index 4854f92056..5eb90e98f7 100644 --- a/config/navigation-v2.yml +++ b/config/navigation-v2.yml @@ -1,1511 +1,3635 @@ nav: - - label: Elasticsearch fundamentals + - section: Guides + url: / children: - - group: Get started in seconds - page: docs-content://get-started/index.md + - label: Elasticsearch fundamentals children: - - page: docs-content://get-started/evaluate-elastic.md - title: Evaluate Elastic during a trial - - group: Elasticsearch concepts - children: - - page: docs-content://manage-data/data-store.md - title: Elasticsearch essentials (Core document database) - - page: docs-content://manage-data/ingest.md - title: Ingest data into Elasticsearch - - page: docs-content://solutions/search.md - title: Core search features - - page: docs-content://explore-analyze/index.md - title: Visualize and analyze (Kibana) - - group: Use cases - children: - - page: docs-content://explore-analyze/geospatial-analysis.md - title: Geospatial analysis - - page: docs-content://solutions/search/site-or-app.md - title: Add search to your site or app - - page: docs-content://solutions/search/rag.md - title: RAG - - label: Install, deploy, and administer - children: - - group: Distributed architecture - page: docs-content://deploy-manage/distributed-architecture.md + - group: Get started in seconds + page: docs-content://get-started/index.md children: - - group: Clusters, nodes, and shards - page: docs-content://deploy-manage/distributed-architecture/clusters-nodes-shards.md - children: - - page: docs-content://deploy-manage/distributed-architecture/clusters-nodes-shards/node-roles.md - title: Node roles - - page: docs-content://deploy-manage/distributed-architecture/reading-and-writing-documents.md - title: Reading and writing documents - - group: Shard allocation, relocation, and recovery - page: docs-content://deploy-manage/distributed-architecture/shard-allocation-relocation-recovery.md - children: - - page: docs-content://deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/shard-allocation-awareness.md - title: Shard allocation awareness - - group: Index-level shard allocation filtering - page: docs-content://deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/index-level-shard-allocation.md - children: - - page: docs-content://deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/delaying-allocation-when-node-leaves.md - title: Delaying allocation when a node leaves - - page: docs-content://deploy-manage/distributed-architecture/shard-request-cache.md - title: The shard request cache - - group: Discovery and cluster formation - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation.md - children: - - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/discovery-hosts-providers.md - title: Discovery hosts providers - - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/modules-discovery-quorums.md - title: Quorum-based decision making - - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/modules-discovery-voting.md - title: Voting configurations - - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/modules-discovery-bootstrap-cluster.md - title: Bootstrapping a cluster - - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/cluster-state-overview.md - title: Cluster state - - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/cluster-fault-detection.md - title: Cluster fault detection - - page: docs-content://deploy-manage/distributed-architecture/kibana-tasks-management.md - title: Kibana task management - - group: Plan your install + - page: docs-content://get-started/evaluate-elastic.md + title: Evaluate Elastic during a trial + - group: Elasticsearch concepts children: - - page: docs-content://deploy-manage/deploy/deployment-comparison.md - title: Deployment comparison + - page: docs-content://manage-data/data-store.md + title: Elasticsearch essentials (Core document database) + - page: docs-content://manage-data/ingest.md + title: Ingest data into Elasticsearch + - page: docs-content://solutions/search.md + title: Core search features + - page: docs-content://explore-analyze/index.md + title: Visualize and analyze (Kibana) + - group: Use cases children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/differences-from-other-elasticsearch-offerings.md - title: Compare Cloud Hosted and Serverless - - page: docs-content://get-started/versioning-availability.md - title: Versioning and compatibility - - group: Reference architectures - page: docs-content://deploy-manage/reference-architectures.md + - page: docs-content://explore-analyze/geospatial-analysis.md + title: Geospatial analysis + - page: docs-content://solutions/search/site-or-app.md + title: Add search to your site or app + - page: docs-content://solutions/search/rag.md + title: RAG + - label: Install, deploy, and administer + children: + - group: Distributed architecture + page: docs-content://deploy-manage/distributed-architecture.md children: - - page: docs-content://deploy-manage/reference-architectures/hotfrozen-high-availability.md - title: Hot/Frozen - High Availability - - page: docs-content://deploy-manage/reference-architectures/genai-search-high-availability.md - title: GenAI Search - High Availability - - group: Production guidance - page: docs-content://deploy-manage/production-guidance.md + - group: Clusters, nodes, and shards + page: docs-content://deploy-manage/distributed-architecture/clusters-nodes-shards.md + children: + - page: docs-content://deploy-manage/distributed-architecture/clusters-nodes-shards/node-roles.md + title: Node roles + - page: docs-content://deploy-manage/distributed-architecture/reading-and-writing-documents.md + title: Reading and writing documents + - group: Shard allocation, relocation, and recovery + page: docs-content://deploy-manage/distributed-architecture/shard-allocation-relocation-recovery.md + children: + - page: docs-content://deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/shard-allocation-awareness.md + title: Shard allocation awareness + - group: Index-level shard allocation filtering + page: docs-content://deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/index-level-shard-allocation.md + children: + - page: docs-content://deploy-manage/distributed-architecture/shard-allocation-relocation-recovery/delaying-allocation-when-node-leaves.md + title: Delaying allocation when a node leaves + - page: docs-content://deploy-manage/distributed-architecture/shard-request-cache.md + title: The shard request cache + - group: Discovery and cluster formation + page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation.md + children: + - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/discovery-hosts-providers.md + title: Discovery hosts providers + - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/modules-discovery-quorums.md + title: Quorum-based decision making + - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/modules-discovery-voting.md + title: Voting configurations + - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/modules-discovery-bootstrap-cluster.md + title: Bootstrapping a cluster + - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/cluster-state-overview.md + title: Cluster state + - page: docs-content://deploy-manage/distributed-architecture/discovery-cluster-formation/cluster-fault-detection.md + title: Cluster fault detection + - page: docs-content://deploy-manage/distributed-architecture/kibana-tasks-management.md + title: Kibana task management + - group: Plan your install children: - - group: Run Elasticsearch in production - page: docs-content://deploy-manage/production-guidance/elasticsearch-in-production-environments.md - children: - - group: Design for resilience - page: docs-content://deploy-manage/production-guidance/availability-and-resilience.md - children: - - page: docs-content://deploy-manage/production-guidance/availability-and-resilience/resilience-in-small-clusters.md - title: Resilience in small clusters - - page: docs-content://deploy-manage/production-guidance/availability-and-resilience/resilience-in-larger-clusters.md - title: Resilience in larger clusters - - page: docs-content://deploy-manage/production-guidance/availability-and-resilience/resilience-in-ech.md - title: Resilience in ECH and ECE - - page: docs-content://deploy-manage/production-guidance/scaling-considerations.md - title: Scaling considerations - - group: Performance optimizations - page: docs-content://deploy-manage/production-guidance/optimize-performance.md - children: - - page: docs-content://deploy-manage/production-guidance/general-recommendations.md - title: General recommendations - - page: docs-content://deploy-manage/production-guidance/optimize-performance/indexing-speed.md - title: Tune for indexing speed - - page: docs-content://deploy-manage/production-guidance/optimize-performance/search-speed.md - title: Tune for search speed - - page: docs-content://deploy-manage/production-guidance/optimize-performance/approximate-knn-search.md - title: Tune approximate kNN search - - page: docs-content://deploy-manage/production-guidance/optimize-performance/disk-usage.md - title: Tune for disk usage - - page: docs-content://deploy-manage/production-guidance/optimize-performance/size-shards.md - title: Size your shards - - group: Run Kibana in production - page: docs-content://deploy-manage/production-guidance/kibana-in-production-environments.md - children: - - page: docs-content://deploy-manage/production-guidance/kibana-load-balance-traffic.md - title: High availability and load balancing - - page: docs-content://deploy-manage/production-guidance/kibana-configure-memory.md - title: Configure memory - - page: docs-content://deploy-manage/production-guidance/kibana-task-manager-scaling-considerations.md - title: Manage background tasks - - page: docs-content://deploy-manage/production-guidance/kibana-traffic-scaling-considerations.md - title: Traffic scaling considerations - - page: docs-content://deploy-manage/production-guidance/kibana-alerting-production-considerations.md - title: Optimize alerting performance - - page: docs-content://deploy-manage/production-guidance/kibana-reporting-production-considerations.md - title: Reporting production considerations - - group: Install and deploy Elasticsearch - page: docs-content://deploy-manage/deploy.md - children: - - title: Skills for installation and deployment - - group: Deploy in Elastic Cloud - page: docs-content://deploy-manage/deploy/elastic-cloud.md + - page: docs-content://deploy-manage/deploy/deployment-comparison.md + title: Deployment comparison + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/differences-from-other-elasticsearch-offerings.md + title: Compare Cloud Hosted and Serverless + - page: docs-content://get-started/versioning-availability.md + title: Versioning and compatibility + - group: Reference architectures + page: docs-content://deploy-manage/reference-architectures.md + children: + - page: docs-content://deploy-manage/reference-architectures/hotfrozen-high-availability.md + title: Hot/Frozen - High Availability + - page: docs-content://deploy-manage/reference-architectures/genai-search-high-availability.md + title: GenAI Search - High Availability + - group: Production guidance + page: docs-content://deploy-manage/production-guidance.md + children: + - group: Run Elasticsearch in production + page: docs-content://deploy-manage/production-guidance/elasticsearch-in-production-environments.md + children: + - group: Design for resilience + page: docs-content://deploy-manage/production-guidance/availability-and-resilience.md + children: + - page: docs-content://deploy-manage/production-guidance/availability-and-resilience/resilience-in-small-clusters.md + title: Resilience in small clusters + - page: docs-content://deploy-manage/production-guidance/availability-and-resilience/resilience-in-larger-clusters.md + title: Resilience in larger clusters + - page: docs-content://deploy-manage/production-guidance/availability-and-resilience/resilience-in-ech.md + title: Resilience in ECH and ECE + - page: docs-content://deploy-manage/production-guidance/scaling-considerations.md + title: Scaling considerations + - group: Performance optimizations + page: docs-content://deploy-manage/production-guidance/optimize-performance.md + children: + - page: docs-content://deploy-manage/production-guidance/general-recommendations.md + title: General recommendations + - page: docs-content://deploy-manage/production-guidance/optimize-performance/indexing-speed.md + title: Tune for indexing speed + - page: docs-content://deploy-manage/production-guidance/optimize-performance/search-speed.md + title: Tune for search speed + - page: docs-content://deploy-manage/production-guidance/optimize-performance/approximate-knn-search.md + title: Tune approximate kNN search + - page: docs-content://deploy-manage/production-guidance/optimize-performance/disk-usage.md + title: Tune for disk usage + - page: docs-content://deploy-manage/production-guidance/optimize-performance/size-shards.md + title: Size your shards + - group: Run Kibana in production + page: docs-content://deploy-manage/production-guidance/kibana-in-production-environments.md + children: + - page: docs-content://deploy-manage/production-guidance/kibana-load-balance-traffic.md + title: High availability and load balancing + - page: docs-content://deploy-manage/production-guidance/kibana-configure-memory.md + title: Configure memory + - page: docs-content://deploy-manage/production-guidance/kibana-task-manager-scaling-considerations.md + title: Manage background tasks + - page: docs-content://deploy-manage/production-guidance/kibana-traffic-scaling-considerations.md + title: Traffic scaling considerations + - page: docs-content://deploy-manage/production-guidance/kibana-alerting-production-considerations.md + title: Optimize alerting performance + - page: docs-content://deploy-manage/production-guidance/kibana-reporting-production-considerations.md + title: Reporting production considerations + - group: Install and deploy Elasticsearch + page: docs-content://deploy-manage/deploy.md children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/create-an-organization.md - title: Create an organization - children: - - group: Subscribe from a marketplace - page: docs-content://deploy-manage/deploy/elastic-cloud/subscribe-from-marketplace.md - children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/aws-marketplace.md - title: AWS Marketplace - - page: docs-content://deploy-manage/deploy/elastic-cloud/google-cloud-platform-marketplace.md - title: Google Cloud Platform Marketplace - - page: docs-content://deploy-manage/deploy/elastic-cloud/azure-native-isv-service.md - title: Azure Native ISV Service - - group: Elasticsearch Add-On for Heroku - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku.md - children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-getting-started-installing.md - title: Install the add-on + - title: Skills for installation and deployment + - group: Deploy in Elastic Cloud + page: docs-content://deploy-manage/deploy/elastic-cloud.md + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/create-an-organization.md + title: Create an organization + children: + - group: Subscribe from a marketplace + page: docs-content://deploy-manage/deploy/elastic-cloud/subscribe-from-marketplace.md + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/aws-marketplace.md + title: AWS Marketplace + - page: docs-content://deploy-manage/deploy/elastic-cloud/google-cloud-platform-marketplace.md + title: Google Cloud Platform Marketplace + - page: docs-content://deploy-manage/deploy/elastic-cloud/azure-native-isv-service.md + title: Azure Native ISV Service + - group: Elasticsearch Add-On for Heroku + page: docs-content://deploy-manage/deploy/elastic-cloud/heroku.md children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-getting-started-removing.md - title: Remove the add-on - - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-getting-started-accessing.md - title: Access the console - - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-working-with-elasticsearch.md - title: Work with Elasticsearch - - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-migrating.md - title: Migrate between plans - - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-reference-hardware.md - title: Hardware - - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-reference-regions.md - title: Regions - - group: Elastic Cloud Serverless - page: docs-content://deploy-manage/deploy/elastic-cloud/serverless.md + - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-getting-started-installing.md + title: Install the add-on + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-getting-started-removing.md + title: Remove the add-on + - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-getting-started-accessing.md + title: Access the console + - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-working-with-elasticsearch.md + title: Work with Elasticsearch + - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-migrating.md + title: Migrate between plans + - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-reference-hardware.md + title: Hardware + - page: docs-content://deploy-manage/deploy/elastic-cloud/heroku-reference-regions.md + title: Regions + - group: Elastic Cloud Serverless + page: docs-content://deploy-manage/deploy/elastic-cloud/serverless.md + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/create-serverless-project.md + title: Create a serverless project + - page: docs-content://deploy-manage/deploy/elastic-cloud/regions.md + title: Regions + - title: Production readiness checklist + - group: Elastic Cloud Hosted + page: docs-content://deploy-manage/deploy/elastic-cloud/cloud-hosted.md + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/create-an-elastic-cloud-hosted-deployment.md + title: Create a deployment + - title: Connect to Elasticsearch + - page: docs-content://deploy-manage/deploy/elastic-cloud/access-kibana.md # BOTH PHASES + title: Access Kibana + - group: Prepare for production + page: docs-content://deploy-manage/deploy/elastic-cloud/elastic-cloud-hosted-planning.md + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/ec-customize-deployment-components.md # BOTH PHASES + title: Customize deployment components + - title: Production readiness checklist + - page: docs-content://deploy-manage/deploy/elastic-cloud/fedramp.md + title: FedRAMP authorized Cloud offerings + # - page: docs-content://deploy-manage/deploy/elastic-cloud/azure-marketplace-pricing.md + # title: Azure Marketplace pricing + # - page: docs-content://deploy-manage/deploy/elastic-cloud/create-monthly-pay-as-you-go-subscription-on-aws-marketplace.md + # title: Monthly AWS subscription + # - page: docs-content://deploy-manage/deploy/elastic-cloud/create-monthly-pay-as-you-go-subscription-on-gcp-marketplace.md + # title: Monthly GCP subscription + # - page: docs-content://deploy-manage/deploy/elastic-cloud/complete-registration-of-an-annual-subscription-on-aws-marketplace.md + # title: Annual AWS subscription + - group: Elastic Cloud Enterprise + page: docs-content://deploy-manage/deploy/cloud-enterprise.md + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-architecture.md + title: Service-oriented architecture + - group: Prepare your environment + page: docs-content://deploy-manage/deploy/cloud-enterprise/prepare-environment.md + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/identify-deployment-scenario.md + title: Identify your deployment scenario + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-hardware-prereq.md + title: Hardware prerequisites + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-software-prereq.md + title: Software prerequisites + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-sysconfig.md + title: System configuration + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-networking-prereq.md + title: Networking prerequisites + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-users-permissions.md + title: Users and permissions + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-ha.md + title: High availability + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-roles.md + title: Separation of roles + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-jvm.md + title: JVM heap size + - group: Configure your operating system + page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-operating-system.md + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-host-ubuntu.md + title: Ubuntu + - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-host-rhel.md + title: RHEL + - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-host-suse.md + title: SUSE + - group: Install ECE + page: docs-content://deploy-manage/deploy/cloud-enterprise/install.md + children: + - group: Installation procedures + page: docs-content://deploy-manage/deploy/cloud-enterprise/install-ece-procedures.md + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/deploy-small-installation.md + title: Small installation + - page: docs-content://deploy-manage/deploy/cloud-enterprise/deploy-medium-installation.md + title: Medium installation + - page: docs-content://deploy-manage/deploy/cloud-enterprise/deploy-large-installation.md + title: Large installation + - page: docs-content://deploy-manage/deploy/cloud-enterprise/fresh-installation-of-ece-using-podman-hosts.md + title: Deploy using Podman + - page: docs-content://deploy-manage/deploy/cloud-enterprise/alternative-install-ece-with-ansible.md + title: Ansible playbook + - group: Air-gapped install + page: docs-content://deploy-manage/deploy/cloud-enterprise/air-gapped-install.md + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-install-offline-with-registry.md + title: With your private Docker registry + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-install-offline-no-registry.md + title: Without a private Docker registry + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-install-offline-images.md + title: Available Docker images + - page: docs-content://deploy-manage/deploy/cloud-enterprise/log-into-cloud-ui.md # BOTH PHASES + title: Log into the Cloud UI + - group: Post-installation + page: docs-content://deploy-manage/deploy/cloud-enterprise/post-installation-steps.md + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-wildcard-dns.md + title: Wildcard DNS and certificates + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-load-balancers.md + title: Load balancers + - page: docs-content://deploy-manage/deploy/cloud-enterprise/system-deployments-configuration.md # BOTH PHASES + title: System deployments configuration + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/default-system-deployment-versions.md + title: Default system deployment versions + - group: Create your first deployment + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/create-deployment.md # BOTH PHASES + title: Create a deployment + - page: docs-content://deploy-manage/deploy/cloud-enterprise/connect-elasticsearch.md # BOTH PHASES + title: Connect to Elasticsearch + - page: docs-content://deploy-manage/deploy/cloud-enterprise/access-kibana.md # BOTH PHASES + title: Access Kibana + - group: Elastic Cloud on Kubernetes + page: docs-content://deploy-manage/deploy/cloud-on-k8s.md children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/create-serverless-project.md - title: Create a serverless project - - page: docs-content://deploy-manage/deploy/elastic-cloud/regions.md - title: Regions + - group: Deploy an orchestrator + page: docs-content://deploy-manage/deploy/cloud-on-k8s/install.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/install-using-yaml-manifest-quickstart.md + title: YAML manifests + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/install-using-helm-chart.md + title: Helm chart + - group: Deploy on OpenShift + page: docs-content://deploy-manage/deploy/cloud-on-k8s/deploy-eck-on-openshift.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-deploy-operator.md + title: Deploy the operator + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-deploy-elasticsearch.md + title: Deploy Elasticsearch + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-deploy-kibana.md + title: Deploy Kibana + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-anyuid-workaround.md + title: anyuid SCC workaround + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/deploy-eck-on-gke-autopilot.md + title: Deploy on GKE Autopilot + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/eck-gdch.md + title: Deploy on Google Distributed Cloud air-gapped + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/deploy-fips-compatible-version-of-eck.md + title: FIPS compatibility + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/air-gapped-install.md + title: Air-gapped environments + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/required-rbac-permissions.md # BOTH PHASES + title: Required RBAC permissions + - group: Deploy your first workloads + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/elasticsearch-deployment-quickstart.md + title: Deploy an Elasticsearch cluster + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/kibana-instance-quickstart.md + title: Deploy a Kibana instance + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/accessing-services.md # BOTH PHASES + title: Accessing services - title: Production readiness checklist - - group: Elastic Cloud Hosted - page: docs-content://deploy-manage/deploy/elastic-cloud/cloud-hosted.md + - group: Self-managed cluster + page: docs-content://deploy-manage/deploy/self-managed.md children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/create-an-elastic-cloud-hosted-deployment.md - title: Create a deployment - - title: Connect to Elasticsearch - - page: docs-content://deploy-manage/deploy/elastic-cloud/access-kibana.md # BOTH PHASES + - group: Install Elasticsearch + page: docs-content://deploy-manage/deploy/self-managed/installing-elasticsearch.md + children: + - page: docs-content://deploy-manage/deploy/self-managed/local-development-installation-quickstart.md + title: Local installation (quickstart) + - group: Important system configuration + page: docs-content://deploy-manage/deploy/self-managed/important-system-configuration.md + children: + - page: docs-content://deploy-manage/deploy/self-managed/elasticsearch-service-user.md + title: Elasticsearch service user + - page: docs-content://deploy-manage/deploy/self-managed/setting-system-settings.md + title: Configuration methods + - page: docs-content://deploy-manage/deploy/self-managed/setup-configuration-memory.md + title: Disable swapping + - page: docs-content://deploy-manage/deploy/self-managed/file-descriptors.md + title: File descriptors + - page: docs-content://deploy-manage/deploy/self-managed/vm-max-map-count.md + title: Virtual memory + - page: docs-content://deploy-manage/deploy/self-managed/max-number-of-threads.md + title: Increase max number of threads + - page: docs-content://deploy-manage/deploy/self-managed/executable-jna-tmpdir.md + title: JNA temporary directory + - page: docs-content://deploy-manage/deploy/self-managed/system-config-tcpretries.md + title: TCP retransmission timeout + - page: docs-content://deploy-manage/deploy/self-managed/bootstrap-checks.md + title: Bootstrap checks + - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-from-archive-on-linux-macos.md + title: Linux or macOS archive + - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-with-zip-on-windows.md + title: Windows .zip + - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-with-debian-package.md + title: Debian package + - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-with-rpm.md + title: RPM + - group: Docker + page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-with-docker.md + children: + - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-docker-basic.md + title: Single-node cluster + - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-docker-compose.md + title: Multi-node with Docker Compose + - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-docker-prod.md + title: Docker in production + - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-docker-configure.md + title: Configure with Docker + - page: docs-content://deploy-manage/deploy/self-managed/important-settings-configuration.md + title: Important Elasticsearch settings + - page: docs-content://deploy-manage/deploy/self-managed/configure-elasticsearch.md # BOTH PHASES + title: Configure Elasticsearch + - group: Install Kibana + page: docs-content://deploy-manage/deploy/self-managed/install-kibana.md + children: + - page: docs-content://deploy-manage/deploy/self-managed/install-kibana-from-archive-on-linux-macos.md + title: Linux or macOS archive + - page: docs-content://deploy-manage/deploy/self-managed/install-kibana-on-windows.md + title: Windows + - page: docs-content://deploy-manage/deploy/self-managed/install-kibana-with-debian-package.md + title: Debian package + - page: docs-content://deploy-manage/deploy/self-managed/install-kibana-with-rpm.md + title: RPM + - page: docs-content://deploy-manage/deploy/self-managed/install-kibana-with-docker.md + title: Docker + - page: docs-content://deploy-manage/deploy/self-managed/configure-kibana.md # BOTH PHASES + title: Configure Kibana + - title: Access Elasticsearch + - page: docs-content://deploy-manage/deploy/self-managed/access-kibana.md # BOTH PHASES title: Access Kibana - - group: Prepare for production - page: docs-content://deploy-manage/deploy/elastic-cloud/elastic-cloud-hosted-planning.md + - page: docs-content://deploy-manage/deploy/self-managed/air-gapped-install.md + title: Air-gapped install + - group: Tutorials + page: docs-content://deploy-manage/deploy/self-managed/tutorials.md children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/ec-customize-deployment-components.md # BOTH PHASES - title: Customize deployment components - - title: Production readiness checklist - - page: docs-content://deploy-manage/deploy/elastic-cloud/fedramp.md - title: FedRAMP authorized Cloud offerings - # - page: docs-content://deploy-manage/deploy/elastic-cloud/azure-marketplace-pricing.md - # title: Azure Marketplace pricing - # - page: docs-content://deploy-manage/deploy/elastic-cloud/create-monthly-pay-as-you-go-subscription-on-aws-marketplace.md - # title: Monthly AWS subscription - # - page: docs-content://deploy-manage/deploy/elastic-cloud/create-monthly-pay-as-you-go-subscription-on-gcp-marketplace.md - # title: Monthly GCP subscription - # - page: docs-content://deploy-manage/deploy/elastic-cloud/complete-registration-of-an-annual-subscription-on-aws-marketplace.md - # title: Annual AWS subscription - - group: Elastic Cloud Enterprise - page: docs-content://deploy-manage/deploy/cloud-enterprise.md + - page: docs-content://deploy-manage/deploy/self-managed/tutorial-self-managed-install.md + title: Install a self-managed Elastic Stack + - page: docs-content://deploy-manage/deploy/self-managed/tutorial-self-managed-secure.md + title: Customize TLS certificates for a self-managed Elastic Stack + - title: Production readiness checklist + - group: Administer your orchestrator, deployment, or project + page: docs-content://deploy-manage/index.md children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-architecture.md - title: Service-oriented architecture - - group: Prepare your environment - page: docs-content://deploy-manage/deploy/cloud-enterprise/prepare-environment.md - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/identify-deployment-scenario.md - title: Identify your deployment scenario - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-hardware-prereq.md - title: Hardware prerequisites - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-software-prereq.md - title: Software prerequisites - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-sysconfig.md - title: System configuration - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-networking-prereq.md - title: Networking prerequisites - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-users-permissions.md - title: Users and permissions - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-ha.md - title: High availability - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-roles.md - title: Separation of roles - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-jvm.md - title: JVM heap size - - group: Configure your operating system - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-operating-system.md - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-host-ubuntu.md - title: Ubuntu - - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-host-rhel.md - title: RHEL - - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-host-suse.md - title: SUSE - - group: Install ECE - page: docs-content://deploy-manage/deploy/cloud-enterprise/install.md - children: - - group: Installation procedures - page: docs-content://deploy-manage/deploy/cloud-enterprise/install-ece-procedures.md - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/deploy-small-installation.md - title: Small installation - - page: docs-content://deploy-manage/deploy/cloud-enterprise/deploy-medium-installation.md - title: Medium installation - - page: docs-content://deploy-manage/deploy/cloud-enterprise/deploy-large-installation.md - title: Large installation - - page: docs-content://deploy-manage/deploy/cloud-enterprise/fresh-installation-of-ece-using-podman-hosts.md - title: Deploy using Podman - - page: docs-content://deploy-manage/deploy/cloud-enterprise/alternative-install-ece-with-ansible.md - title: Ansible playbook - - group: Air-gapped install - page: docs-content://deploy-manage/deploy/cloud-enterprise/air-gapped-install.md - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-install-offline-with-registry.md - title: With your private Docker registry - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-install-offline-no-registry.md - title: Without a private Docker registry - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-install-offline-images.md - title: Available Docker images - - page: docs-content://deploy-manage/deploy/cloud-enterprise/log-into-cloud-ui.md # BOTH PHASES - title: Log into the Cloud UI - - group: Post-installation - page: docs-content://deploy-manage/deploy/cloud-enterprise/post-installation-steps.md - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-wildcard-dns.md - title: Wildcard DNS and certificates - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-load-balancers.md - title: Load balancers - - page: docs-content://deploy-manage/deploy/cloud-enterprise/system-deployments-configuration.md # BOTH PHASES - title: System deployments configuration - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/default-system-deployment-versions.md - title: Default system deployment versions - - group: Create your first deployment - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/create-deployment.md # BOTH PHASES - title: Create a deployment - - page: docs-content://deploy-manage/deploy/cloud-enterprise/connect-elasticsearch.md # BOTH PHASES - title: Connect to Elasticsearch - - page: docs-content://deploy-manage/deploy/cloud-enterprise/access-kibana.md # BOTH PHASES + - title: Administration skills + - label: Deployment-specific administration + - group: Elastic Cloud Hosted + children: + - group: Manage deployments + page: docs-content://deploy-manage/deploy/elastic-cloud/manage-deployments.md + children: + - group: Configure + page: docs-content://deploy-manage/deploy/elastic-cloud/configure.md + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/ec-change-hardware-profile.md + title: Manage hardware profiles + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/change-hardware.md + title: Change instance configuration + - page: docs-content://deploy-manage/deploy/elastic-cloud/ec-customize-deployment-components.md # BOTH PHASES + title: Customize deployment components + - page: docs-content://deploy-manage/deploy/elastic-cloud/edit-stack-settings.md + title: Edit stack settings + - page: docs-content://deploy-manage/deploy/elastic-cloud/add-plugins-extensions.md + title: Add plugins and extensions + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/upload-custom-plugins-bundles.md + title: Upload custom plugins + - page: docs-content://deploy-manage/deploy/elastic-cloud/manage-plugins-extensions-through-api.md + title: Manage through the API + - page: docs-content://deploy-manage/deploy/elastic-cloud/custom-endpoint-aliases.md + title: Custom endpoint aliases + - page: docs-content://deploy-manage/deploy/elastic-cloud/manage-integrations-server.md + title: Manage Integrations Server + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/switch-from-apm-to-integrations-server-payload.md + title: Switch from APM to Integrations Server + - page: docs-content://deploy-manage/deploy/elastic-cloud/find-cloud-id.md + title: Find your Cloud ID + - page: docs-content://deploy-manage/deploy/elastic-cloud/manage-deployments-using-elastic-cloud-api.md + title: Manage deployments using the API + - page: docs-content://deploy-manage/deploy/elastic-cloud/keep-track-of-deployment-activity.md + title: Keep track of deployment activity + - page: docs-content://deploy-manage/deploy/elastic-cloud/access-kibana.md # BOTH PHASES title: Access Kibana - - group: Elastic Cloud on Kubernetes - page: docs-content://deploy-manage/deploy/cloud-on-k8s.md - children: - - group: Deploy an orchestrator - page: docs-content://deploy-manage/deploy/cloud-on-k8s/install.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/install-using-yaml-manifest-quickstart.md - title: YAML manifests - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/install-using-helm-chart.md - title: Helm chart - - group: Deploy on OpenShift - page: docs-content://deploy-manage/deploy/cloud-on-k8s/deploy-eck-on-openshift.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-deploy-operator.md - title: Deploy the operator - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-deploy-elasticsearch.md - title: Deploy Elasticsearch - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-deploy-kibana.md - title: Deploy Kibana - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-anyuid-workaround.md - title: anyuid SCC workaround - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/deploy-eck-on-gke-autopilot.md - title: Deploy on GKE Autopilot - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/eck-gdch.md - title: Deploy on Google Distributed Cloud air-gapped - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/deploy-fips-compatible-version-of-eck.md - title: FIPS compatibility - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/air-gapped-install.md - title: Air-gapped environments - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/required-rbac-permissions.md # BOTH PHASES - title: Required RBAC permissions - - group: Deploy your first workloads - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/elasticsearch-deployment-quickstart.md - title: Deploy an Elasticsearch cluster - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/kibana-instance-quickstart.md - title: Deploy a Kibana instance - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/accessing-services.md # BOTH PHASES - title: Accessing services - - title: Production readiness checklist - - group: Self-managed cluster - page: docs-content://deploy-manage/deploy/self-managed.md - children: - - group: Install Elasticsearch - page: docs-content://deploy-manage/deploy/self-managed/installing-elasticsearch.md - children: - - page: docs-content://deploy-manage/deploy/self-managed/local-development-installation-quickstart.md - title: Local installation (quickstart) - - group: Important system configuration - page: docs-content://deploy-manage/deploy/self-managed/important-system-configuration.md - children: - - page: docs-content://deploy-manage/deploy/self-managed/elasticsearch-service-user.md - title: Elasticsearch service user - - page: docs-content://deploy-manage/deploy/self-managed/setting-system-settings.md - title: Configuration methods - - page: docs-content://deploy-manage/deploy/self-managed/setup-configuration-memory.md - title: Disable swapping - - page: docs-content://deploy-manage/deploy/self-managed/file-descriptors.md - title: File descriptors - - page: docs-content://deploy-manage/deploy/self-managed/vm-max-map-count.md - title: Virtual memory - - page: docs-content://deploy-manage/deploy/self-managed/max-number-of-threads.md - title: Increase max number of threads - - page: docs-content://deploy-manage/deploy/self-managed/executable-jna-tmpdir.md - title: JNA temporary directory - - page: docs-content://deploy-manage/deploy/self-managed/system-config-tcpretries.md - title: TCP retransmission timeout - - page: docs-content://deploy-manage/deploy/self-managed/bootstrap-checks.md - title: Bootstrap checks - - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-from-archive-on-linux-macos.md - title: Linux or macOS archive - - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-with-zip-on-windows.md - title: Windows .zip - - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-with-debian-package.md - title: Debian package - - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-with-rpm.md - title: RPM - - group: Docker - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-with-docker.md - children: - - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-docker-basic.md - title: Single-node cluster - - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-docker-compose.md - title: Multi-node with Docker Compose - - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-docker-prod.md - title: Docker in production - - page: docs-content://deploy-manage/deploy/self-managed/install-elasticsearch-docker-configure.md - title: Configure with Docker - - page: docs-content://deploy-manage/deploy/self-managed/important-settings-configuration.md - title: Important Elasticsearch settings + - page: docs-content://deploy-manage/deploy/elastic-cloud/ec-vcpu-boost-instance.md + title: vCPU boosting and credits + - page: docs-content://deploy-manage/deploy/elastic-cloud/available-stack-versions.md + title: Available stack versions + - page: docs-content://deploy-manage/deploy/elastic-cloud/restrictions-known-problems.md + title: Restrictions and known problems + - page: docs-content://deploy-manage/deploy/elastic-cloud/tools-apis.md + title: Tools and APIs + - group: Elastic Cloud Serverless + children: + - page: docs-content://deploy-manage/deploy/elastic-cloud/project-settings.md + title: Manage project settings + - page: docs-content://deploy-manage/deploy/elastic-cloud/manage-serverless-projects-using-api.md + title: Manage projects with API + - page: docs-content://deploy-manage/deploy/elastic-cloud/tools-apis.md + title: Tools and APIs + - group: Elastic Cloud Enterprise + children: + - group: Manage your orchestrator + page: docs-content://deploy-manage/deploy/cloud-enterprise/configure.md + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/log-into-cloud-ui.md # BOTH PHASES + title: Log into the Cloud UI + - page: docs-content://deploy-manage/deploy/cloud-enterprise/assign-roles-to-hosts.md + title: Assign roles to hosts + - page: docs-content://deploy-manage/deploy/cloud-enterprise/system-deployments-configuration.md # BOTH PHASES + title: System deployments configuration + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/default-system-deployment-versions.md + title: Default system deployment versions + - group: Deployment templates + page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-deployment-templates.md # BOTH PHASES + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/deployment-templates.md # BOTH PHASES + title: Deployment templates reference + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-tag-allocators.md + title: Tag allocators + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-instance-configurations-edit.md + title: Edit instance configurations + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-instance-configurations-create.md + title: Create instance configurations + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-create-templates.md + title: Create templates + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-configure-system-templates.md + title: Configure default templates + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configure-templates-index-management.md + title: Configure index management + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ce-add-support-for-node-roles-autoscaling.md + title: Data tiers and autoscaling support + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-ce-add-support-for-integrations-server.md + title: Integrations server support + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-instance-configurations-default.md + title: Default instance configurations + - page: docs-content://deploy-manage/deploy/cloud-enterprise/change-ece-api-url.md + title: Change the API URL + - page: docs-content://deploy-manage/deploy/cloud-enterprise/change-endpoint-urls.md + title: Change endpoint URLs + - page: docs-content://deploy-manage/deploy/cloud-enterprise/enable-custom-endpoint-aliases.md + title: Enable custom endpoint aliases + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-manage-capacity.md + title: Manage allocator capacity + - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-allocator-affinity.md + title: Configure allocator affinity + - page: docs-content://deploy-manage/deploy/cloud-enterprise/change-allocator-disconnect-timeout.md + title: Change allocator disconnect timeout + - page: docs-content://deploy-manage/deploy/cloud-enterprise/install-ece-on-additional-hosts.md + title: Add hosts + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/generate-roles-tokens.md + title: Manage roles tokens + - page: docs-content://deploy-manage/deploy/cloud-enterprise/migrate-ece-to-podman-hosts.md + title: Migrate to Podman + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/migrate-to-podman-5.md + title: Migrate to Podman 5 + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-include-additional-kibana-plugin.md + title: Include additional Kibana plugins + - page: docs-content://deploy-manage/deploy/cloud-enterprise/manage-elastic-stack-versions.md + title: Manage stack versions + - page: docs-content://deploy-manage/deploy/cloud-enterprise/statistics-collected-by-cloud-enterprise.md + title: Statistics collected by ECE + - page: docs-content://deploy-manage/deploy/cloud-enterprise/tools-apis.md + title: Tools and APIs + - group: Manage deployments + page: docs-content://deploy-manage/deploy/cloud-enterprise/working-with-deployments.md + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/deployment-templates.md # BOTH PHASES + title: Deployment templates reference + - page: docs-content://deploy-manage/deploy/cloud-enterprise/create-deployment.md # BOTH PHASES + title: Create a deployment + - page: docs-content://deploy-manage/deploy/cloud-enterprise/access-kibana.md # BOTH PHASES + title: Access Kibana + - page: docs-content://deploy-manage/deploy/cloud-enterprise/connect-elasticsearch.md # BOTH PHASES + title: Connect to Elasticsearch + - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-deployment.md + title: Configure + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/customize-deployment.md + title: Customize deployment components + - page: docs-content://deploy-manage/deploy/cloud-enterprise/edit-stack-settings.md + title: Edit stack settings + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/edit-stack-settings-elasticsearch.md + title: Elasticsearch user settings + - page: docs-content://deploy-manage/deploy/cloud-enterprise/edit-stack-settings-kibana.md + title: Kibana user settings + - page: docs-content://deploy-manage/deploy/cloud-enterprise/edit-stack-settings-apm.md + title: APM user settings + - page: docs-content://deploy-manage/deploy/cloud-enterprise/edit-stack-settings-enterprise.md + title: Enterprise search user settings + - page: docs-content://deploy-manage/deploy/cloud-enterprise/resize-deployment.md + title: Resize a deployment + - page: docs-content://deploy-manage/deploy/cloud-enterprise/add-plugins.md + title: Add plugins and extensions + - page: docs-content://deploy-manage/deploy/cloud-enterprise/add-custom-bundles-plugins.md + title: Add custom bundles and plugins + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-regional-deployment-aliases.md + title: Custom endpoint aliases + - page: docs-content://deploy-manage/deploy/cloud-enterprise/resource-overrides.md + title: Resource overrides + - page: docs-content://deploy-manage/deploy/cloud-enterprise/advanced-cluster-configuration.md + title: Advanced cluster configuration + - page: docs-content://deploy-manage/deploy/cloud-enterprise/search-filter-deployments.md + title: Search and filter deployments + - page: docs-content://deploy-manage/deploy/cloud-enterprise/keep-track-of-deployment-activity.md + title: Keep track of deployment activity + - page: docs-content://deploy-manage/deploy/cloud-enterprise/manage-integrations-server.md + title: Manage Integrations Server + children: + - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-integrations-server-api-example.md + title: Enable through the API + - page: docs-content://deploy-manage/deploy/cloud-enterprise/switch-from-apm-to-integrations-server-payload.md + title: Switch from APM + - group: Elastic Cloud on Kubernetes + children: + - group: Manage the ECK operator + page: docs-content://deploy-manage/deploy/cloud-on-k8s/configure.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configure-eck.md + title: Apply configuration settings + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configure-validating-webhook.md + title: Validating webhook + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/restrict-cross-namespace-resource-associations.md + title: Cross-namespace restrictions + - group: Service meshes + page: docs-content://deploy-manage/deploy/cloud-on-k8s/service-meshes.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-service-mesh-istio.md + title: Istio + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-service-mesh-linkerd.md + title: Linkerd + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/webhook-namespace-selectors.md + title: Webhook namespace selectors + - group: Manage deployments and workloads + page: docs-content://deploy-manage/deploy/cloud-on-k8s/manage-deployments.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/managing-deployments-using-helm-chart.md + title: Elastic Stack Helm chart + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/update-deployments.md + title: Applying updates + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/accessing-services.md # BOTH PHASES + title: Accessing services + - group: Configure deployments + page: docs-content://deploy-manage/deploy/cloud-on-k8s/configure-deployments.md + children: + - group: Elasticsearch configuration + page: docs-content://deploy-manage/deploy/cloud-on-k8s/elasticsearch-configuration.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/nodes-orchestration.md + title: Nodes orchestration + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/storage-recommendations.md + title: Storage recommendations + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/node-configuration.md + title: Node configuration + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/volume-claim-templates.md + title: Volume claim templates + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/virtual-memory.md + title: Virtual memory + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/settings-managed-by-eck.md + title: Settings managed by ECK + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/custom-configuration-files-plugins.md + title: Custom configuration files and plugins + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/init-containers-for-plugin-downloads.md + title: Init containers for plugins + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/update-strategy.md + title: Update strategy + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/pod-disruption-budget.md + title: Pod disruption budget + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/advanced-elasticsearch-node-scheduling.md + title: Advanced node scheduling + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/readiness-probe.md + title: Readiness probe + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/pod-prestop-hook.md + title: Pod PreStop hook + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/security-context.md + title: Security context + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/requests-routing-to-elasticsearch-nodes.md + title: Traffic splitting + - group: Kibana configuration + page: docs-content://deploy-manage/deploy/cloud-on-k8s/kibana-configuration.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-kibana-es.md + title: Connect Kibana to Elasticsearch + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-kibana-advanced-configuration.md + title: Advanced configuration + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-kibana-plugins.md + title: Kibana plugins + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/customize-pods.md + title: Customize pods + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/propagate-labels-annotations.md + title: Labels and annotations + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/manage-compute-resources.md + title: Compute resources + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/recipes.md + title: Recipes + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/connect-to-external-elastic-resources.md + title: Connect to external resources + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/elastic-stack-configuration-policies.md + title: Stack configuration policies + - group: Other Elastic applications + page: docs-content://deploy-manage/deploy/cloud-on-k8s/orchestrate-other-elastic-applications.md + children: + - group: APM Server + page: docs-content://deploy-manage/deploy/cloud-on-k8s/apm-server.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/use-an-elasticsearch-cluster-managed-by-eck.md + title: Use an ECK-managed cluster + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/advanced-configuration.md + title: Advanced configuration + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/connect-to-apm-server.md + title: Connect to APM Server + - group: Standalone Elastic Agent + page: docs-content://deploy-manage/deploy/cloud-on-k8s/standalone-elastic-agent.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/quickstart-standalone.md + title: Quickstart + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-standalone.md + title: Configuration + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-examples-standalone.md + title: Configuration examples + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-agent.md + title: Agent on OpenShift + - group: Fleet-managed Elastic Agent + page: docs-content://deploy-manage/deploy/cloud-on-k8s/fleet-managed-elastic-agent.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/quickstart-fleet.md + title: Quickstart + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-fleet.md + title: Configuration + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-examples-fleet.md + title: Configuration examples + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/known-limitations.md + title: Known limitations + - group: Elastic Maps Server + page: docs-content://deploy-manage/deploy/cloud-on-k8s/elastic-maps-server.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/deploy-elastic-maps-server.md + title: Deploy Maps Server + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/map-data.md + title: Map data + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/advanced-configuration-maps-server.md + title: Advanced configuration + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/http-configuration.md + title: HTTP configuration + - group: Beats + page: docs-content://deploy-manage/deploy/cloud-on-k8s/beats.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/quickstart-beats.md + title: Quickstart + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-beats.md + title: Configuration + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-examples-beats.md + title: Configuration examples + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/troubleshooting-beats.md + title: Troubleshooting + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-beats.md + title: Beats on OpenShift + - group: Logstash + page: docs-content://deploy-manage/deploy/cloud-on-k8s/logstash.md + children: + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/quickstart-logstash.md + title: Quickstart + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-logstash.md + title: Configuration + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/securing-logstash-api.md + title: Securing the API + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/logstash-plugins.md + title: Plugins + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-examples-logstash.md + title: Configuration examples + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/update-strategy-logstash.md + title: Update strategy + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/advanced-configuration-logstash.md + title: Advanced configuration + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/package-registry.md + title: Elastic Package Registry + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/create-custom-images.md + title: Custom images + - page: docs-content://deploy-manage/deploy/cloud-on-k8s/tools-apis.md + title: Tools and APIs + - group: Self-managed clusters + children: - page: docs-content://deploy-manage/deploy/self-managed/configure-elasticsearch.md # BOTH PHASES title: Configure Elasticsearch - - group: Install Kibana - page: docs-content://deploy-manage/deploy/self-managed/install-kibana.md - children: - - page: docs-content://deploy-manage/deploy/self-managed/install-kibana-from-archive-on-linux-macos.md - title: Linux or macOS archive - - page: docs-content://deploy-manage/deploy/self-managed/install-kibana-on-windows.md - title: Windows - - page: docs-content://deploy-manage/deploy/self-managed/install-kibana-with-debian-package.md - title: Debian package - - page: docs-content://deploy-manage/deploy/self-managed/install-kibana-with-rpm.md - title: RPM - - page: docs-content://deploy-manage/deploy/self-managed/install-kibana-with-docker.md - title: Docker - - page: docs-content://deploy-manage/deploy/self-managed/configure-kibana.md # BOTH PHASES + - page: docs-content://deploy-manage/deploy/self-managed/configure-kibana.md title: Configure Kibana - - title: Access Elasticsearch - - page: docs-content://deploy-manage/deploy/self-managed/access-kibana.md # BOTH PHASES - title: Access Kibana - - page: docs-content://deploy-manage/deploy/self-managed/air-gapped-install.md - title: Air-gapped install - - group: Tutorials - page: docs-content://deploy-manage/deploy/self-managed/tutorials.md - children: - - page: docs-content://deploy-manage/deploy/self-managed/tutorial-self-managed-install.md - title: Install a self-managed Elastic Stack - - page: docs-content://deploy-manage/deploy/self-managed/tutorial-self-managed-secure.md - title: Customize TLS certificates for a self-managed Elastic Stack - - title: Production readiness checklist - - group: Administer your orchestrator, deployment, or project - page: docs-content://deploy-manage/index.md + - page: docs-content://deploy-manage/deploy/self-managed/plugins.md + title: Manage plugins + - page: docs-content://deploy-manage/deploy/self-managed/access-kibana.md + title: Access Kibana + - page: docs-content://deploy-manage/deploy/self-managed/tools-apis.md + title: Tools and APIs + - label: ─── + - group: Security and encryption + page: docs-content://deploy-manage/security.md + children: + - page: docs-content://deploy-manage/security/secure-hosting-environment.md + title: "Secure your orchestrator" + children: + - page: docs-content://deploy-manage/security/secure-your-elastic-cloud-enterprise-installation.md + title: "Elastic Cloud Enterprise" + children: + - page: docs-content://deploy-manage/security/secure-your-elastic-cloud-enterprise-installation/manage-security-certificates.md + title: "Manage security certificates" + - page: docs-content://deploy-manage/security/secure-your-elastic-cloud-enterprise-installation/allow-x509-certificates-signed-with-sha-1.md + title: "Allow X.509 certificates signed with SHA-1" + - page: docs-content://deploy-manage/security/secure-your-elastic-cloud-enterprise-installation/configure-tls-version.md + title: "Configure the TLS version" + - page: docs-content://deploy-manage/security/secure-your-elastic-cloud-enterprise-installation/migrate-ece-on-podman-hosts-to-selinux-enforce.md + title: "Migrate ECE on Podman hosts to SELinux enforce" + - page: docs-content://deploy-manage/security/secure-your-eck-installation.md + title: "Elastic Cloud on Kubernetes" + - page: docs-content://deploy-manage/security/secure-your-cluster-deployment.md + title: "Secure your cluster, deployment, or project" + children: + - page: docs-content://deploy-manage/security/self-setup.md + title: "Self-managed security setup" + children: + - page: docs-content://deploy-manage/security/self-auto-setup.md + title: "Automatic security setup" + - page: docs-content://deploy-manage/security/set-up-minimal-security.md + title: "Minimal security setup" + - page: docs-content://deploy-manage/security/set-up-basic-security.md + title: "Set up transport TLS" + - page: docs-content://deploy-manage/security/set-up-basic-security-plus-https.md + title: "Set up HTTPS" + - page: docs-content://deploy-manage/security/using-kibana-with-security.md + title: "Configure security in Kibana" + - page: docs-content://deploy-manage/security/secure-cluster-communications.md + title: "Manage TLS encryption" + children: + - page: docs-content://deploy-manage/security/self-tls.md + title: "Self-managed" + children: + - page: docs-content://deploy-manage/security/updating-certificates.md + title: "Update TLS certificates" + children: + - page: docs-content://deploy-manage/security/same-ca.md + title: "With the same CA" + - page: docs-content://deploy-manage/security/different-ca.md + title: "With a different CA" + - page: docs-content://deploy-manage/security/kibana-es-mutual-tls.md + title: "Mutual authentication" + - page: docs-content://deploy-manage/security/supported-ssltls-versions-by-jdk-version.md + title: "Supported SSL/TLS versions by JDK version" + - page: docs-content://deploy-manage/security/enabling-cipher-suites-for-stronger-encryption.md + title: "Enabling cipher suites for stronger encryption" + - page: docs-content://deploy-manage/security/eck-tls.md + title: "ECK" + children: + - page: docs-content://deploy-manage/security/k8s-https-settings.md + title: "Manage HTTP certificates on ECK" + - page: docs-content://deploy-manage/security/k8s-transport-settings.md + title: Manage transport certificates on ECK + - page: docs-content://deploy-manage/security/k8s-es-client-certificate-auth.md + title: "Client certificate authentication" + - page: docs-content://deploy-manage/security/external-ca-transport.md + title: "External CA for TLS" + - page: docs-content://deploy-manage/security/network-security.md + title: "Network security" + children: + - page: docs-content://deploy-manage/security/network-security-policies.md + title: "How network security policies work in Cloud" + - page: docs-content://deploy-manage/security/ece-filter-rules.md + title: "How IP filtering rules work in ECE" + - page: docs-content://deploy-manage/security/ip-filtering.md + title: "Add IP filters" + children: + - page: docs-content://deploy-manage/security/ip-filtering-cloud.md + title: "In ECH or Serverless" + - page: docs-content://deploy-manage/security/ip-filtering-ece.md + title: "In ECE" + - page: docs-content://deploy-manage/security/ip-filtering-basic.md + title: "In ECK and Self Managed" + - page: docs-content://deploy-manage/security/remote-cluster-filtering.md + title: "Remote cluster filters" + - page: docs-content://deploy-manage/security/private-connectivity.md + title: "Private connectivity" + children: + - page: docs-content://deploy-manage/security/private-connectivity-aws.md + title: "AWS PrivateLink" + - page: docs-content://deploy-manage/security/private-connectivity-azure.md + title: "Azure Private Link" + - page: docs-content://deploy-manage/security/private-connectivity-gcp.md + title: "GCP Private Service Connect" + - page: docs-content://deploy-manage/security/claim-private-connection-api.md + title: "Claim private connection ownership" + - page: docs-content://deploy-manage/security/network-security-api.md + title: "Through the API" + - page: docs-content://deploy-manage/security/k8s-network-policies.md + title: "Kubernetes network policies" + - page: docs-content://deploy-manage/security/elastic-cloud-static-ips.md + title: "Elastic Cloud static IPs" + - page: docs-content://deploy-manage/security/kibana-session-management.md + title: "Kibana session management" + - page: docs-content://deploy-manage/security/data-security.md + title: "Encrypt your deployment data" + children: + - page: docs-content://deploy-manage/security/encrypt-deployment-with-customer-managed-encryption-key.md + title: "Use a customer-managed encryption key" + - page: docs-content://deploy-manage/security/secure-settings.md + title: "Secure your settings" + children: + - page: docs-content://deploy-manage/security/k8s-secure-settings.md + title: "Secure settings on ECK" + - page: docs-content://deploy-manage/security/secure-saved-objects.md + title: "Secure Kibana saved objects" + - page: docs-content://deploy-manage/security/logging-configuration/security-event-audit-logging.md + title: "Security event audit logging" + children: + - page: docs-content://deploy-manage/security/logging-configuration/enabling-audit-logs.md + title: "Enable audit logging" + - page: docs-content://deploy-manage/security/logging-configuration/configuring-audit-logs.md + title: Configure audit logging + children: + - page: docs-content://deploy-manage/security/logging-configuration/logfile-audit-events-ignore-policies.md + title: "Elasticsearch audit events ignore policies" + - page: docs-content://deploy-manage/security/logging-configuration/logfile-audit-output.md + title: "Elasticsearch logfile output" + - page: docs-content://deploy-manage/security/logging-configuration/auditing-search-queries.md + title: Audit Elasticsearch search queries + - page: docs-content://deploy-manage/security/logging-configuration/correlating-kibana-elasticsearch-audit-logs.md + title: "Correlate audit events" + - page: docs-content://deploy-manage/security/secure-clients-integrations.md + title: Secure other Elastic Stack components + - page: docs-content://deploy-manage/security/httprest-clients-security.md + title: Securing HTTP client applications + - page: docs-content://deploy-manage/security/limitations.md + title: "Limitations" + - page: docs-content://deploy-manage/security/fips.md + title: FIPS compliance + children: + - page: docs-content://deploy-manage/security/fips-es.md + title: FIPS compliance for Elasticsearch + - page: docs-content://deploy-manage/security/fips-kib.md + title: FIPS compliance for Kibana + - page: docs-content://deploy-manage/security/fips-ingest.md + title: FIPS mode for Ingest tools + - group: Authentication and authorization + page: docs-content://deploy-manage/users-roles.md + children: + - page: docs-content://deploy-manage/users-roles/cloud-organization.md + title: "Cloud organization" + children: + - page: docs-content://deploy-manage/users-roles/cloud-organization/manage-users.md + title: Manage users + - page: docs-content://deploy-manage/users-roles/cloud-organization/user-roles.md + title: User roles and privileges + - page: docs-content://deploy-manage/users-roles/cloud-organization/configure-saml-authentication.md + title: "Configure SAML SSO" + children: + - page: docs-content://deploy-manage/users-roles/cloud-organization/register-elastic-cloud-saml-in-okta.md + title: "Okta" + - page: docs-content://deploy-manage/users-roles/cloud-organization/register-elastic-cloud-saml-in-microsoft-entra-id.md + title: "Microsoft Entra ID" + - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator.md + title: "ECE orchestrator" + children: + - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/manage-system-passwords.md + title: Manage system passwords + - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/manage-users-roles.md + title: Manage users and roles + children: + - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/native-user-authentication.md + title: Native users + - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/active-directory.md + title: Active Directory + - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/ldap.md + title: LDAP + - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/saml.md + title: SAML + - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/configure-sso-for-deployments.md + title: Configure SSO for deployments + - page: docs-content://deploy-manage/users-roles/serverless-custom-roles.md + title: Serverless project custom roles + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth.md + title: "Cluster or deployment" + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/quickstart.md + title: "Quickstart" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/user-authentication.md + title: User authentication + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md + title: Authentication realms + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/realm-chains.md + title: Realm chains + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/security-domains.md + title: Security domains + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/internal-authentication.md + title: Internal authentication + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/native.md + title: "Native" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/file-based.md + title: "File-based" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/external-authentication.md + title: External authentication + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/active-directory.md + title: "Active Directory" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/jwt.md + title: "JWT" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/kerberos.md + title: "Kerberos" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/ldap.md + title: "LDAP" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/openid-connect.md + title: "OpenID Connect" + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/oidc-examples.md + title: "With Azure, Google, or Okta" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/saml.md + title: "SAML" + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/saml-entra.md + title: "With Microsoft Entra ID" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/pki.md + title: PKI + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/custom.md + title: Custom realms + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/built-in-users.md + title: "Built-in users" + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/built-in-sm.md + title: "Change passwords" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/orchestrator-managed-users-overview.md + title: "Orchestrator-managed users" + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/manage-elastic-user-cloud.md + title: "ECH and ECE" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/managed-credentials-eck.md + title: "ECK managed credentials" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/kibana-authentication.md + title: "Kibana authentication" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/access-agreement.md + title: Kibana access agreement + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/anonymous-access.md + title: Anonymous access + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services.md + title: Token-based authentication services + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/service-accounts.md + title: Service accounts + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/internal-users.md + title: Internal users + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/operator-privileges.md + title: Operator privileges + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/configure-operator-privileges.md + title: Configure operator privileges + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/operator-only-functionality.md + title: Operator-only functionality + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/operator-privileges-for-snapshot-restore.md + title: Operator privileges for snapshot and restore + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/user-profiles.md + title: User profiles + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/looking-up-users-without-authentication.md + title: Looking up users without authentication + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/controlling-user-cache.md + title: Controlling the user cache + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/manage-authentication-for-multiple-clusters.md + title: Manage authentication for multiple clusters + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md + title: User roles + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md + title: Defining roles + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/role-structure.md + title: Role structure + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/granting-privileges-for-data-streams-aliases.md + title: "For data streams and aliases" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/kibana-role-management.md + title: "Using Kibana" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/role-restriction.md + title: Role restriction + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/kibana-privileges.md + title: Kibana privileges + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/mapping-users-groups-to-roles.md + title: "Map users and groups to roles" + children: + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/role-mapping-resources.md + title: "Role mapping properties" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/authorization-delegation.md + title: Authorization delegation + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/authorization-plugins.md + title: Authorization plugins + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md + title: "Control access at the document and field level" + - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/submitting-requests-on-behalf-of-other-users.md + title: "Submit requests on behalf of other users" + - group: API keys + page: docs-content://deploy-manage/api-keys.md + children: + - page: docs-content://deploy-manage/api-keys/elasticsearch-api-keys.md + title: Elasticsearch API keys + - page: docs-content://deploy-manage/api-keys/serverless-project-api-keys.md + title: Serverless project API keys + - page: docs-content://deploy-manage/api-keys/elastic-cloud-api-keys.md + title: Elastic Cloud API keys + - page: docs-content://deploy-manage/api-keys/elastic-cloud-enterprise-api-keys.md + title: Elastic Cloud Enterprise API keys + - group: Spaces + page: docs-content://deploy-manage/manage-spaces.md + - group: Monitoring + page: docs-content://deploy-manage/monitor.md + children: + - page: docs-content://deploy-manage/monitor/autoops.md + title: AutoOps + children: + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-how-to-access.md + title: "For Elastic Cloud Hosted" + - page: docs-content://deploy-manage/monitor/autoops/autoops-for-serverless.md + title: "For Elastic Cloud Serverless" + children: + - page: docs-content://deploy-manage/monitor/autoops/access-autoops-for-serverless.md + title: "Access AutoOps in your project" + - page: docs-content://deploy-manage/monitor/autoops/search-tier-view-autoops-serverless.md + title: "Search Tier view" + - page: docs-content://deploy-manage/monitor/autoops/indexing-tier-view-autoops-serverless.md + title: "Indexing Tier view" + - page: docs-content://deploy-manage/monitor/autoops/search-ai-lake-view-autoops-serverless.md + title: "Search AI Lake view" + - page: docs-content://deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md + title: "For ECE, ECK, and self-managed clusters" + children: + - page: docs-content://deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md + title: "Connect your cluster" + - page: docs-content://deploy-manage/monitor/autoops/cc-connect-local-dev-to-autoops.md + title: "Connect your local development cluster" + - page: docs-content://deploy-manage/monitor/autoops/autoops-sm-custom-certification.md + title: "Configure Elastic agent with custom certificate" + - page: docs-content://deploy-manage/monitor/autoops/autoops-disable-metrics-collection.md + title: "Disable certain types of data collection" + - page: docs-content://deploy-manage/monitor/autoops/cc-manage-users.md + title: "Manage connected cluster users" + - page: docs-content://deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md + title: "Troubleshooting" + children: + - page: docs-content://deploy-manage/monitor/autoops/autoops-connectivity-check.md + title: "Run the Connectivity Check" + - page: docs-content://deploy-manage/monitor/autoops/autoops-sm-troubleshoot-firewalls.md + title: "Firewalls blocking Elastic Agent" + - page: docs-content://deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md + title: "Connected clusters not appearing with ECK" + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-regions.md + title: "Regions" + - page: docs-content://deploy-manage/monitor/autoops/views.md + title: "Views" + children: + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-overview-view.md + title: "Overview" + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-deployment-view.md + title: "Deployment or Cluster" + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-nodes-view.md + title: "Nodes" + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-index-view.md + title: "Indices" + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-shards-view.md + title: "Shards" + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-template-optimizer.md + title: "Template Optimizer" + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-events.md + title: "Events" + children: + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-event-settings.md + title: Event Settings + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-notifications-settings.md + title: Notifications Settings + - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-faq.md + title: "FAQ" + - page: docs-content://deploy-manage/monitor/stack-monitoring.md + title: Stack monitoring + children: + - page: docs-content://deploy-manage/monitor/stack-monitoring/ece-ech-stack-monitoring.md + title: "Enable on ECH and ECE" + - page: docs-content://deploy-manage/monitor/stack-monitoring/eck-stack-monitoring.md + title: "Enable on ECK" + - page: docs-content://deploy-manage/monitor/stack-monitoring/elasticsearch-monitoring-self-managed.md + title: "Self-managed: Elasticsearch" + children: + - page: docs-content://deploy-manage/monitor/stack-monitoring/collecting-monitoring-data-with-elastic-agent.md + title: "Collecting monitoring data with Elastic Agent" + - page: docs-content://deploy-manage/monitor/stack-monitoring/collecting-monitoring-data-with-metricbeat.md + title: "Collecting monitoring data with Metricbeat" + - page: docs-content://deploy-manage/monitor/stack-monitoring/collecting-log-data-with-filebeat.md + title: "Collecting log data with Filebeat" + - page: docs-content://deploy-manage/monitor/stack-monitoring/es-self-monitoring-prod.md + title: Monitoring in a production environment + - page: docs-content://deploy-manage/monitor/stack-monitoring/es-legacy-collection-methods.md + title: "Legacy collection methods" + children: + - page: docs-content://deploy-manage/monitor/stack-monitoring/es-monitoring-collectors.md + title: Collectors + - page: docs-content://deploy-manage/monitor/stack-monitoring/es-monitoring-exporters.md + title: Exporters + - page: docs-content://deploy-manage/monitor/stack-monitoring/es-local-exporter.md + title: Local exporters + - page: docs-content://deploy-manage/monitor/stack-monitoring/es-http-exporter.md + title: HTTP exporters + - page: docs-content://deploy-manage/monitor/stack-monitoring/es-pause-export.md + title: Pausing data collection + - page: docs-content://deploy-manage/monitor/stack-monitoring/kibana-monitoring-self-managed.md + title: "Self-managed: Kibana" + children: + - page: docs-content://deploy-manage/monitor/stack-monitoring/kibana-monitoring-elastic-agent.md + title: "Collect monitoring data with Elastic Agent" + - page: docs-content://deploy-manage/monitor/stack-monitoring/kibana-monitoring-metricbeat.md + title: "Collect monitoring data with Metricbeat" + - page: docs-content://deploy-manage/monitor/stack-monitoring/kibana-monitoring-legacy.md + title: "Legacy collection methods" + - page: docs-content://deploy-manage/monitor/stack-monitoring/kibana-monitoring-data.md + title: Access monitoring data in Kibana + - page: docs-content://deploy-manage/monitor/monitoring-data/visualizing-monitoring-data.md + title: Visualizing monitoring data + children: + - page: docs-content://deploy-manage/monitor/monitoring-data/beats-page.md + title: Beats metrics + - page: docs-content://deploy-manage/monitor/monitoring-data/elasticsearch-metrics.md + title: Elasticsearch metrics + - page: docs-content://deploy-manage/monitor/monitoring-data/kibana-page.md + title: Kibana metrics + - page: docs-content://deploy-manage/monitor/monitoring-data/integrations-server-page.md + title: Integrations Server metrics + - page: docs-content://deploy-manage/monitor/monitoring-data/logstash-page.md + title: Logstash metrics + - page: docs-content://deploy-manage/monitor/monitoring-data/monitor-troubleshooting.md + title: "Troubleshooting" + - page: docs-content://deploy-manage/monitor/monitoring-data/configure-stack-monitoring-alerts.md + title: Stack monitoring alerts + - page: docs-content://deploy-manage/monitor/monitoring-data/configuring-data-streamsindices-for-monitoring.md + title: Configuring monitoring data streams and indices + children: + - page: docs-content://deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-elastic-agent.md + title: Configuring data streams created by Elastic Agent + - page: docs-content://deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-metricbeat-8.md + title: Configuring data streams created by Metricbeat 8 + - page: docs-content://deploy-manage/monitor/monitoring-data/config-monitoring-indices-metricbeat-7-internal-collection.md + title: Configuring indices created by Metricbeat 7 or internal collection + - page: docs-content://deploy-manage/monitor/autoops-vs-stack-monitoring.md + title: "AutoOps vs. Stack Monitoring" + - page: docs-content://deploy-manage/monitor/cloud-health-perf.md + title: "Cloud deployment health" + children: + - page: docs-content://deploy-manage/monitor/access-performance-metrics-on-elastic-cloud.md + title: Performance metrics on Elastic Cloud + - page: docs-content://deploy-manage/monitor/ec-memory-pressure.md + title: JVM memory pressure indicator + - page: docs-content://deploy-manage/monitor/kibana-task-manager-health-monitoring.md + title: "Kibana task manager monitoring" + - page: docs-content://deploy-manage/monitor/orchestrators.md + title: Monitoring orchestrators + children: + - page: docs-content://deploy-manage/monitor/orchestrators/eck-metrics-configuration.md + title: ECK operator metrics + children: + - page: docs-content://deploy-manage/monitor/orchestrators/k8s-enabling-metrics-endpoint.md + title: Enabling the metrics endpoint + - page: docs-content://deploy-manage/monitor/orchestrators/k8s-securing-metrics-endpoint.md + title: Securing the metrics endpoint + - page: docs-content://deploy-manage/monitor/orchestrators/k8s-prometheus-requirements.md + title: Prometheus requirements + - page: docs-content://deploy-manage/monitor/orchestrators/ece-platform-monitoring.md + title: ECE platform monitoring + children: + - page: docs-content://deploy-manage/monitor/orchestrators/ece-monitoring-ece-access.md + title: Platform monitoring deployment logs and metrics + - page: docs-content://deploy-manage/monitor/orchestrators/ece-proxy-log-fields.md + title: Proxy log fields + - page: docs-content://deploy-manage/monitor/orchestrators/ece-monitoring-ece-set-retention.md + title: Set the retention period for logging and metrics indices + - page: docs-content://deploy-manage/monitor/logging-configuration.md + title: Logging + children: + - page: docs-content://deploy-manage/monitor/logging-configuration/elasticsearch-log4j-configuration-self-managed.md + title: Elasticsearch log4j configuration + - page: docs-content://deploy-manage/monitor/logging-configuration/update-elasticsearch-logging-levels.md + title: Update Elasticsearch logging levels + - page: docs-content://deploy-manage/monitor/logging-configuration/elasticsearch-deprecation-logs.md + title: Elasticsearch deprecation logs + - page: docs-content://deploy-manage/monitor/logging-configuration/slow-logs.md + title: Slow query and index logging + - page: docs-content://deploy-manage/monitor/logging-configuration/kibana-logging.md + title: Kibana logging + children: + - page: docs-content://deploy-manage/monitor/logging-configuration/kibana-log-levels.md + title: Set global log levels for Kibana + - page: docs-content://deploy-manage/monitor/logging-configuration/kib-advanced-logging.md + title: Advanced Kibana logging settings + children: + - page: docs-content://deploy-manage/monitor/logging-configuration/kibana-log-settings-examples.md + title: "Examples" + - page: docs-content://deploy-manage/kibana-reporting-configuration.md + title: Configure Kibana reporting + - group: Backup, high availability, and resilience tools + page: docs-content://deploy-manage/tools.md + children: + - page: docs-content://deploy-manage/tools/snapshot-and-restore.md + title: Snapshot and restore + children: + - page: docs-content://deploy-manage/tools/snapshot-and-restore/manage-snapshot-repositories.md + title: Manage snapshot repositories + children: + - page: docs-content://deploy-manage/tools/snapshot-and-restore/self-managed.md + title: "Self-managed" + children: + - page: docs-content://deploy-manage/tools/snapshot-and-restore/azure-repository.md + title: Azure repository + - page: docs-content://deploy-manage/tools/snapshot-and-restore/google-cloud-storage-repository.md + title: Google Cloud Storage repository + - page: docs-content://deploy-manage/tools/snapshot-and-restore/s3-repository.md + title: S3 repository + - page: docs-content://deploy-manage/tools/snapshot-and-restore/shared-file-system-repository.md + title: Shared file system repository + - page: docs-content://deploy-manage/tools/snapshot-and-restore/read-only-url-repository.md + title: Read-only URL repository + - page: docs-content://deploy-manage/tools/snapshot-and-restore/source-only-repository.md + title: Source-only repository + - page: docs-content://deploy-manage/tools/snapshot-and-restore/elastic-cloud-hosted.md + title: "Elastic Cloud Hosted" + children: + - page: docs-content://deploy-manage/tools/snapshot-and-restore/ec-aws-custom-repository.md + title: "AWS S3" + - page: docs-content://deploy-manage/tools/snapshot-and-restore/ec-gcs-snapshotting.md + title: "Google Cloud Storage" + - page: docs-content://deploy-manage/tools/snapshot-and-restore/ec-azure-snapshotting.md + title: "Azure Blob Storage" + - page: docs-content://deploy-manage/tools/snapshot-and-restore/access-isolation-for-found-snapshots-repository.md + title: Access isolation for the found-snapshots repository + children: + - page: docs-content://deploy-manage/tools/snapshot-and-restore/repository-isolation-on-azure.md + title: "Azure" + - page: docs-content://deploy-manage/tools/snapshot-and-restore/repository-isolation-on-aws-gcp.md + title: "AWS and GCP" + - page: docs-content://deploy-manage/tools/snapshot-and-restore/cloud-enterprise.md + title: "Elastic Cloud Enterprise" + children: + - page: docs-content://deploy-manage/tools/snapshot-and-restore/ece-aws-custom-repository.md + title: "AWS S3" + - page: docs-content://deploy-manage/tools/snapshot-and-restore/google-cloud-storage-gcs-repository.md + title: "Google Cloud Storage" + - page: docs-content://deploy-manage/tools/snapshot-and-restore/azure-storage-repository.md + title: Azure Storage repository + - page: docs-content://deploy-manage/tools/snapshot-and-restore/minio-on-premise-repository.md + title: MinIO self-managed repository + - page: docs-content://deploy-manage/tools/snapshot-and-restore/cloud-on-k8s.md + title: "Elastic Cloud on Kubernetes" + - page: docs-content://deploy-manage/tools/snapshot-and-restore/create-snapshots.md + title: Create, monitor and delete snapshots + - page: docs-content://deploy-manage/tools/snapshot-and-restore/restore-snapshot.md + title: Restore a snapshot + children: + - page: docs-content://deploy-manage/tools/snapshot-and-restore/ece-restore-across-clusters.md + title: Restore a snapshot across clusters + children: + - page: docs-content://deploy-manage/tools/snapshot-and-restore/ece-restore-snapshots-into-new-deployment.md + title: Restore snapshot into a new deployment + - page: docs-content://deploy-manage/tools/snapshot-and-restore/ece-restore-snapshots-into-existing-deployment.md + title: Restore snapshot into an existing deployment + - page: docs-content://deploy-manage/tools/snapshot-and-restore/ece-restore-snapshots-containing-searchable-snapshots-indices-across-clusters.md + title: Restore snapshots containing searchable snapshots indices across clusters + - page: docs-content://deploy-manage/tools/snapshot-and-restore/searchable-snapshots.md + title: Searchable snapshots + - page: docs-content://deploy-manage/tools/cross-cluster-replication.md + title: Cross-cluster replication + children: + - page: docs-content://deploy-manage/tools/cross-cluster-replication/set-up-cross-cluster-replication.md + title: "Set up cross-cluster replication" + children: + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-getting-started-prerequisites.md + title: "Prerequisites" + - page: docs-content://deploy-manage/tools/cross-cluster-replication/_connect_to_a_remote_cluster.md + title: Connect to a remote cluster + - page: docs-content://deploy-manage/tools/cross-cluster-replication/_configure_privileges_for_cross_cluster_replication_2.md + title: Configure privileges for cross-cluster replication + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-getting-started-follower-index.md + title: Create a follower index to replicate a specific index + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-getting-started-auto-follow.md + title: Create an auto-follow pattern to replicate time series indices + - page: docs-content://deploy-manage/tools/cross-cluster-replication/manage-cross-cluster-replication.md + title: Manage cross-cluster replication + children: + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-inspect-progress.md + title: Inspect replication statistics + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-pause-replication.md + title: Pause and resume replication + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-recreate-follower-index.md + title: Recreate a follower index + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-terminate-replication.md + title: Terminate replication + - page: docs-content://deploy-manage/tools/cross-cluster-replication/manage-auto-follow-patterns.md + title: Manage auto-follow patterns + children: + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-create.md + title: Create auto-follow patterns + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-retrieve.md + title: Retrieve auto-follow patterns + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-pause.md + title: Pause and resume auto-follow patterns + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-delete.md + title: Delete auto-follow patterns + - page: docs-content://deploy-manage/tools/cross-cluster-replication/upgrading-clusters.md + title: "Upgrading clusters" + children: + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-uni-directional-upgrade.md + title: Uni-directional index following + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-bi-directional-upgrade.md + title: Bi-directional index following + - page: docs-content://deploy-manage/tools/cross-cluster-replication/uni-directional-disaster-recovery.md + title: "Uni-directional disaster recovery" + children: + - page: docs-content://deploy-manage/tools/cross-cluster-replication/_prerequisites_14.md + title: "Prerequisites" + - page: docs-content://deploy-manage/tools/cross-cluster-replication/_failover_when_clustera_is_down.md + title: "Failover when clusterA is down" + - page: docs-content://deploy-manage/tools/cross-cluster-replication/_failback_when_clustera_comes_back.md + title: "Failback when clusterA comes back" + - page: docs-content://deploy-manage/tools/cross-cluster-replication/bi-directional-disaster-recovery.md + title: "Bi-directional disaster recovery" + children: + - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-tutorial-initial-setup.md + title: Initial setup + - page: docs-content://deploy-manage/tools/cross-cluster-replication/_failover_when_clustera_is_down_2.md + title: "Failover when clusterA is down" + - page: docs-content://deploy-manage/tools/cross-cluster-replication/_failback_when_clustera_comes_back_2.md + title: "Failback when clusterA comes back" + - page: docs-content://deploy-manage/tools/cross-cluster-replication/_perform_update_or_delete_by_query.md + title: Perform update or delete by query + - group: Autoscaling + page: docs-content://deploy-manage/autoscaling.md + children: + - page: docs-content://deploy-manage/autoscaling/autoscaling-in-ece-and-ech.md + title: "In ECE and ECH" + - page: docs-content://deploy-manage/autoscaling/autoscaling-in-eck.md + title: "In ECK" + - page: docs-content://deploy-manage/autoscaling/autoscaling-deciders.md + title: Autoscaling deciders + - page: docs-content://deploy-manage/autoscaling/trained-model-autoscaling.md + title: Trained model autoscaling + - page: docs-content://deploy-manage/stack-settings.md + title: Stack settings + - page: docs-content://deploy-manage/manage-connectors.md + title: Connectors + - group: Remote clusters + page: docs-content://deploy-manage/remote-clusters.md + children: + - page: docs-content://deploy-manage/remote-clusters/security-models.md + title: "Security models" + - page: docs-content://deploy-manage/remote-clusters/connection-modes.md + title: "Connection modes" + - page: docs-content://deploy-manage/remote-clusters/ec-enable-ccs.md + title: "On Elastic Cloud Hosted" + children: + - page: docs-content://deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md + title: "To the same Elastic Cloud organization" + - page: docs-content://deploy-manage/remote-clusters/ec-remote-cluster-other-ess.md + title: "To a different Elastic Cloud organization" + - page: docs-content://deploy-manage/remote-clusters/ec-remote-cluster-ece.md + title: "To Elastic Cloud Enterprise" + - page: docs-content://deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md + title: "To a self-managed cluster" + - page: docs-content://deploy-manage/remote-clusters/ec-enable-ccs-for-eck.md + title: "To Elastic Cloud on Kubernetes" + - page: docs-content://deploy-manage/remote-clusters/ec-remote-cluster-strong-identity.md + title: "Strong identity verification" + - page: docs-content://deploy-manage/remote-clusters/ec-edit-remove-trusted-environment.md + title: "Manage trusted environments" + - page: docs-content://deploy-manage/remote-clusters/ec-migrate-ccs.md + title: "Migrate from the CCS deployment template" + - page: docs-content://deploy-manage/remote-clusters/ece-enable-ccs.md + title: "On Elastic Cloud Enterprise" + children: + - page: docs-content://deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md + title: "To the same ECE environment" + - page: docs-content://deploy-manage/remote-clusters/ece-remote-cluster-other-ece.md + title: "To a different ECE environment" + - page: docs-content://deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md + title: "To Elastic Cloud" + - page: docs-content://deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md + title: "To a self-managed cluster" + - page: docs-content://deploy-manage/remote-clusters/ece-enable-ccs-for-eck.md + title: "To Elastic Cloud on Kubernetes" + - page: docs-content://deploy-manage/remote-clusters/ece-edit-remove-trusted-environment.md + title: "Manage trusted environments" + - page: docs-content://deploy-manage/remote-clusters/ece-migrate-ccs.md + title: "Migrate from the CCS deployment template" + - page: docs-content://deploy-manage/remote-clusters/remote-clusters-self-managed.md + title: "On self-managed Elastic Stack" + children: + - page: docs-content://deploy-manage/remote-clusters/remote-clusters-api-key.md + title: Add remote clusters using API key authentication + - page: docs-content://deploy-manage/remote-clusters/remote-clusters-cert.md + title: Add remote clusters using TLS certificate authentication + - page: docs-content://deploy-manage/remote-clusters/self-remote-cluster-eck.md + title: "To Elastic Cloud on Kubernetes" + - page: docs-content://deploy-manage/remote-clusters/remote-clusters-migrate.md + title: "Migrate from certificate to API key authentication" + - page: docs-content://deploy-manage/remote-clusters/eck-remote-clusters-landing.md + title: "On Elastic Cloud on Kubernetes" + children: + - page: docs-content://deploy-manage/remote-clusters/eck-remote-clusters.md + title: "To the same ECK environment" + - page: docs-content://deploy-manage/remote-clusters/eck-remote-clusters-to-other-eck.md + title: "To a different ECK environment" + - page: docs-content://deploy-manage/remote-clusters/eck-remote-clusters-to-external.md + title: "To an external cluster or deployment" + - group: Cross-project search + page: docs-content://deploy-manage/cross-project-search-config.md + children: + - page: docs-content://deploy-manage/cross-project-search-config/cps-config-link-and-manage.md + title: Link and manage projects + - page: docs-content://deploy-manage/cross-project-search-config/cps-config-access-and-scope.md + title: Access and scope + - page: docs-content://deploy-manage/cloud-connect.md + title: Cloud Connect + - label: ─── + - group: Maintenance + page: docs-content://deploy-manage/maintenance.md + children: + - page: docs-content://deploy-manage/maintenance/ece.md + title: ECE maintenance + children: + - page: docs-content://deploy-manage/maintenance/ece/deployments-maintenance.md + title: Deployments maintenance + children: + - page: docs-content://deploy-manage/maintenance/ece/pause-instance.md + title: Pause instance + - page: docs-content://deploy-manage/maintenance/ece/maintenance-activities.md + title: Maintenance activities + children: + - page: docs-content://deploy-manage/maintenance/ece/enable-maintenance-mode.md + title: Enable maintenance mode + - page: docs-content://deploy-manage/maintenance/ece/scale-out-installation.md + title: Scale out your installation + - page: docs-content://deploy-manage/maintenance/ece/move-nodes-instances-from-allocators.md + title: Move nodes or instances from allocators + - page: docs-content://deploy-manage/maintenance/ece/perform-ece-hosts-maintenance.md + title: Perform ECE hosts maintenance + - page: docs-content://deploy-manage/maintenance/ece/delete-ece-hosts.md + title: Delete ECE hosts + - page: docs-content://deploy-manage/maintenance/start-stop-services.md + title: Start and stop services + children: + - page: docs-content://deploy-manage/maintenance/start-stop-services/start-stop-elasticsearch.md + title: Start and stop Elasticsearch + - page: docs-content://deploy-manage/maintenance/start-stop-services/start-stop-kibana.md + title: Start and stop Kibana + - page: docs-content://deploy-manage/maintenance/start-stop-services/restart-cloud-hosted-deployment.md + title: Restart an Elastic Cloud Hosted deployment + - page: docs-content://deploy-manage/maintenance/start-stop-services/restart-an-ece-deployment.md + title: Restart an ECE deployment + - page: docs-content://deploy-manage/maintenance/start-stop-services/full-cluster-restart-rolling-restart-procedures.md + title: Full Cluster restart and rolling restart procedures + - page: docs-content://deploy-manage/maintenance/start-stop-routing-requests.md + title: Start and stop routing requests + - page: docs-content://deploy-manage/maintenance/add-and-remove-elasticsearch-nodes.md + title: Add and Remove Elasticsearch nodes + - group: Upgrade + page: docs-content://deploy-manage/upgrade.md + children: + - page: docs-content://deploy-manage/upgrade/plan-upgrade.md + title: Plan your upgrade + - page: docs-content://deploy-manage/upgrade/prepare-to-upgrade.md + title: "Preparation steps" + children: + - page: docs-content://deploy-manage/upgrade/prepare-to-upgrade/upgrade-assistant.md + title: Upgrade Assistant + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster.md + title: Upgrade your deployment or cluster + children: + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/upgrade-717.md + title: Upgrade from 7.17 to latest + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ech.md + title: "Upgrade on Elastic Cloud Hosted" + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ece.md + title: "Upgrade on Elastic Cloud Enterprise" + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/upgrade-on-eck.md + title: "Upgrade on Elastic Cloud on Kubernetes" + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/self-managed.md + title: "Upgrade Elastic on a self-managed cluster" + children: + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/elasticsearch.md + title: Upgrade Elasticsearch + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/upgrade-elasticsearch-docker.md + title: "Upgrade Elasticsearch running on Docker" + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/kibana.md + title: Upgrade Kibana + children: + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/saved-object-migrations.md + title: Saved object migrations + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/kibana-roll-back.md + title: "Roll back to a previous version" + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/archived-settings.md + title: "Archived settings" + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md + title: "Reading indices from older versions" + - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/enterprise-search.md + title: Upgrade Enterprise Search + - page: docs-content://deploy-manage/upgrade/ingest-components.md + title: Upgrade your ingest components + - page: docs-content://deploy-manage/upgrade/orchestrator.md + title: "Upgrade your ECE or ECK orchestrator" + children: + - page: docs-content://deploy-manage/upgrade/orchestrator/upgrade-cloud-enterprise.md + title: Upgrade Elastic Cloud Enterprise + children: + - page: docs-content://deploy-manage/upgrade/orchestrator/re-running-the-ece-upgrade.md + title: Re-running the ECE upgrade + - page: docs-content://deploy-manage/upgrade/orchestrator/upgrade-cloud-on-k8s.md + title: Upgrade Elastic Cloud on Kubernetes + - group: Uninstall + page: docs-content://deploy-manage/uninstall.md + children: + - page: docs-content://deploy-manage/uninstall/uninstall-elastic-cloud-enterprise.md + title: Uninstall Elastic Cloud Enterprise + - page: docs-content://deploy-manage/uninstall/uninstall-elastic-cloud-on-kubernetes.md + title: Uninstall Elastic Cloud on Kubernetes + - page: docs-content://deploy-manage/uninstall/delete-a-cloud-deployment.md + title: "Delete an orchestrated deployment" + - group: Licenses and subscriptions + page: docs-content://deploy-manage/license.md + children: + - page: docs-content://deploy-manage/license/manage-your-license-in-ece.md + title: "Elastic Cloud Enterprise" + - page: docs-content://deploy-manage/license/manage-your-license-in-eck.md + title: "Elastic Cloud on Kubernetes" + - page: docs-content://deploy-manage/license/manage-your-license-in-self-managed-cluster.md + title: "Self-managed cluster" + - group: Manage your Cloud organization + page: docs-content://deploy-manage/cloud-organization.md + children: + - page: docs-content://deploy-manage/cloud-organization/billing.md + title: Billing + children: + - page: docs-content://deploy-manage/cloud-organization/billing/cloud-hosted-deployment-billing-dimensions.md + title: "Hosted billing dimensions" + - page: docs-content://deploy-manage/cloud-organization/billing/serverless-project-billing-dimensions.md + title: "Serverless billing dimensions" + children: + - page: docs-content://deploy-manage/cloud-organization/billing/elasticsearch-billing-dimensions.md + title: "Elasticsearch projects" + - page: docs-content://deploy-manage/cloud-organization/billing/elastic-observability-billing-dimensions.md + title: "Observability projects" + - page: docs-content://deploy-manage/cloud-organization/billing/security-billing-dimensions.md + title: "Security projects" + - page: docs-content://deploy-manage/cloud-organization/billing/billing-models.md + title: Billing models + - page: docs-content://deploy-manage/cloud-organization/billing/add-billing-details.md + title: Add your billing details + - page: docs-content://deploy-manage/cloud-organization/billing/view-billing-history.md + title: View your billing history + - page: docs-content://deploy-manage/cloud-organization/billing/manage-billing-notifications.md + title: "Manage notifications" + - page: docs-content://deploy-manage/cloud-organization/billing/manage-subscription.md + title: Manage your subscription + - page: docs-content://deploy-manage/cloud-organization/billing/monitor-analyze-usage.md + title: Monitor and analyze usage + - page: docs-content://deploy-manage/cloud-organization/billing/ecu.md + title: Elastic Consumption Units + - page: docs-content://deploy-manage/cloud-organization/billing/billing-faq.md + title: Billing FAQ + - page: docs-content://deploy-manage/cloud-organization/operational-emails.md + title: Operational emails + - page: docs-content://deploy-manage/cloud-organization/billing/update-billing-operational-contacts.md + title: Update billing and operational contacts + - page: docs-content://deploy-manage/cloud-organization/service-status.md + title: Service status + - page: docs-content://deploy-manage/cloud-organization/tools-and-apis.md + title: "Tools and APIs" + - group: Deployment and administration tools + children: + - toc: ecctl://reference + - page: elasticsearch://reference/elasticsearch/command-line-tools/index.md + title: Command-line tools + - label: The Elasticsearch platform + children: + - label: Ingest and manage data + children: + - group: "Ingest or migrate: bring your data into Elasticsearch" + children: + - page: docs-content://manage-data/ingest.md + title: Choose/Plan your ingest method + - group: Ingest architectures + page: docs-content://manage-data/ingest/ingest-reference-architectures.md + children: + - group: Agent to Elasticsearch + page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-to-es.md + children: + - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-installed.md + title: Elastic Agent (installed) + - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-apis.md + title: Elastic Agent via APIs + - group: Agent with Logstash + page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-ls.md + children: + - page: docs-content://manage-data/ingest/ingest-reference-architectures/ls-enrich.md + title: Logstash for enrichment + - page: docs-content://manage-data/ingest/ingest-reference-architectures/lspq.md + title: Logstash persistent queue + - page: docs-content://manage-data/ingest/ingest-reference-architectures/ls-networkbridge.md + title: Logstash as a network bridge + - page: docs-content://manage-data/ingest/ingest-reference-architectures/ls-multi.md + title: Logstash for multiple destinations + - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-proxy.md + title: Agent through a proxy + - group: Agent with Kafka + page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-kafka-es.md + children: + - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-kafka-ls.md + title: Agent to Kafka via Logstash + - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-kafka-essink.md + title: Agent to Kafka with Elasticsearch sink + - page: docs-content://manage-data/ingest/ingest-reference-architectures/ls-for-input.md + title: Logstash as input + - group: Air-gapped environments + page: docs-content://manage-data/ingest/ingest-reference-architectures/airgapped-env.md + children: + - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-es-airgapped.md + title: Agent to Elasticsearch (air-gapped) + - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-ls-airgapped.md + title: Agent with Logstash (air-gapped) + - group: Ingest by solution + page: docs-content://manage-data/ingest/ingesting-data-for-elastic-solutions.md + children: + - page: docs-content://solutions/search/ingest-for-search.md + title: Ingesting data for search use cases + - title: Ingesting data for observability + - page: docs-content://solutions/security/get-started/ingest-data-to-elastic-security.md + title: Ingesting data for security (Move from Solutions) + - page: docs-content://manage-data/ingest/ingesting-timeseries-data.md + title: Ingesting time series data + - group: Ingest logs + page: docs-content://solutions/observability/logs.md + children: + - page: docs-content://solutions/observability/logs/get-started-with-system-logs.md + title: Get started with system logs + - page: docs-content://solutions/observability/logs/stream-any-log-file.md + title: Stream any log file + - page: docs-content://solutions/observability/logs/stream-any-log-file-using-edot-collector.md + title: Stream any log file using EDOT Collector + - group: Stream application logs + page: docs-content://solutions/observability/logs/stream-application-logs.md + children: + - page: docs-content://solutions/observability/logs/plaintext-application-logs.md + title: Plaintext application logs + - page: docs-content://solutions/observability/logs/ecs-formatted-application-logs.md + title: ECS formatted application logs + - page: docs-content://solutions/observability/logs/apm-agent-log-sending.md + title: APM agent log sending + - page: docs-content://solutions/observability/logs/parse-route-logs.md + title: Parse and route logs + - page: docs-content://solutions/observability/logs/filter-aggregate-logs.md + title: Filter and aggregate logs + - group: Explore logs + page: docs-content://solutions/observability/logs/explore-logs.md + children: + - page: docs-content://solutions/observability/logs/discover-logs.md + title: Discover logs + - page: docs-content://solutions/observability/logs/categorize-log-entries.md + title: Categorize log entries + - page: docs-content://solutions/observability/logs/inspect-log-anomalies.md + title: Inspect log anomalies + - page: docs-content://solutions/observability/logs/run-pattern-analysis-on-log-data.md + title: Run pattern analysis on log data + - page: docs-content://solutions/observability/logs/log-data-sources.md + title: Log data sources + - page: docs-content://solutions/observability/logs/logs-data-retention.md + title: Logs data retention + - page: docs-content://solutions/observability/logs/add-service-name-to-logs.md + title: Add service name to logs + - group: Logs index template reference + page: docs-content://solutions/observability/logs/logs-index-template-reference.md + children: + - page: docs-content://solutions/observability/logs/logs-index-template-defaults.md + title: Logs index template defaults + - group: Ingest data with agentless integrations + page: docs-content://manage-data/ingest/agentless/agentless-integrations.md + children: + - page: docs-content://manage-data/ingest/agentless/cloud-connector-deployment.md + title: Cloud connector deployment + - page: docs-content://manage-data/ingest/agentless/agentless-integrations-faq.md + title: Agentless integrations FAQ + - page: integration-docs://reference/agentless_integrations.md + title: Agentless integrations reference + - group: Ingest data from applications + page: docs-content://manage-data/ingest/ingesting-data-from-applications.md + children: + - toc: docs-content://reference/apm-agents + - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-data-with-nodejs-on-elasticsearch-service.md + title: Ingest data with Node.js + - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-data-with-python-on-elasticsearch-service.md + title: Ingest data with Python + - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-data-from-beats-to-elasticsearch-service-with-logstash-as-proxy.md + title: Ingest data from Beats with Logstash as a proxy + - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-data-from-relational-database-into-elasticsearch-service.md + title: Ingest data from a relational database + - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-logs-from-python-application-using-filebeat.md + title: Ingest logs from a Python application using Filebeat + - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-logs-from-nodejs-web-application-using-filebeat.md + title: Ingest logs from a Node.js web application using Filebeat + - title: Ingest data using the API + - page: docs-content://manage-data/ingest/tools.md + title: Ingest tools overview + - page: docs-content://manage-data/ingest/upload-data-files.md + title: Upload data files + - page: docs-content://manage-data/ingest/sample-data.md + title: Sample data + - group: Migrating your Elasticsearch data + page: docs-content://manage-data/migrate.md + children: + - page: docs-content://manage-data/migrate/migrate-from-a-self-managed-cluster-with-a-self-signed-certificate-using-remote-reindex.md + title: Reindex using a private CA + - page: docs-content://manage-data/migrate/migrate-with-logstash.md + title: Migrate Elastic Cloud Hosted data to Serverless with Logstash + - page: docs-content://manage-data/migrate/migrate-data-between-elasticsearch-clusters-with-minimal-downtime.md + title: Minimal-downtime migration using snapshots + - page: docs-content://manage-data/migrate/migrate-internal-indices.md + title: Migrate system indices + - group: Ingest tools + page: docs-content://reference/ingestion-tools/index.md + children: + - toc: opentelemetry://reference + - toc: docs-content://reference/fleet + - toc: integration-docs://reference + - toc: elasticsearch://reference/search-connectors + - toc: logstash://reference + - toc: docs-content://reference/apm + - toc: beats://reference + - group: Other ingest tools + children: + - toc: elasticsearch-hadoop://reference + - toc: elastic-serverless-forwarder://reference + - group: Data storage and lifecycle + children: + - group: The Elasticsearch data store + page: docs-content://manage-data/data-store.md + children: + - group: Index basics + page: docs-content://manage-data/data-store/index-basics.md + children: + - page: elasticsearch://reference/elasticsearch/index-settings/index.md + title: Index settings reference + - page: elasticsearch://reference/elasticsearch/index-lifecycle-actions/index.md + title: Index lifecycle management actions + - page: docs-content://manage-data/data-store/near-real-time-search.md + title: Near real-time search + - group: Data streams + page: docs-content://manage-data/data-store/data-streams.md + children: + - page: docs-content://manage-data/data-store/data-streams/set-up-data-stream.md + title: Set up a data stream + - page: docs-content://manage-data/data-store/data-streams/use-data-stream.md + title: Use a data stream + - page: docs-content://manage-data/data-store/data-streams/modify-data-stream.md + title: Modify a data stream + - page: docs-content://manage-data/data-store/data-streams/manage-data-stream.md + title: Manage a data stream + - group: Time series data stream (TSDS) + page: docs-content://manage-data/data-store/data-streams/time-series-data-stream-tsds.md + children: + - page: docs-content://manage-data/data-store/data-streams/quickstart-tsds.md + title: Quickstart + - page: docs-content://manage-data/data-store/data-streams/set-up-tsds.md + title: Set up TSDS + - group: Downsampling + page: docs-content://manage-data/data-store/data-streams/downsampling-time-series-data-stream.md + children: + - page: docs-content://manage-data/data-store/data-streams/downsampling-concepts.md + title: Downsampling concepts + - page: docs-content://manage-data/data-store/data-streams/run-downsampling.md + title: Run downsampling + - page: docs-content://manage-data/data-store/data-streams/query-downsampled-data.md + title: Query downsampled data + - group: Advanced topics + page: docs-content://manage-data/data-store/data-streams/advanced-topics-tsds.md + children: + - page: docs-content://manage-data/data-store/data-streams/time-bound-tsds.md + title: Time-bound TSDS + - page: docs-content://manage-data/data-store/data-streams/reindex-tsds.md + title: Reindex TSDS + - page: docs-content://manage-data/data-store/data-streams/tsds-ingest-otlp.md + title: TSDS ingest OTLP + - group: Logs data stream + page: docs-content://manage-data/data-store/data-streams/logs-data-stream.md + children: + - page: docs-content://manage-data/data-store/data-streams/logs-data-stream-configure.md + title: Configure + - page: docs-content://manage-data/data-store/data-streams/logs-data-stream-integrations.md + title: Integrations + - group: Failure store + page: docs-content://manage-data/data-store/data-streams/failure-store.md + children: + - page: docs-content://manage-data/data-store/data-streams/failure-store-recipes.md + title: Recipes + - group: Mapping + page: docs-content://manage-data/data-store/mapping.md + children: + - page: elasticsearch://reference/elasticsearch/mapping-reference/index.md + title: Mapping reference + - group: Dynamic mapping + page: docs-content://manage-data/data-store/mapping/dynamic-mapping.md + children: + - page: docs-content://manage-data/data-store/mapping/dynamic-field-mapping.md + title: Dynamic field mapping + - page: docs-content://manage-data/data-store/mapping/dynamic-templates.md + title: Dynamic templates + - page: docs-content://manage-data/data-store/mapping/explicit-mapping.md + title: Explicit mapping + - group: Runtime fields + page: docs-content://manage-data/data-store/mapping/runtime-fields.md + children: + - page: docs-content://manage-data/data-store/mapping/map-runtime-field.md + title: Map a runtime field + - page: docs-content://manage-data/data-store/mapping/define-runtime-fields-in-search-request.md + title: Define in search request + - page: docs-content://manage-data/data-store/mapping/override-field-values-at-query-time.md + title: Override values at query time + - page: docs-content://manage-data/data-store/mapping/retrieve-runtime-field.md + title: Retrieve a runtime field + - page: docs-content://manage-data/data-store/mapping/index-runtime-field.md + title: Index a runtime field + - page: docs-content://manage-data/data-store/mapping/explore-data-with-runtime-fields.md + title: Explore data with runtime fields + - page: docs-content://manage-data/data-store/mapping/removal-of-mapping-types.md + title: Removal of mapping types + - page: docs-content://manage-data/data-store/mapping/update-mappings-examples.md + title: Update mappings examples + - group: Text analysis + page: docs-content://manage-data/data-store/text-analysis.md + children: + - page: elasticsearch://reference/text-analysis/index.md + title: Text analysis components + - group: Concepts + page: docs-content://manage-data/data-store/text-analysis/concepts.md + children: + - page: docs-content://manage-data/data-store/text-analysis/anatomy-of-an-analyzer.md + title: Anatomy of an analyzer + - page: docs-content://manage-data/data-store/text-analysis/index-search-analysis.md + title: Index and search analysis + - page: docs-content://manage-data/data-store/text-analysis/stemming.md + title: Stemming + - page: docs-content://manage-data/data-store/text-analysis/token-graphs.md + title: Token graphs + - group: Configure text analysis + page: docs-content://manage-data/data-store/text-analysis/configure-text-analysis.md + children: + - page: docs-content://manage-data/data-store/text-analysis/test-an-analyzer.md + title: Test an analyzer + - page: docs-content://manage-data/data-store/text-analysis/configuring-built-in-analyzers.md + title: Configuring built-in analyzers + - page: docs-content://manage-data/data-store/text-analysis/create-custom-analyzer.md + title: Create custom analyzer + - page: docs-content://manage-data/data-store/text-analysis/specify-an-analyzer.md + title: Specify an analyzer + - group: Templates + page: docs-content://manage-data/data-store/templates.md + children: + - page: docs-content://manage-data/data-store/templates/simulate-multi-component-templates.md + title: Simulate multi-component templates + - page: docs-content://manage-data/data-store/templates/ignore-missing-component-templates.md + title: Ignore missing component templates + - page: docs-content://manage-data/data-store/aliases.md + title: Aliases + - group: Perform index operations + page: docs-content://manage-data/data-store/perform-index-operations.md + children: + - page: docs-content://manage-data/data-store/index-operations-reference.md + title: Index operations reference + - page: docs-content://manage-data/data-store/manage-data-from-the-command-line.md + title: Manage data from the command line + - group: Data lifecycle + page: docs-content://manage-data/lifecycle.md + children: + - page: docs-content://manage-data/lifecycle/data-tiers.md + title: "Data tiers: hot warm cold frozen" + - group: Index lifecycle management (ILM) + page: docs-content://manage-data/lifecycle/index-lifecycle-management.md + children: + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/index-lifecycle.md + title: Index lifecycle + - group: Rollover + page: docs-content://manage-data/lifecycle/index-lifecycle-management/rollover.md + children: + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/skip-rollover.md + title: Skip rollover + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/configure-lifecycle-policy.md + title: Configure lifecycle policy + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/policy-apply.md + title: Apply policy + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/policy-view-status.md + title: View policy status + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/manage-lifecycle-integrations-data.md + title: Manage integrations data + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/policy-updates.md + title: Policy updates + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/start-stop-index-lifecycle-management.md + title: Start and stop ILM + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/restore-managed-data-stream-index.md + title: Restore managed index + - group: ILM tutorials + page: docs-content://manage-data/lifecycle/index-lifecycle-management/ilm-tutorials.md + children: + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/tutorial-time-series-with-data-streams.md + title: Time series with data streams + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/tutorial-time-series-without-data-streams.md + title: Time series without data streams + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/tutorial-general-content-with-data-streams.md + title: General content with data streams + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/tutorial-customize-built-in-policies.md + title: Customize built-in policies + - group: Migrate ILM + page: docs-content://manage-data/lifecycle/index-lifecycle-management/migrate-ilm.md + children: + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/migrate-index-management.md + title: Migrate index management + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/manage-existing-indices.md + title: Manage existing indices + - page: docs-content://manage-data/lifecycle/index-lifecycle-management/migrate-index-allocation-filters-to-node-roles.md + title: Migrate allocation filters to node roles + - group: Data stream lifecycle + page: docs-content://manage-data/lifecycle/data-stream.md + children: + - page: docs-content://manage-data/lifecycle/data-stream/tutorial-create-data-stream-with-lifecycle.md + title: "Tutorial: Create with lifecycle" + - page: docs-content://manage-data/lifecycle/data-stream/tutorial-update-existing-data-stream.md + title: "Tutorial: Update existing" + - page: docs-content://manage-data/lifecycle/data-stream/tutorial-data-stream-retention.md + title: "Tutorial: Retention" + - page: docs-content://manage-data/lifecycle/data-stream/tutorial-migrate-ilm-managed-data-stream-to-data-stream-lifecycle.md + title: "Tutorial: Migrate from ILM" + - page: docs-content://manage-data/lifecycle/curator.md + title: Elasticsearch Curator + - group: Rollup + page: docs-content://manage-data/lifecycle/rollup.md + children: + - page: docs-content://manage-data/lifecycle/rollup/getting-started-api.md + title: Getting started (API) + - page: docs-content://manage-data/lifecycle/rollup/getting-started-kibana.md + title: Getting started (Kibana) + - page: docs-content://manage-data/lifecycle/rollup/understanding-groups.md + title: Understanding groups + - page: docs-content://manage-data/lifecycle/rollup/rollup-aggregation-limitations.md + title: Aggregation limitations + - page: docs-content://manage-data/lifecycle/rollup/rollup-search-limitations.md + title: Search limitations + - page: docs-content://manage-data/lifecycle/rollup/migrating-from-rollup-to-downsampling.md + title: Migrating to downsampling + - page: docs-content://manage-data/use-case-use-elasticsearch-to-manage-time-series-data.md + title: "Use case: time series data management" + - group: Transform and enrich data + page: docs-content://manage-data/ingest/transform-enrich.md + children: + - group: Data pipelines + children: + - page: opentelemetry://reference/motlp/index.md + title: Managed pipelines (mOTLP) + - group: Elasticsearch ingest pipelines + page: docs-content://manage-data/ingest/transform-enrich/ingest-pipelines.md + children: + - page: docs-content://manage-data/ingest/transform-enrich/example-parse-logs.md + title: "Example: Parse logs" + - page: docs-content://manage-data/ingest/transform-enrich/readable-maintainable-ingest-pipelines.md + title: Readable maintainable pipelines + - page: docs-content://manage-data/ingest/transform-enrich/error-handling.md + title: Error handling + - page: docs-content://manage-data/ingest/transform-enrich/logstash-pipelines.md + title: Logstash pipelines + - group: Data enrichment + page: docs-content://manage-data/ingest/transform-enrich/data-enrichment.md + children: + - page: docs-content://manage-data/ingest/transform-enrich/set-up-an-enrich-processor.md + title: Set up an enrich processor + - page: docs-content://manage-data/ingest/transform-enrich/example-enrich-data-based-on-geolocation.md + title: "Example: Enrich by geolocation" + - page: docs-content://manage-data/ingest/transform-enrich/example-enrich-data-based-on-exact-values.md + title: "Example: Enrich by exact values" + - page: docs-content://manage-data/ingest/transform-enrich/example-enrich-data-by-matching-value-to-range.md + title: "Example: Enrich by matching value to range" + - page: docs-content://manage-data/ingest/transform-enrich/index-mapping-text-analysis.md + title: Index mapping and text analysis + - page: docs-content://manage-data/ingest/transform-enrich/ingest-lag.md + title: Calculate ingest lag metadata + - label: Search, visualize and analyze + children: + # ======================================================================= + # SEARCH AND QUERY + # Narrative arc: get started → approaches → ingest → querying → cross-cluster → integrate + # Pages pulled from solutions/search/ and explore-analyze/ at current paths. + # [from E&A] = page currently lives in explore-analyze/ + # [TODO] = placeholder, page not yet written + # ======================================================================= + - group: Search and query + page: docs-content://solutions/search.md + children: + + # ----------------------------------------------------------------------- + # 1. GET STARTED + # ----------------------------------------------------------------------- + - group: Get started with search + page: docs-content://solutions/search/get-started.md + children: + - group: Quickstarts + page: docs-content://solutions/search/get-started/quickstarts.md + children: + - page: docs-content://solutions/search/get-started/index-basics.md + title: Index basics + - page: docs-content://solutions/search/get-started/keyword-search-python.md + title: Keyword search with Python + - page: docs-content://solutions/search/get-started/semantic-search.md + title: Semantic search + + # ----------------------------------------------------------------------- + # 2. SEARCH APPROACHES + # What kind of search do I need? + # FTS is the foundation — everything else layers on top. + # ----------------------------------------------------------------------- + - group: Search approaches + page: docs-content://solutions/search/search-approaches.md + children: + # Full-text is core to every deployment, not just one option + - group: Full-text search + page: docs-content://solutions/search/full-text.md + children: + - page: docs-content://solutions/search/full-text/how-full-text-works.md + title: How full-text search works + - page: docs-content://solutions/search/full-text/text-analysis-during-search.md + title: Text analysis during search + - group: Search relevance + page: docs-content://solutions/search/full-text/search-relevance.md + children: + - page: docs-content://solutions/search/full-text/search-relevance/mixing-exact-search-with-stemming.md + title: Mix exact search with stemming + - page: docs-content://solutions/search/full-text/search-relevance/consistent-scoring.md + title: Consistent scoring + - page: docs-content://solutions/search/full-text/search-relevance/static-scoring-signals.md + title: Static scoring signals + - group: Synonyms + page: docs-content://solutions/search/full-text/search-with-synonyms.md + children: + - page: docs-content://solutions/search/full-text/create-update-synonyms-api-example.md + title: Create and update synonyms via API + # Vector search — formerly "AI search" + - group: Vector search + page: docs-content://solutions/search/ai-search/ai-search.md + children: + - group: Dense vector search + page: docs-content://solutions/search/vector/dense-vector.md + children: + - page: docs-content://solutions/search/vector/knn.md + title: k-nearest neighbor (kNN) + - page: docs-content://solutions/search/vector/bring-own-vectors.md + title: Bring your own vectors + - page: docs-content://solutions/search/vector/sparse-vector.md + title: Sparse vector search + - page: docs-content://solutions/search/vector/dense-versus-sparse-ingest-pipelines.md + title: Dense vs sparse ingest pipelines + - group: Semantic search + page: docs-content://solutions/search/semantic-search.md + children: + - page: docs-content://solutions/search/semantic-search/semantic-search-semantic-text.md + title: Semantic search with semantic_text + - page: docs-content://solutions/search/semantic-search/semantic-search-inference.md + title: Semantic search with the inference API + - page: docs-content://solutions/search/semantic-search/semantic-search-elser-ingest-pipelines.md + title: Semantic search with ELSER + - page: docs-content://solutions/search/semantic-search/cohere-es.md + title: Semantic search with Cohere + - page: docs-content://solutions/search/using-openai-compatible-models.md + title: Using OpenAI-compatible models + - group: Hybrid search + page: docs-content://solutions/search/hybrid-search.md + children: + - page: docs-content://solutions/search/hybrid-semantic-text.md + title: Hybrid search with semantic_text + # Ranking — semantic reranking is a lightweight upgrade on top of FTS + - group: Ranking and reranking + page: docs-content://solutions/search/ranking.md + children: + - page: docs-content://solutions/search/ranking/semantic-reranking.md + title: Semantic reranking + - group: Learning to rank + page: docs-content://solutions/search/ranking/learning-to-rank-ltr.md + children: + - page: docs-content://solutions/search/ranking/learning-to-rank-model-training.md + title: Train an LTR model + - page: docs-content://solutions/search/ranking/learning-to-rank-search-usage.md + title: Use LTR in search + + # ----------------------------------------------------------------------- + # 3. INGEST FOR SEARCH + # After approaches — the approach decision shapes what your pipeline needs. + # ----------------------------------------------------------------------- + - group: Ingest for search + page: docs-content://solutions/search/ingest-for-search.md + children: + - page: docs-content://solutions/search/search-pipelines.md + title: Search pipelines + + # ----------------------------------------------------------------------- + # 4. QUERYING + # How do I express and execute my search? + # Two dimensions: what language? what interface? + # ----------------------------------------------------------------------- + - group: Build search queries + page: docs-content://solutions/search/querying-for-search.md + children: + - group: The search API + page: docs-content://solutions/search/the-search-api.md + children: + - page: docs-content://solutions/search/search-templates.md + title: Search templates + - group: Aggregations + page: docs-content://explore-analyze/query-filter/aggregations.md # [from E&A] + children: + - page: docs-content://explore-analyze/query-filter/aggregations/tutorial-analyze-ecommerce-data-with-aggregations-using-query-dsl.md + title: Tutorial — analyze e-commerce data + - page: docs-content://solutions/search/retrievers-overview.md + title: Retrievers + - page: docs-content://solutions/search/esql-for-search.md + title: ES|QL for search + - page: docs-content://solutions/search/async-search-api.md + title: Async search + # Language narrative pages — "understand and decide" layer + # These sit above the bulk reference toc further down. + - group: Query languages + page: docs-content://explore-analyze/query-filter/languages.md # [from E&A] comparison table landing + children: + - page: docs-content://explore-analyze/query-filter/languages/querydsl.md # [from E&A] + title: Query DSL + - page: docs-content://explore-analyze/query-filter/languages/kql.md # [from E&A] + title: KQL + - group: EQL + page: docs-content://explore-analyze/query-filter/languages/eql.md # [from E&A] + children: + - page: docs-content://explore-analyze/query-filter/languages/example-detect-threats-with-eql.md + title: Detect threats with EQL + # [THIN] sql.md is a hollow intro + link list that duplicates the reference toc below. + # Candidate for removal — redirect to elasticsearch://reference/query-languages/sql.md + - page: docs-content://explore-analyze/query-filter/languages/sql.md # [from E&A] + title: SQL + # [THIN] lucene-query-syntax.md is a single paragraph pointing users to the Kibana UI toggle. + # Candidate for removal — redirect to elasticsearch://reference/query-languages/query-dsl/query-dsl-query-string-query.md + - page: docs-content://explore-analyze/query-filter/languages/lucene-query-syntax.md # [from E&A] + title: Lucene query syntax + # Query language reference — bulk toc, cannot interleave with narrative pages above + - toc: elasticsearch://reference/query-languages + # Developer tools — for running and testing queries + - group: Developer tools + page: docs-content://explore-analyze/query-filter/tools.md # [from E&A] + children: + - page: docs-content://explore-analyze/query-filter/tools/console.md + title: Console + - page: docs-content://explore-analyze/query-filter/tools/search-profiler.md + title: Search Profiler + - page: docs-content://explore-analyze/query-filter/tools/saved-queries.md + title: Saved queries + + # ----------------------------------------------------------------------- + # 5. SEARCH ACROSS CLUSTERS AND PROJECTS + # End-of-journey scaling topic: "my data spans multiple clusters" + # ----------------------------------------------------------------------- + - group: Cross-cluster search + page: docs-content://explore-analyze/cross-cluster-search.md # [from E&A] + children: + - page: docs-content://explore-analyze/cross-cluster-search/using-resolve-cluster-endpoint-before-cross-cluster-search.md + title: Using the resolve cluster endpoint + # Cross-project search — serverless only, pages are hidden in toc + - group: Cross-project search + page: docs-content://explore-analyze/cross-project-search.md # [from E&A] + children: + - page: docs-content://explore-analyze/cross-project-search/cross-project-search-link-projects.md + title: Link projects + - page: docs-content://explore-analyze/cross-project-search/cross-project-search-search.md + title: Search across projects + - page: docs-content://explore-analyze/cross-project-search/cross-project-search-tags.md + title: Using tags to control search + - page: docs-content://explore-analyze/cross-project-search/cross-project-search-project-routing.md + title: Project routing + + # ----------------------------------------------------------------------- + # 6. INTEGRATE WITH YOUR APP + # Wire search into your application code. + # [TODO] site-or-app.md → integrate.md rename deferred to docs-content work + # ----------------------------------------------------------------------- + - group: Integrate with your app + page: docs-content://solutions/search/site-or-app.md + children: + - page: docs-content://solutions/search/site-or-app/clients.md + title: Client libraries + - page: docs-content://solutions/search/site-or-app/search-ui.md + title: Search UI + - page: docs-content://solutions/search/apis-and-tools.md + title: APIs and tools + - group: Explore and visualize + page: docs-content://explore-analyze/explore-and-visualize.md + children: + - page: docs-content://explore-analyze/kibana-data-exploration-learning-tutorial.md + title: Learn data exploration and visualization + - group: Discover + page: docs-content://explore-analyze/discover.md + children: + - page: docs-content://explore-analyze/discover/discover-get-started.md + title: Explore fields and data with Discover + - page: docs-content://explore-analyze/discover/document-explorer.md + title: Customize the Discover view + - page: docs-content://explore-analyze/discover/discover-search-for-relevance.md + title: Search for relevance + - page: docs-content://explore-analyze/discover/save-open-search.md + title: Save a search for reuse + - page: docs-content://explore-analyze/discover/show-field-statistics.md + title: View field statistics + - page: docs-content://explore-analyze/discover/run-pattern-analysis-discover.md + title: Run a pattern analysis on your log data + - page: docs-content://explore-analyze/discover/background-search.md + title: Run queries in the background + - page: docs-content://explore-analyze/discover/try-esql.md + title: "Using ES|QL" + - group: Dashboards + page: docs-content://explore-analyze/dashboards.md + children: + - page: docs-content://explore-analyze/dashboards/using.md + title: Exploring dashboards + - group: Building dashboards + page: docs-content://explore-analyze/dashboards/building.md + children: + - page: docs-content://explore-analyze/dashboards/create-dashboard.md + title: Create a dashboard + - page: docs-content://explore-analyze/dashboards/open-dashboard.md + title: Edit a dashboard + - page: docs-content://explore-analyze/dashboards/add-controls.md + title: Add filter controls + - page: docs-content://explore-analyze/dashboards/drilldowns.md + title: Add drilldowns + - page: docs-content://explore-analyze/dashboards/arrange-panels.md + title: Organize dashboard panels + - page: docs-content://explore-analyze/dashboards/duplicate-dashboards.md + title: Duplicate a dashboard + - page: docs-content://explore-analyze/dashboards/import-dashboards.md + title: Import a dashboard + - page: docs-content://explore-analyze/dashboards/managing.md + title: Managing dashboards + - page: docs-content://explore-analyze/dashboards/sharing.md + title: Sharing dashboards + - group: Tutorials + page: docs-content://explore-analyze/dashboards/tutorials.md + children: + - page: docs-content://explore-analyze/dashboards/create-dashboard-of-panels-with-web-server-data.md + title: Create a simple dashboard to monitor website logs + - page: docs-content://explore-analyze/dashboards/create-dashboard-of-panels-with-ecommerce-data.md + title: Create a dashboard with time series charts + - group: Panels and visualizations + page: docs-content://explore-analyze/visualize.md + children: + - page: docs-content://explore-analyze/visualize/visualize-library.md + title: Visualize Library + - page: docs-content://explore-analyze/visualize/manage-panels.md + title: Manage panels + - group: Lens + page: docs-content://explore-analyze/visualize/lens.md + children: + - page: docs-content://explore-analyze/visualize/charts/area-charts.md + title: Area charts + - page: docs-content://explore-analyze/visualize/charts/bar-charts.md + title: Bar charts + - page: docs-content://explore-analyze/visualize/charts/heat-map-charts.md + title: Heat map charts + - page: docs-content://explore-analyze/visualize/charts/gauge-charts.md + title: Gauge charts + - page: docs-content://explore-analyze/visualize/charts/line-charts.md + title: Line charts + - page: docs-content://explore-analyze/visualize/charts/metric-charts.md + title: Metric charts + - page: docs-content://explore-analyze/visualize/charts/mosaic-charts.md + title: Mosaic charts + - page: docs-content://explore-analyze/visualize/charts/pie-charts.md + title: Pie charts + - page: docs-content://explore-analyze/visualize/charts/region-map-charts.md + title: Region map charts + - page: docs-content://explore-analyze/visualize/charts/tables.md + title: Tables + - page: docs-content://explore-analyze/visualize/charts/waffle-charts.md + title: Waffle charts + - page: docs-content://explore-analyze/visualize/charts/tag-cloud-charts.md + title: Tag cloud charts + - page: docs-content://explore-analyze/visualize/charts/treemap-charts.md + title: Treemap charts + - page: docs-content://explore-analyze/visualize/esorql.md + title: "ES|QL" + - page: docs-content://explore-analyze/visualize/custom-visualizations-with-vega.md + title: Custom visualizations with Vega + - page: docs-content://explore-analyze/visualize/text-panels.md + title: Text panels + - page: docs-content://explore-analyze/visualize/image-panels.md + title: Image panels + - page: docs-content://explore-analyze/visualize/link-panels.md + title: Link panels + - page: docs-content://explore-analyze/visualize/alert-panels.md + title: Alert panels + - group: Canvas + page: docs-content://explore-analyze/visualize/canvas.md + children: + - page: docs-content://explore-analyze/visualize/canvas/edit-workpads.md + title: Edit workpads + - page: docs-content://explore-analyze/visualize/canvas/canvas-present-workpad.md + title: Present your workpad + - page: docs-content://explore-analyze/visualize/canvas/canvas-tutorial.md + title: "Tutorial: Create a workpad for monitoring sales" + - group: Canvas function reference + page: docs-content://explore-analyze/visualize/canvas/canvas-function-reference.md + children: + - page: docs-content://explore-analyze/visualize/canvas/canvas-tinymath-functions.md + title: TinyMath functions + - group: Maps + page: docs-content://explore-analyze/visualize/maps.md + children: + - page: docs-content://explore-analyze/visualize/maps/maps-getting-started.md + title: Build a map to compare metrics by country or region + - page: docs-content://explore-analyze/visualize/maps/asset-tracking-tutorial.md + title: Track, visualize, and alert on assets in real time + - page: docs-content://explore-analyze/visualize/maps/reverse-geocoding-tutorial.md + title: Map custom regions with reverse geocoding + - page: docs-content://explore-analyze/visualize/maps/heatmap-layer.md + title: Heat map layer + - page: docs-content://explore-analyze/visualize/maps/tile-layer.md + title: Tile layer + - group: Vector layer + page: docs-content://explore-analyze/visualize/maps/vector-layer.md + children: + - page: docs-content://explore-analyze/visualize/maps/vector-style.md + title: Vector styling + - page: docs-content://explore-analyze/visualize/maps/maps-vector-style-properties.md + title: Vector style properties + - page: docs-content://explore-analyze/visualize/maps/vector-tooltip.md + title: Vector tooltips + - group: Map aggregations + page: docs-content://explore-analyze/visualize/maps/maps-aggregations.md + children: + - page: docs-content://explore-analyze/visualize/maps/maps-grid-aggregation.md + title: Clusters + - page: docs-content://explore-analyze/visualize/maps/maps-top-hits-aggregation.md + title: Display the most relevant documents per entity + - page: docs-content://explore-analyze/visualize/maps/point-to-point.md + title: Point to point + - page: docs-content://explore-analyze/visualize/maps/terms-join.md + title: Term join + - group: Search and filter maps + page: docs-content://explore-analyze/visualize/maps/maps-search.md + children: + - page: docs-content://explore-analyze/visualize/maps/maps-create-filter-from-map.md + title: Create filters from a map + - page: docs-content://explore-analyze/visualize/maps/maps-layer-based-filtering.md + title: Filter a single layer + - page: docs-content://explore-analyze/visualize/maps/maps-search-across-multiple-indices.md + title: Search across multiple indices + - page: docs-content://explore-analyze/visualize/maps/maps-settings.md + title: Configure map settings + - page: docs-content://explore-analyze/visualize/maps/maps-connect-to-ems.md + title: Connect to Elastic Maps Service + - group: Import geospatial data + page: docs-content://explore-analyze/visualize/maps/import-geospatial-data.md + children: + - page: docs-content://explore-analyze/visualize/maps/maps-clean-data.md + title: Clean your data + - page: docs-content://explore-analyze/visualize/maps/indexing-geojson-data-tutorial.md + title: "Tutorial: Index GeoJSON data" + - page: docs-content://explore-analyze/visualize/maps/maps-troubleshooting.md + title: Troubleshoot + - group: Graph + page: docs-content://explore-analyze/visualize/graph.md + children: + - page: docs-content://explore-analyze/visualize/graph/graph-configuration.md + title: Configure Graph + - page: docs-content://explore-analyze/visualize/graph/graph-troubleshooting.md + title: Troubleshooting and limitations + - group: Legacy editors + page: docs-content://explore-analyze/visualize/legacy-editors.md + children: + - page: docs-content://explore-analyze/visualize/legacy-editors/aggregation-based.md + title: Aggregation-based + - page: docs-content://explore-analyze/visualize/legacy-editors/tsvb.md + title: TSVB + - page: docs-content://explore-analyze/visualize/legacy-editors/timelion.md + title: Timelion + - group: Find and organize content + page: docs-content://explore-analyze/find-and-organize.md + children: + - page: docs-content://explore-analyze/find-and-organize/data-views.md + title: Data views + - page: docs-content://explore-analyze/find-and-organize/saved-objects.md + title: Saved objects + - page: docs-content://explore-analyze/find-and-organize/files.md + title: Files + - page: docs-content://explore-analyze/find-and-organize/reports.md + title: Reports + - page: docs-content://explore-analyze/find-and-organize/tags.md + title: Tags + - page: docs-content://explore-analyze/find-and-organize/find-apps-and-objects.md + title: Find apps and objects + - group: Track and respond + page: docs-content://explore-analyze/track-and-respond.md + children: + - group: Reporting and sharing + page: docs-content://explore-analyze/report-and-share.md + children: + - page: docs-content://explore-analyze/report-and-share/automating-report-generation.md + title: Automatically generate reports + - group: Reporting troubleshooting + page: docs-content://explore-analyze/report-and-share/reporting-troubleshooting.md + children: + - page: docs-content://explore-analyze/report-and-share/reporting-troubleshooting-csv.md + title: CSV + - page: docs-content://explore-analyze/report-and-share/reporting-troubleshooting-pdf.md + title: PDF/PNG + - group: Alerting + page: docs-content://explore-analyze/alerting.md + children: + - group: Alerts + page: docs-content://explore-analyze/alerting/alerts.md + children: + - page: docs-content://explore-analyze/alerting/alerts/alerting-getting-started.md + title: Getting started with alerts + - page: docs-content://explore-analyze/alerting/alerts/alerting-setup.md + title: Set up + - page: docs-content://explore-analyze/alerting/alerts/create-manage-rules.md + title: Create and manage rules + - page: docs-content://explore-analyze/alerting/alerts/view-alerts.md + title: View and manage alerts + - page: docs-content://explore-analyze/alerting/alerts/query-alerts.md + title: Query alert indices + - group: Rule types + page: docs-content://explore-analyze/alerting/alerts/rule-types.md + children: + - page: docs-content://explore-analyze/alerting/alerts/rule-type-index-threshold.md + title: Index threshold + - page: docs-content://explore-analyze/alerting/alerts/rule-type-es-query.md + title: Elasticsearch query + - page: docs-content://explore-analyze/alerting/alerts/geo-alerting.md + title: Tracking containment + - page: docs-content://explore-analyze/alerting/alerts/rule-action-variables.md + title: Rule action variables + - page: docs-content://explore-analyze/alerting/alerts/notifications-domain-allowlist.md + title: Notifications domain allowlist + - group: Alerting troubleshooting + page: docs-content://explore-analyze/alerting/alerts/alerting-troubleshooting.md + children: + - page: docs-content://explore-analyze/alerting/alerts/alerting-common-issues.md + title: Common issues + - page: docs-content://explore-analyze/alerting/alerts/event-log-index.md + title: Event log index + - page: docs-content://explore-analyze/alerting/alerts/testing-connectors.md + title: Test connectors + - page: docs-content://explore-analyze/alerting/alerts/maintenance-windows.md + title: Maintenance windows + - group: Watcher + page: docs-content://explore-analyze/alerting/watcher.md + children: + - page: docs-content://explore-analyze/alerting/watcher/watcher-getting-started.md + title: Getting started with Watcher + - page: docs-content://explore-analyze/alerting/watcher/how-watcher-works.md + title: How Watcher works + - page: docs-content://explore-analyze/alerting/watcher/enable-watcher.md + title: Enable Watcher + - page: docs-content://explore-analyze/alerting/watcher/watcher-ui.md + title: Watcher UI + - page: docs-content://explore-analyze/alerting/watcher/encrypting-data.md + title: Encrypting sensitive data in Watcher + - group: Input + page: docs-content://explore-analyze/alerting/watcher/input.md + children: + - page: docs-content://explore-analyze/alerting/watcher/input-simple.md + title: Simple input + - page: docs-content://explore-analyze/alerting/watcher/input-search.md + title: Search input + - page: docs-content://explore-analyze/alerting/watcher/input-http.md + title: HTTP input + - page: docs-content://explore-analyze/alerting/watcher/input-chain.md + title: Chain input + - group: Trigger + page: docs-content://explore-analyze/alerting/watcher/trigger.md + children: + - page: docs-content://explore-analyze/alerting/watcher/trigger-schedule.md + title: Schedule trigger + - page: docs-content://explore-analyze/alerting/watcher/throttling.md + title: Throttling + - page: docs-content://explore-analyze/alerting/watcher/schedule-types.md + title: Schedule Types + - group: Condition + page: docs-content://explore-analyze/alerting/watcher/condition.md + children: + - page: docs-content://explore-analyze/alerting/watcher/condition-always.md + title: Always condition + - page: docs-content://explore-analyze/alerting/watcher/condition-never.md + title: Never condition + - page: docs-content://explore-analyze/alerting/watcher/condition-compare.md + title: Compare condition + - page: docs-content://explore-analyze/alerting/watcher/condition-array-compare.md + title: Array compare condition + - page: docs-content://explore-analyze/alerting/watcher/condition-script.md + title: Script condition + - group: Actions + page: docs-content://explore-analyze/alerting/watcher/actions.md + children: + - page: docs-content://explore-analyze/alerting/watcher/action-foreach.md + title: Running an action for each element in an array + - page: docs-content://explore-analyze/alerting/watcher/action-conditions.md + title: Adding conditions to actions + - page: docs-content://explore-analyze/alerting/watcher/actions-email.md + title: Email action + - page: docs-content://explore-analyze/alerting/watcher/actions-webhook.md + title: Webhook action + - page: docs-content://explore-analyze/alerting/watcher/actions-index.md + title: Index action + - page: docs-content://explore-analyze/alerting/watcher/actions-logging.md + title: Logging action + - page: docs-content://explore-analyze/alerting/watcher/actions-slack.md + title: Slack action + - page: docs-content://explore-analyze/alerting/watcher/actions-pagerduty.md + title: PagerDuty action + - page: docs-content://explore-analyze/alerting/watcher/actions-jira.md + title: Jira action + - group: Transform + page: docs-content://explore-analyze/alerting/watcher/transform.md + children: + - page: docs-content://explore-analyze/alerting/watcher/transform-search.md + title: Search payload transform + - page: docs-content://explore-analyze/alerting/watcher/transform-script.md + title: Script payload transform + - page: docs-content://explore-analyze/alerting/watcher/transform-chain.md + title: Chain payload transform + - page: docs-content://explore-analyze/alerting/watcher/managing-watches.md + title: Managing watches + - group: Example watches + page: docs-content://explore-analyze/alerting/watcher/example-watches.md + children: + - page: docs-content://explore-analyze/alerting/watcher/watch-cluster-status.md + title: Watching the status of an Elasticsearch cluster + - page: docs-content://explore-analyze/alerting/watcher/execute-watch.md + title: Execute a watch + - page: docs-content://explore-analyze/alerting/watcher/watcher-limitations.md + title: Limitations + - group: Cases + page: docs-content://explore-analyze/cases.md + children: + - page: docs-content://explore-analyze/cases/control-case-access.md + title: Control access + - page: docs-content://explore-analyze/cases/create-cases.md + title: Create cases + - page: docs-content://explore-analyze/cases/manage-cases.md + title: Manage cases + - page: docs-content://explore-analyze/cases/attach-objects-to-cases.md + title: Attach objects + - page: docs-content://explore-analyze/cases/search-share-cases.md + title: Search and share + - page: docs-content://explore-analyze/cases/configure-case-settings.md + title: Configure settings + - page: docs-content://explore-analyze/cases/cases-as-data.md + title: Cases as data + - label: Automate + children: + - group: Workflows + page: docs-content://explore-analyze/workflows.md + children: + - page: docs-content://explore-analyze/workflows/setup.md + title: Set up workflows + - page: docs-content://explore-analyze/workflows/get-started.md + title: Get started with workflows + - group: Core components + page: docs-content://explore-analyze/workflows/core-components.md + children: + - group: Triggers + page: docs-content://explore-analyze/workflows/triggers.md + children: + - page: docs-content://explore-analyze/workflows/triggers/manual-triggers.md + title: Manual triggers + - page: docs-content://explore-analyze/workflows/triggers/scheduled-triggers.md + title: Scheduled triggers + - page: docs-content://explore-analyze/workflows/triggers/alert-triggers.md + title: Alert triggers + - group: Steps + page: docs-content://explore-analyze/workflows/steps.md + children: + - group: Action steps + page: docs-content://explore-analyze/workflows/steps/action-steps.md + children: + - page: docs-content://explore-analyze/workflows/steps/elasticsearch.md + title: Elasticsearch + - page: docs-content://explore-analyze/workflows/steps/kibana.md + title: Kibana + - page: docs-content://explore-analyze/workflows/steps/external-systems-apps.md + title: External systems and apps + - group: Flow control steps + page: docs-content://explore-analyze/workflows/steps/flow-control-steps.md + children: + - page: docs-content://explore-analyze/workflows/steps/if.md + title: If + - page: docs-content://explore-analyze/workflows/steps/foreach.md + title: Foreach + - page: docs-content://explore-analyze/workflows/steps/wait.md + title: Wait + - page: docs-content://explore-analyze/workflows/steps/ai-steps.md + title: AI steps + - group: Data and error handling + page: docs-content://explore-analyze/workflows/data.md + children: + - page: docs-content://explore-analyze/workflows/data/templating.md + title: Templating engine + - page: docs-content://explore-analyze/workflows/author-workflows.md + title: Author workflows + - page: docs-content://explore-analyze/workflows/monitor-troubleshoot.md + title: Monitor and troubleshoot workflows + - page: docs-content://explore-analyze/workflows/manage-workflows.md + title: Manage workflows + - page: docs-content://explore-analyze/workflows/templates.md + title: Workflow templates + - label: AI and machine learning + children: + - group: Machine Learning and NLP + page: docs-content://explore-analyze/machine-learning.md + children: + - page: docs-content://explore-analyze/machine-learning/setting-up-machine-learning.md + title: Setup and security + - group: Anomaly detection + page: docs-content://explore-analyze/machine-learning/anomaly-detection.md + children: + - group: Finding anomalies + page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-finding-anomalies.md + children: + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-plan.md + title: Plan your analysis + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs.md + title: Run a job + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-view-results.md + title: View the results + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-forecast.md + title: Forecast future behavior + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-getting-started.md + title: Tutorial + - group: Concepts + page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-concepts.md + children: + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-algorithms.md + title: Anomaly detection algorithms + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-explain.md + title: Anomaly score explanation + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-anomaly-detection-job-types.md + title: Job types + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/anomaly-detection-scale.md + title: Working with anomaly detection at scale + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-delayed-data-detection.md + title: Handling delayed data + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-api-quickref.md + title: API quick reference + - group: How-tos + page: docs-content://explore-analyze/machine-learning/anomaly-detection/anomaly-how-tos.md + children: + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-alerts.md + title: Generating alerts for anomaly detection jobs + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-aggregation.md + title: Aggregating data for faster performance + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-transform.md + title: Altering data in your datafeed with runtime fields + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-detector-custom-rules.md + title: Customizing detectors with custom rules + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-categories.md + title: Detecting anomalous categories of data + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-populations.md + title: Performing population analysis + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-reverting-model-snapshot.md + title: Reverting to a model snapshot + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/geographic-anomalies.md + title: Detecting anomalous locations in geographic data + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/mapping-anomalies.md + title: Mapping anomalies by location + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-url.md + title: Adding custom URLs to machine learning results + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-jobs-from-lens.md + title: Anomaly detection jobs from visualizations + - group: Resources + page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-resources.md + children: + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-limitations.md + title: Limitations + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-functions.md + title: Analysis function reference + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ootb-ml-jobs.md + title: Supplied configurations + - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-troubleshooting.md + title: Troubleshooting and FAQ + - group: Data frame analytics + page: docs-content://explore-analyze/machine-learning/data-frame-analytics.md + children: + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-overview.md + title: Overview + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-finding-outliers.md + title: Finding outliers + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-regression.md + title: Predicting numerical values with regression + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-classification.md + title: Predicting classes with classification + - group: Concepts + page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-concepts.md + children: + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-phases.md + title: How data frame analytics jobs work + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-scale.md + title: Working with data frame analytics at scale + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-custom-urls.md + title: Adding custom URLs to data frame analytics jobs + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-feature-encoding.md + title: Feature encoding + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-feature-processors.md + title: Feature processors + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-feature-importance.md + title: Feature importance + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/dfa-regression-lossfunction.md + title: Loss functions for regression analyses + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/hyperparameters.md + title: Hyperparameter optimization + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-trained-models.md + title: Trained models + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfanalytics-apis.md + title: API quick reference + - group: Resources + page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-resources.md + children: + - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-limitations.md + title: Limitations + - group: NLP + page: docs-content://explore-analyze/machine-learning/nlp.md + children: + - group: Overview + page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-overview.md + children: + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-extract-info.md + title: Extract information + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-classify-text.md + title: Classify text + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-search-compare.md + title: Search and compare text + - group: Deploy models + page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-deploy-models.md + children: + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-select-model.md + title: Select a trained model + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-import-model.md + title: Import the trained model and vocabulary + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-deploy-model.md + title: Deploy the model in your cluster + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-test-inference.md + title: Try it out + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-inference.md + title: Add NLP inference to ingest pipelines + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-apis.md + title: API quick reference + - group: Built-in models + page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-built-in-models.md + children: + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-elser.md + title: ELSER + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-jina.md + title: Jina + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-rerank.md + title: Elastic Rerank + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-e5.md + title: E5 + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-lang-ident.md + title: Language identification + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-model-ref.md + title: Compatible third party models + - group: Examples + page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-examples.md + children: + - page: docs-content://explore-analyze/machine-learning/nlp/nlp-end-to-end-tutorial.md + title: End-to-end tutorial + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-ner-example.md + title: Named entity recognition + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-text-emb-vector-search-example.md + title: Text embedding and semantic search + - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-limitations.md + title: Limitations + - group: Machine learning in Kibana + page: docs-content://explore-analyze/machine-learning/machine-learning-in-kibana.md + children: + - page: docs-content://explore-analyze/machine-learning/machine-learning-in-kibana/xpack-ml-aiops.md + title: AIOps Labs + - page: docs-content://explore-analyze/machine-learning/machine-learning-in-kibana/inference-processing.md + title: Inference processing + - group: Agent builder + page: docs-content://explore-analyze/ai-features/elastic-agent-builder.md + children: + - page: docs-content://explore-analyze/ai-features/agent-builder/get-started.md + title: Get started + - page: docs-content://explore-analyze/ai-features/agent-builder/models.md + title: Models + - group: Chat + page: docs-content://explore-analyze/ai-features/agent-builder/chat.md + children: + - page: docs-content://explore-analyze/ai-features/agent-builder/standalone-and-flyout-modes.md + title: Chat UI modes + - group: Agents + page: docs-content://explore-analyze/ai-features/agent-builder/agent-builder-agents.md + children: + - page: docs-content://explore-analyze/ai-features/agent-builder/custom-agents.md + title: Custom agents + - page: docs-content://explore-analyze/ai-features/agent-builder/builtin-agents-reference.md + title: Built-in agents + - page: docs-content://explore-analyze/ai-features/agent-builder/prompt-engineering.md + title: Prompting best practices + - page: docs-content://explore-analyze/ai-features/agent-builder/agents-and-workflows.md + title: Call agents from workflows + - group: Tools + page: docs-content://explore-analyze/ai-features/agent-builder/tools.md + children: + - page: docs-content://explore-analyze/ai-features/agent-builder/tools/builtin-tools-reference.md + title: Built-in tools + - group: Custom tools + page: docs-content://explore-analyze/ai-features/agent-builder/tools/custom-tools.md + children: + - page: docs-content://explore-analyze/ai-features/agent-builder/tools/esql-tools.md + title: "ES|QL tools" + - page: docs-content://explore-analyze/ai-features/agent-builder/tools/index-search-tools.md + title: Index search tools + - page: docs-content://explore-analyze/ai-features/agent-builder/tools/mcp-tools.md + title: MCP tools + - page: docs-content://explore-analyze/ai-features/agent-builder/tools/workflow-tools.md + title: Workflow tools + - group: Programmatic access + page: docs-content://explore-analyze/ai-features/agent-builder/programmatic-access.md + children: + - group: Kibana API + page: docs-content://explore-analyze/ai-features/agent-builder/kibana-api.md + children: + - page: docs-content://explore-analyze/ai-features/agent-builder/agent-builder-api-tutorial.md + title: Kibana API tutorial + - page: docs-content://explore-analyze/ai-features/agent-builder/a2a-server.md + title: A2A server + - page: docs-content://explore-analyze/ai-features/agent-builder/mcp-server.md + title: MCP server + - page: docs-content://explore-analyze/ai-features/agent-builder/monitor-usage.md + title: Monitor token usage + - page: docs-content://explore-analyze/ai-features/agent-builder/permissions.md + title: Permissions + - group: Troubleshooting + page: docs-content://explore-analyze/ai-features/agent-builder/troubleshooting.md + children: + - page: docs-content://explore-analyze/ai-features/agent-builder/troubleshooting/context-length-exceeded.md + title: Context length exceeded + - page: docs-content://explore-analyze/ai-features/agent-builder/troubleshooting/api-calls-return-403-forbidden.md + title: 403 Forbidden + - page: docs-content://explore-analyze/ai-features/agent-builder/limitations-known-issues.md + title: Limitations + - group: Elastic Inference Service + page: docs-content://explore-analyze/elastic-inference.md + children: + - group: Elastic Inference Service + page: docs-content://explore-analyze/elastic-inference/eis.md + children: + - page: docs-content://explore-analyze/elastic-inference/connect-self-managed-cluster-to-eis.md + title: EIS for self-managed clusters + - page: docs-content://explore-analyze/elastic-inference/inference-api.md + title: Inference integrations + - group: AI chat and LLM configuration + page: docs-content://explore-analyze/ai-features.md + children: + - group: AI chat experiences + page: docs-content://explore-analyze/ai-features/ai-chat-experiences.md + children: + - page: docs-content://explore-analyze/ai-features/ai-chat-experiences/ai-agent-or-ai-assistant.md + title: Compare Agent Builder and AI Assistant + - page: docs-content://explore-analyze/ai-features/ai-chat-experiences/ai-assistant.md + title: AI assistants + - group: LLM providers + page: docs-content://explore-analyze/ai-features/llm-guides/llm-connectors.md + children: + - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-azure-openai.md + title: Connect to Azure OpenAI + - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-amazon-bedrock.md + title: Connect to Amazon Bedrock + - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-openai.md + title: Connect to OpenAI + - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-google-vertex.md + title: Connect to Google Vertex + - group: Local LLMs + page: docs-content://explore-analyze/ai-features/llm-guides/local-llms-overview.md + children: + - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-lmstudio-observability.md + title: Connect to LM Studio for Observability + - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-lmstudio-security.md + title: Connect to LM Studio for Elastic Security + - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-vLLM.md + title: Connect to vLLM for Elastic Security + - page: docs-content://explore-analyze/ai-features/manage-access-to-ai-assistant.md + title: Manage access to AI features + - page: docs-content://explore-analyze/ai-features/agent-skills.md + title: AI agent skills for Elastic + - label: Solutions and project types + children: + - page: docs-content://solutions/index.md + title: Solutions overview + - group: Elasticsearch solution + page: docs-content://solutions/elasticsearch-solution-project.md children: - - title: Administration skills - - label: Deployment-specific administration - - group: Elastic Cloud Hosted + - group: Get started + page: docs-content://solutions/elasticsearch-solution-project/get-started.md children: - - group: Manage deployments - page: docs-content://deploy-manage/deploy/elastic-cloud/manage-deployments.md - children: - - group: Configure - page: docs-content://deploy-manage/deploy/elastic-cloud/configure.md - children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/ec-change-hardware-profile.md - title: Manage hardware profiles - children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/change-hardware.md - title: Change instance configuration - - page: docs-content://deploy-manage/deploy/elastic-cloud/ec-customize-deployment-components.md # BOTH PHASES - title: Customize deployment components - - page: docs-content://deploy-manage/deploy/elastic-cloud/edit-stack-settings.md - title: Edit stack settings - - page: docs-content://deploy-manage/deploy/elastic-cloud/add-plugins-extensions.md - title: Add plugins and extensions - children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/upload-custom-plugins-bundles.md - title: Upload custom plugins - - page: docs-content://deploy-manage/deploy/elastic-cloud/manage-plugins-extensions-through-api.md - title: Manage through the API - - page: docs-content://deploy-manage/deploy/elastic-cloud/custom-endpoint-aliases.md - title: Custom endpoint aliases - - page: docs-content://deploy-manage/deploy/elastic-cloud/manage-integrations-server.md - title: Manage Integrations Server - children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/switch-from-apm-to-integrations-server-payload.md - title: Switch from APM to Integrations Server - - page: docs-content://deploy-manage/deploy/elastic-cloud/find-cloud-id.md - title: Find your Cloud ID - - page: docs-content://deploy-manage/deploy/elastic-cloud/manage-deployments-using-elastic-cloud-api.md - title: Manage deployments using the API - - page: docs-content://deploy-manage/deploy/elastic-cloud/keep-track-of-deployment-activity.md - title: Keep track of deployment activity - - page: docs-content://deploy-manage/deploy/elastic-cloud/access-kibana.md # BOTH PHASES - title: Access Kibana - - page: docs-content://deploy-manage/deploy/elastic-cloud/ec-vcpu-boost-instance.md - title: vCPU boosting and credits - - page: docs-content://deploy-manage/deploy/elastic-cloud/available-stack-versions.md - title: Available stack versions - - page: docs-content://deploy-manage/deploy/elastic-cloud/restrictions-known-problems.md - title: Restrictions and known problems - - page: docs-content://deploy-manage/deploy/elastic-cloud/tools-apis.md - title: Tools and APIs - - group: Elastic Cloud Serverless + - page: docs-content://solutions/elasticsearch-solution-project/search-connection-details.md + title: Find connection details + - group: Playground + page: docs-content://solutions/elasticsearch-solution-project/playground.md + children: + - page: docs-content://solutions/elasticsearch-solution-project/playground-context.md + title: Optimize model context + - page: docs-content://solutions/elasticsearch-solution-project/playground-query.md + title: View and modify queries + - page: docs-content://solutions/elasticsearch-solution-project/playground-troubleshooting.md + title: Troubleshooting + - page: docs-content://solutions/elasticsearch-solution-project/ai-assistant.md + title: AI Assistant + - page: docs-content://solutions/elasticsearch-solution-project/query-rules-ui.md + title: Query rules UI + - group: Search Applications + page: docs-content://solutions/elasticsearch-solution-project/search-applications.md children: - - page: docs-content://deploy-manage/deploy/elastic-cloud/project-settings.md - title: Manage project settings - - page: docs-content://deploy-manage/deploy/elastic-cloud/manage-serverless-projects-using-api.md - title: Manage projects with API - - page: docs-content://deploy-manage/deploy/elastic-cloud/tools-apis.md - title: Tools and APIs - - group: Elastic Cloud Enterprise + - page: docs-content://solutions/elasticsearch-solution-project/search-applications/search-application-api.md + title: Search API and templates + - page: docs-content://solutions/elasticsearch-solution-project/search-applications/search-application-security.md + title: Security + - page: docs-content://solutions/elasticsearch-solution-project/search-applications/search-application-client.md + title: Search Application client guide + - page: docs-content://solutions/elasticsearch-solution-project/es-serverless-add-ons.md + title: Add-ons + - group: Observability solution + page: docs-content://solutions/observability.md + children: + - group: Get started + page: docs-content://solutions/observability/get-started.md children: - - group: Manage your orchestrator - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure.md + - group: Elastic Observability quickstarts + page: docs-content://solutions/observability/get-started/quickstarts.md + children: + - page: docs-content://solutions/observability/get-started/quickstart-monitor-hosts-with-opentelemetry.md + title: "Quickstart: Monitor hosts with OpenTelemetry" + - page: docs-content://solutions/observability/get-started/quickstart-monitor-your-application-performance.md + title: "Quickstart: Monitor your application performance" + - page: docs-content://solutions/observability/get-started/quickstart-unified-kubernetes-observability-with-elastic-distributions-of-opentelemetry-edot.md + title: "Quickstart: Unified Kubernetes Observability with Elastic Distributions of OpenTelemetry (EDOT)" + - page: docs-content://solutions/observability/get-started/quickstart-elastic-cloud-otel-endpoint.md + title: "Quickstart: Send OTLP data to Elastic Serverless or Elastic Cloud Hosted" + - page: docs-content://solutions/observability/get-started/quickstart-create-synthetic-monitor.md + title: "Quickstart: Create a Synthetic Monitor" + - page: docs-content://solutions/observability/get-started/quickstart-monitor-hosts-with-elastic-agent.md + title: "Quickstart: Monitor hosts with Elastic Agent" + - page: docs-content://solutions/observability/get-started/quickstart-monitor-kubernetes-cluster-with-elastic-agent.md + title: "Quickstart: Monitor your Kubernetes cluster with Elastic Agent" + - page: docs-content://solutions/observability/get-started/quickstart-collect-data-with-aws-firehose.md + title: "Quickstart: Collect data with AWS Firehose" + - group: OpenTelemetry quickstarts + page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/index.md children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/log-into-cloud-ui.md # BOTH PHASES - title: Log into the Cloud UI - - page: docs-content://deploy-manage/deploy/cloud-enterprise/assign-roles-to-hosts.md - title: Assign roles to hosts - - page: docs-content://deploy-manage/deploy/cloud-enterprise/system-deployments-configuration.md # BOTH PHASES - title: System deployments configuration + - page: docs-content://solutions/observability/get-started/opentelemetry/custom-metrics-quickstart.md + title: Ingest custom metrics with EDOT + - group: Self-managed + page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/self-managed/index.md children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/default-system-deployment-versions.md - title: Default system deployment versions - - group: Deployment templates - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-deployment-templates.md # BOTH PHASES + - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/self-managed/k8s.md + title: Kubernetes + - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/self-managed/hosts_vms.md + title: Hosts / VMs + - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/self-managed/docker.md + title: Docker + - group: Elastic Cloud Serverless + page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/serverless/index.md children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/deployment-templates.md # BOTH PHASES - title: Deployment templates reference - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-tag-allocators.md - title: Tag allocators - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-instance-configurations-edit.md - title: Edit instance configurations - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-instance-configurations-create.md - title: Create instance configurations - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-create-templates.md - title: Create templates - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-configure-system-templates.md - title: Configure default templates - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configure-templates-index-management.md - title: Configure index management - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ce-add-support-for-node-roles-autoscaling.md - title: Data tiers and autoscaling support - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-ce-add-support-for-integrations-server.md - title: Integrations server support - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-configuring-ece-instance-configurations-default.md - title: Default instance configurations - - page: docs-content://deploy-manage/deploy/cloud-enterprise/change-ece-api-url.md - title: Change the API URL - - page: docs-content://deploy-manage/deploy/cloud-enterprise/change-endpoint-urls.md - title: Change endpoint URLs - - page: docs-content://deploy-manage/deploy/cloud-enterprise/enable-custom-endpoint-aliases.md - title: Enable custom endpoint aliases - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-manage-capacity.md - title: Manage allocator capacity - - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-allocator-affinity.md - title: Configure allocator affinity - - page: docs-content://deploy-manage/deploy/cloud-enterprise/change-allocator-disconnect-timeout.md - title: Change allocator disconnect timeout - - page: docs-content://deploy-manage/deploy/cloud-enterprise/install-ece-on-additional-hosts.md - title: Add hosts - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/generate-roles-tokens.md - title: Manage roles tokens - - page: docs-content://deploy-manage/deploy/cloud-enterprise/migrate-ece-to-podman-hosts.md - title: Migrate to Podman - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/migrate-to-podman-5.md - title: Migrate to Podman 5 - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-include-additional-kibana-plugin.md - title: Include additional Kibana plugins - - page: docs-content://deploy-manage/deploy/cloud-enterprise/manage-elastic-stack-versions.md - title: Manage stack versions - - page: docs-content://deploy-manage/deploy/cloud-enterprise/statistics-collected-by-cloud-enterprise.md - title: Statistics collected by ECE - - page: docs-content://deploy-manage/deploy/cloud-enterprise/tools-apis.md - title: Tools and APIs - - group: Manage deployments - page: docs-content://deploy-manage/deploy/cloud-enterprise/working-with-deployments.md - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/deployment-templates.md # BOTH PHASES - title: Deployment templates reference - - page: docs-content://deploy-manage/deploy/cloud-enterprise/create-deployment.md # BOTH PHASES - title: Create a deployment - - page: docs-content://deploy-manage/deploy/cloud-enterprise/access-kibana.md # BOTH PHASES - title: Access Kibana - - page: docs-content://deploy-manage/deploy/cloud-enterprise/connect-elasticsearch.md # BOTH PHASES - title: Connect to Elasticsearch - - page: docs-content://deploy-manage/deploy/cloud-enterprise/configure-deployment.md - title: Configure - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/customize-deployment.md - title: Customize deployment components - - page: docs-content://deploy-manage/deploy/cloud-enterprise/edit-stack-settings.md - title: Edit stack settings - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/edit-stack-settings-elasticsearch.md - title: Elasticsearch user settings - - page: docs-content://deploy-manage/deploy/cloud-enterprise/edit-stack-settings-kibana.md - title: Kibana user settings - - page: docs-content://deploy-manage/deploy/cloud-enterprise/edit-stack-settings-apm.md - title: APM user settings - - page: docs-content://deploy-manage/deploy/cloud-enterprise/edit-stack-settings-enterprise.md - title: Enterprise search user settings - - page: docs-content://deploy-manage/deploy/cloud-enterprise/resize-deployment.md - title: Resize a deployment - - page: docs-content://deploy-manage/deploy/cloud-enterprise/add-plugins.md - title: Add plugins and extensions - - page: docs-content://deploy-manage/deploy/cloud-enterprise/add-custom-bundles-plugins.md - title: Add custom bundles and plugins - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-regional-deployment-aliases.md - title: Custom endpoint aliases - - page: docs-content://deploy-manage/deploy/cloud-enterprise/resource-overrides.md - title: Resource overrides - - page: docs-content://deploy-manage/deploy/cloud-enterprise/advanced-cluster-configuration.md - title: Advanced cluster configuration - - page: docs-content://deploy-manage/deploy/cloud-enterprise/search-filter-deployments.md - title: Search and filter deployments - - page: docs-content://deploy-manage/deploy/cloud-enterprise/keep-track-of-deployment-activity.md - title: Keep track of deployment activity - - page: docs-content://deploy-manage/deploy/cloud-enterprise/manage-integrations-server.md - title: Manage Integrations Server - children: - - page: docs-content://deploy-manage/deploy/cloud-enterprise/ece-integrations-server-api-example.md - title: Enable through the API - - page: docs-content://deploy-manage/deploy/cloud-enterprise/switch-from-apm-to-integrations-server-payload.md - title: Switch from APM - - group: Elastic Cloud on Kubernetes - children: - - group: Manage the ECK operator - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configure.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configure-eck.md - title: Apply configuration settings - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configure-validating-webhook.md - title: Validating webhook - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/restrict-cross-namespace-resource-associations.md - title: Cross-namespace restrictions - - group: Service meshes - page: docs-content://deploy-manage/deploy/cloud-on-k8s/service-meshes.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-service-mesh-istio.md - title: Istio - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-service-mesh-linkerd.md - title: Linkerd - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/webhook-namespace-selectors.md - title: Webhook namespace selectors - - group: Manage deployments and workloads - page: docs-content://deploy-manage/deploy/cloud-on-k8s/manage-deployments.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/managing-deployments-using-helm-chart.md - title: Elastic Stack Helm chart - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/update-deployments.md - title: Applying updates - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/accessing-services.md # BOTH PHASES - title: Accessing services - - group: Configure deployments - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configure-deployments.md - children: - - group: Elasticsearch configuration - page: docs-content://deploy-manage/deploy/cloud-on-k8s/elasticsearch-configuration.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/nodes-orchestration.md - title: Nodes orchestration - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/storage-recommendations.md - title: Storage recommendations - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/node-configuration.md - title: Node configuration - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/volume-claim-templates.md - title: Volume claim templates - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/virtual-memory.md - title: Virtual memory - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/settings-managed-by-eck.md - title: Settings managed by ECK - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/custom-configuration-files-plugins.md - title: Custom configuration files and plugins - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/init-containers-for-plugin-downloads.md - title: Init containers for plugins - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/update-strategy.md - title: Update strategy - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/pod-disruption-budget.md - title: Pod disruption budget - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/advanced-elasticsearch-node-scheduling.md - title: Advanced node scheduling - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/readiness-probe.md - title: Readiness probe - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/pod-prestop-hook.md - title: Pod PreStop hook - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/security-context.md - title: Security context - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/requests-routing-to-elasticsearch-nodes.md - title: Traffic splitting - - group: Kibana configuration - page: docs-content://deploy-manage/deploy/cloud-on-k8s/kibana-configuration.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-kibana-es.md - title: Connect Kibana to Elasticsearch - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-kibana-advanced-configuration.md - title: Advanced configuration - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-kibana-plugins.md - title: Kibana plugins - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/customize-pods.md - title: Customize pods - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/propagate-labels-annotations.md - title: Labels and annotations - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/manage-compute-resources.md - title: Compute resources - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/recipes.md - title: Recipes - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/connect-to-external-elastic-resources.md - title: Connect to external resources - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/elastic-stack-configuration-policies.md - title: Stack configuration policies - - group: Other Elastic applications - page: docs-content://deploy-manage/deploy/cloud-on-k8s/orchestrate-other-elastic-applications.md - children: - - group: APM Server - page: docs-content://deploy-manage/deploy/cloud-on-k8s/apm-server.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/use-an-elasticsearch-cluster-managed-by-eck.md - title: Use an ECK-managed cluster - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/advanced-configuration.md - title: Advanced configuration - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/connect-to-apm-server.md - title: Connect to APM Server - - group: Standalone Elastic Agent - page: docs-content://deploy-manage/deploy/cloud-on-k8s/standalone-elastic-agent.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/quickstart-standalone.md - title: Quickstart - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-standalone.md - title: Configuration - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-examples-standalone.md - title: Configuration examples - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-agent.md - title: Agent on OpenShift - - group: Fleet-managed Elastic Agent - page: docs-content://deploy-manage/deploy/cloud-on-k8s/fleet-managed-elastic-agent.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/quickstart-fleet.md - title: Quickstart - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-fleet.md - title: Configuration - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-examples-fleet.md - title: Configuration examples - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/known-limitations.md - title: Known limitations - - group: Elastic Maps Server - page: docs-content://deploy-manage/deploy/cloud-on-k8s/elastic-maps-server.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/deploy-elastic-maps-server.md - title: Deploy Maps Server - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/map-data.md - title: Map data - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/advanced-configuration-maps-server.md - title: Advanced configuration - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/http-configuration.md - title: HTTP configuration - - group: Beats - page: docs-content://deploy-manage/deploy/cloud-on-k8s/beats.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/quickstart-beats.md - title: Quickstart - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-beats.md - title: Configuration - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-examples-beats.md - title: Configuration examples - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/troubleshooting-beats.md - title: Troubleshooting - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/k8s-openshift-beats.md - title: Beats on OpenShift - - group: Logstash - page: docs-content://deploy-manage/deploy/cloud-on-k8s/logstash.md - children: - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/quickstart-logstash.md - title: Quickstart - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-logstash.md - title: Configuration - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/securing-logstash-api.md - title: Securing the API - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/logstash-plugins.md - title: Plugins - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/configuration-examples-logstash.md - title: Configuration examples - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/update-strategy-logstash.md - title: Update strategy - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/advanced-configuration-logstash.md - title: Advanced configuration - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/package-registry.md - title: Elastic Package Registry - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/create-custom-images.md - title: Custom images - - page: docs-content://deploy-manage/deploy/cloud-on-k8s/tools-apis.md - title: Tools and APIs - - group: Self-managed clusters - children: - - page: docs-content://deploy-manage/deploy/self-managed/configure-elasticsearch.md # BOTH PHASES - title: Configure Elasticsearch - - page: docs-content://deploy-manage/deploy/self-managed/configure-kibana.md - title: Configure Kibana - - page: docs-content://deploy-manage/deploy/self-managed/plugins.md - title: Manage plugins - - page: docs-content://deploy-manage/deploy/self-managed/access-kibana.md - title: Access Kibana - - page: docs-content://deploy-manage/deploy/self-managed/tools-apis.md - title: Tools and APIs - - label: ─── - - group: Security and encryption - page: docs-content://deploy-manage/security.md + - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/serverless/k8s.md + title: Kubernetes + - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/serverless/hosts_vms.md + title: Hosts and VMs + - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/serverless/docker.md + title: Docker + - group: Elastic Cloud Hosted + page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/ech/index.md + children: + - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/ech/k8s.md + title: Kubernetes + - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/ech/hosts_vms.md + title: Hosts and VMs + - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/ech/docker.md + title: Docker + - group: OpenTelemetry use cases + page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/index.md + children: + - group: Kubernetes observability + page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/index.md + children: + - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/prerequisites-compatibility.md + title: Prerequisites and compatibility + - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/components.md + title: Components description + - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/deployment.md + title: Deployment + - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/instrumenting-applications.md + title: Instrumenting Applications + - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/upgrade.md + title: Upgrade + - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/customization.md + title: Customization + - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/llms/index.md + title: LLM observability + - group: Other Observability tutorials + page: docs-content://solutions/observability/get-started/other-tutorials/index.md + children: + - page: docs-content://solutions/observability/get-started/other-tutorials/tutorial-monitor-java-application.md + title: "Tutorial: Monitor a Java application" + - page: docs-content://solutions/observability/get-started/logs-essentials.md + title: Logs Essentials + - group: Applications and services + page: docs-content://solutions/observability/applications/index.md children: - - page: docs-content://deploy-manage/security/secure-hosting-environment.md + - group: Application performance monitoring (APM) + page: docs-content://solutions/observability/apm/index.md children: - - page: docs-content://deploy-manage/security/secure-your-elastic-cloud-enterprise-installation.md - title: "Elastic Cloud Enterprise" + - page: docs-content://solutions/observability/apm/get-started.md + title: Get started with traces and APM + - group: Application data types + page: docs-content://solutions/observability/apm/data-types.md children: - - page: docs-content://deploy-manage/security/secure-your-elastic-cloud-enterprise-installation/manage-security-certificates.md - - page: docs-content://deploy-manage/security/secure-your-elastic-cloud-enterprise-installation/allow-x509-certificates-signed-with-sha-1.md - - page: docs-content://deploy-manage/security/secure-your-elastic-cloud-enterprise-installation/configure-tls-version.md - - page: docs-content://deploy-manage/security/secure-your-elastic-cloud-enterprise-installation/migrate-ece-on-podman-hosts-to-selinux-enforce.md - - page: docs-content://deploy-manage/security/secure-your-eck-installation.md - title: "Elastic Cloud on Kubernetes" - - page: docs-content://deploy-manage/security/secure-your-cluster-deployment.md - children: - - page: docs-content://deploy-manage/security/self-setup.md - title: "Self-managed security setup" - children: - - page: docs-content://deploy-manage/security/self-auto-setup.md - title: "Automatic security setup" - - page: docs-content://deploy-manage/security/set-up-minimal-security.md - title: "Minimal security setup" - - page: docs-content://deploy-manage/security/set-up-basic-security.md - title: "Set up transport TLS" - - page: docs-content://deploy-manage/security/set-up-basic-security-plus-https.md - title: "Set up HTTPS" - - page: docs-content://deploy-manage/security/using-kibana-with-security.md - - page: docs-content://deploy-manage/security/secure-cluster-communications.md - title: "Manage TLS encryption" - children: - - page: docs-content://deploy-manage/security/self-tls.md - title: "Self-managed" - children: - - page: docs-content://deploy-manage/security/updating-certificates.md - title: "Update TLS certificates" + - page: docs-content://solutions/observability/apm/spans.md + title: Spans + - group: Transactions + page: docs-content://solutions/observability/apm/transactions.md + children: + - page: docs-content://solutions/observability/apm/transaction-sampling.md + title: Transaction sampling + - page: docs-content://solutions/observability/apm/traces.md + title: Traces + - page: docs-content://solutions/observability/apm/errors.md + title: Errors + - page: docs-content://solutions/observability/apm/metrics.md + title: Metrics + - page: docs-content://solutions/observability/apm/metadata.md + title: Metadata + - group: Collect application data + page: docs-content://solutions/observability/apm/ingest/index.md + children: + - group: OpenTelemetry + page: docs-content://solutions/observability/apm/opentelemetry/index.md + children: + - page: docs-content://solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md + title: Contrib OpenTelemetry Collectors and language SDKs + - page: docs-content://solutions/observability/apm/opentelemetry/collect-metrics.md + title: Collect metrics + - page: docs-content://solutions/observability/apm/opentelemetry/create-apm-agent-key-for-edot-sdks.md + title: Create APM agent key for EDOT SDKs + - page: docs-content://solutions/observability/apm/opentelemetry/edot-sdks-central-configuration.md + title: Centrally configure EDOT SDKs + - page: docs-content://solutions/observability/apm/opentelemetry/limitations.md + title: Limitations + - page: docs-content://solutions/observability/apm/opentelemetry/attributes.md + title: Attributes and labels + - page: docs-content://solutions/observability/apm/opentelemetry/data-stream-routing.md + title: Data stream routing + - group: APM agents + page: docs-content://solutions/observability/apm/apm-agents/index.md + children: + - page: docs-content://solutions/observability/apm/apm-agents/central-configuration.md + title: Centrally configure APM agents + - page: docs-content://solutions/observability/apm/apm-agents/real-user-monitoring-rum.md + title: Real User Monitoring (RUM) + - page: docs-content://solutions/observability/apm/apm-agents/create-upload-source-maps-rum.md + title: Create and upload source maps (RUM) + - page: docs-content://solutions/observability/apm/ingest/apm-k8s-attacher.md + title: Kubernetes + - page: docs-content://solutions/observability/apm/ingest/monitor-aws-lambda-functions.md + title: AWS Lambda Functions + - page: docs-content://solutions/observability/apm/ingest/jaeger.md + title: Jaeger (deprecated) + - group: View and analyze data + page: docs-content://solutions/observability/apm/view-analyze-data.md + children: + - group: Overviews + page: docs-content://solutions/observability/apm/overviews.md + children: + - page: docs-content://solutions/observability/apm/services.md + title: Services + - page: docs-content://solutions/observability/apm/traces-ui.md + title: Traces UI + - page: docs-content://solutions/observability/apm/dependencies.md + title: Dependencies + - page: docs-content://solutions/observability/apm/service-map.md + title: Service Map + - page: docs-content://solutions/observability/apm/service-overview.md + title: Service overview + - page: docs-content://solutions/observability/apm/mobile-service-overview.md + title: Mobile service overview + - group: Drill down into data + page: docs-content://solutions/observability/apm/drill-down-into-data.md + children: + - page: docs-content://solutions/observability/apm/transactions-ui.md + title: Transactions UI + - page: docs-content://solutions/observability/apm/trace-sample-timeline.md + title: Trace sample timeline + - page: docs-content://solutions/observability/apm/errors-ui.md + title: Errors UI + - page: docs-content://solutions/observability/apm/metrics-ui.md + title: Metrics UI + - page: docs-content://solutions/observability/apm/infrastructure.md + title: Infrastructure + - page: docs-content://solutions/observability/apm/logs.md + title: Logs + - page: docs-content://solutions/observability/apm/discover-traces.md + title: Discover traces + - group: Filter and search data + page: docs-content://solutions/observability/apm/filter-search-data.md + children: + - page: docs-content://solutions/observability/apm/filter-data.md + title: Filters + - page: docs-content://solutions/observability/apm/advanced-queries.md + title: Advanced queries + - page: docs-content://solutions/observability/apm/cross-cluster-search.md + title: Cross-cluster search + - group: Interpret data + page: docs-content://solutions/observability/apm/interpret-data.md + children: + - page: docs-content://solutions/observability/apm/find-transaction-latency-failure-correlations.md + title: Find transaction latency and failure correlations + - page: docs-content://solutions/observability/apm/track-deployments-with-annotations.md + title: Track deployments with annotations + - page: docs-content://solutions/observability/apm/explore-mobile-sessions.md + title: Explore mobile sessions with Discover + - page: docs-content://solutions/observability/apm/observe-lambda-functions.md + title: Observe Lambda functions + - page: docs-content://solutions/observability/apm/machine-learning.md + title: Integrate with machine learning + - page: docs-content://solutions/observability/apm/apm-agent-explorer.md + title: APM Agent explorer + - page: docs-content://solutions/observability/apm/applications-ui-settings.md + title: Settings + - group: Act on data + page: docs-content://solutions/observability/apm/act-on-data.md + children: + - page: docs-content://solutions/observability/apm/create-apm-rules-alerts.md + title: Create rules and alerts + - page: docs-content://solutions/observability/apm/create-custom-links.md + title: Create custom links + - group: Use APM securely + page: docs-content://solutions/observability/apm/use-apm-securely.md + children: + - group: Secure data + page: docs-content://solutions/observability/apm/secure-data.md + children: + - page: docs-content://solutions/observability/apm/control-access-to-apm-data.md + title: Control access to APM data + - page: docs-content://solutions/observability/apm/built-in-data-filters.md + title: Built-in data filters + - page: docs-content://solutions/observability/apm/custom-filters.md + title: Custom filters + - page: docs-content://solutions/observability/apm/delete-sensitive-data.md + title: Delete sensitive data + - group: Secure communication with APM agents + page: docs-content://solutions/observability/apm/secure-communication-with-apm-agents.md + children: + - page: docs-content://solutions/observability/apm/apm-agent-tls-communication.md + title: APM agent TLS communication + - page: docs-content://solutions/observability/apm/api-keys.md + title: API keys + - page: docs-content://solutions/observability/apm/secret-token.md + title: Secret token + - page: docs-content://solutions/observability/apm/anonymous-authentication.md + title: Anonymous authentication + - group: Secure communication with the Elastic Stack + page: docs-content://solutions/observability/apm/secure-communication-with-elastic-stack.md + children: + - page: docs-content://solutions/observability/apm/create-assign-feature-roles-to-apm-server-users.md + title: Use feature roles + - page: docs-content://solutions/observability/apm/grant-access-using-api-keys.md + title: Grant access using API keys + - group: Secure access to the Applications UI + page: docs-content://solutions/observability/apm/secure-access-to-applications-ui.md + children: + - page: docs-content://solutions/observability/apm/ui-user-reader.md + title: Create an APM reader user + - page: docs-content://solutions/observability/apm/ui-user-annotation.md + title: Create an annotation user + - page: docs-content://solutions/observability/apm/ui-user-api.md + title: Create an API user + - page: docs-content://solutions/observability/apm/ui-user-central-config.md + title: Create a central config user + - page: docs-content://solutions/observability/apm/ui-user-storage-explorer.md + title: Create a storage explorer user + - group: Manage storage + page: docs-content://solutions/observability/apm/manage-storage.md + children: + - page: docs-content://solutions/observability/apm/storage-explorer.md + title: Storage Explorer + - page: docs-content://solutions/observability/apm/data-streams.md + title: Data streams + - page: docs-content://solutions/observability/apm/index-lifecycle-management.md + title: Index lifecycle management + - page: docs-content://solutions/observability/apm/view-elasticsearch-index-template.md + title: View the Elasticsearch index template + - page: docs-content://solutions/observability/apm/parse-data-using-ingest-pipelines.md + title: Parse data using ingest pipelines + - page: docs-content://solutions/observability/apm/storage-sizing-guide.md + title: Storage and sizing guide + - page: docs-content://solutions/observability/apm/reduce-storage.md + title: Reduce storage + - page: docs-content://solutions/observability/apm/explore-data-in-elasticsearch.md + title: Explore data in Elasticsearch + - group: "Work with APM Server" + page: docs-content://solutions/observability/apm/apm-server/index.md + children: + - group: Set up + page: docs-content://solutions/observability/apm/apm-server/setup.md + children: + - page: docs-content://solutions/observability/apm/apm-server/fleet-managed.md + title: Fleet-managed APM Server + - page: docs-content://solutions/observability/apm/apm-server/binary.md + title: APM Server binary + - group: Configure + page: docs-content://solutions/observability/apm/apm-server/configure.md + children: + - page: docs-content://solutions/observability/apm/apm-server/general-configuration-options.md + title: General configuration options + - page: docs-content://solutions/observability/apm/apm-server/configure-anonymous-authentication.md + title: Anonymous authentication + - page: docs-content://solutions/observability/apm/apm-server/apm-agent-authorization.md + title: APM agent authorization + - page: docs-content://solutions/observability/apm/apm-server/apm-agent-central-configuration.md + title: Configure APM Agent Central Configuration + - page: docs-content://solutions/observability/apm/apm-server/configure-apm-instrumentation.md + title: Instrumentation + - page: docs-content://solutions/observability/apm/apm-server/configure-kibana-endpoint.md + title: Kibana endpoint + - page: docs-content://solutions/observability/apm/apm-server/configure-logging.md + title: Logging + - group: Output + page: docs-content://solutions/observability/apm/apm-server/configure-output.md children: - - page: docs-content://deploy-manage/security/same-ca.md - title: "With the same CA" - - page: docs-content://deploy-manage/security/different-ca.md - title: "With a different CA" - - page: docs-content://deploy-manage/security/kibana-es-mutual-tls.md - title: "Mutual authentication" - - page: docs-content://deploy-manage/security/supported-ssltls-versions-by-jdk-version.md - - page: docs-content://deploy-manage/security/enabling-cipher-suites-for-stronger-encryption.md - - page: docs-content://deploy-manage/security/eck-tls.md - title: "ECK" - children: - - page: docs-content://deploy-manage/security/k8s-https-settings.md - - page: docs-content://deploy-manage/security/k8s-transport-settings.md - - page: docs-content://deploy-manage/security/external-ca-transport.md - title: "External CA for TLS" - - page: docs-content://deploy-manage/security/network-security.md - title: "Network security" - children: - - page: docs-content://deploy-manage/security/network-security-policies.md - title: "How network security policies work in Cloud" - - page: docs-content://deploy-manage/security/ece-filter-rules.md - title: "How IP filtering rules work in ECE" - - page: docs-content://deploy-manage/security/ip-filtering.md - title: "Add IP filters" - children: - - page: docs-content://deploy-manage/security/ip-filtering-cloud.md - title: "In ECH or Serverless" - - page: docs-content://deploy-manage/security/ip-filtering-ece.md - title: "In ECE" - - page: docs-content://deploy-manage/security/ip-filtering-basic.md - title: "In ECK and Self Managed" - - page: docs-content://deploy-manage/security/remote-cluster-filtering.md - title: "Remote cluster filters" - - page: docs-content://deploy-manage/security/private-connectivity.md - children: - - page: docs-content://deploy-manage/security/private-connectivity-aws.md - title: "AWS PrivateLink" - - page: docs-content://deploy-manage/security/private-connectivity-azure.md - title: "Azure Private Link" - - page: docs-content://deploy-manage/security/private-connectivity-gcp.md - title: "GCP Private Service Connect" - - page: docs-content://deploy-manage/security/claim-private-connection-api.md - - page: docs-content://deploy-manage/security/network-security-api.md - title: "Through the API" - - page: docs-content://deploy-manage/security/k8s-network-policies.md - - page: docs-content://deploy-manage/security/elastic-cloud-static-ips.md - - page: docs-content://deploy-manage/security/kibana-session-management.md - - page: docs-content://deploy-manage/security/data-security.md - children: - - page: docs-content://deploy-manage/security/encrypt-deployment-with-customer-managed-encryption-key.md - - page: docs-content://deploy-manage/security/secure-settings.md - children: - - page: docs-content://deploy-manage/security/k8s-secure-settings.md - - page: docs-content://deploy-manage/security/secure-saved-objects.md - - page: docs-content://deploy-manage/security/logging-configuration/security-event-audit-logging.md - children: - - page: docs-content://deploy-manage/security/logging-configuration/enabling-audit-logs.md - - page: docs-content://deploy-manage/security/logging-configuration/configuring-audit-logs.md - children: - - page: docs-content://deploy-manage/security/logging-configuration/logfile-audit-events-ignore-policies.md - title: "Elasticsearch audit events ignore policies" - - page: docs-content://deploy-manage/security/logging-configuration/logfile-audit-output.md - title: "Elasticsearch logfile output" - - page: docs-content://deploy-manage/security/logging-configuration/auditing-search-queries.md - - page: docs-content://deploy-manage/security/logging-configuration/correlating-kibana-elasticsearch-audit-logs.md - title: "Correlate audit events" - - page: docs-content://deploy-manage/security/secure-clients-integrations.md - - page: docs-content://deploy-manage/security/httprest-clients-security.md - - page: docs-content://deploy-manage/security/limitations.md - title: "Limitations" - - page: docs-content://deploy-manage/security/fips.md - children: - - page: docs-content://deploy-manage/security/fips-es.md - - page: docs-content://deploy-manage/security/fips-kib.md - - page: docs-content://deploy-manage/security/fips-ingest.md - - group: Authentication and authorization - page: docs-content://deploy-manage/users-roles.md - children: - - page: docs-content://deploy-manage/users-roles/cloud-organization.md - title: "Cloud organization" - children: - - page: docs-content://deploy-manage/users-roles/cloud-organization/manage-users.md - - page: docs-content://deploy-manage/users-roles/cloud-organization/user-roles.md - - page: docs-content://deploy-manage/users-roles/cloud-organization/configure-saml-authentication.md - title: "Configure SAML SSO" - children: - - page: docs-content://deploy-manage/users-roles/cloud-organization/register-elastic-cloud-saml-in-okta.md - title: "Okta" - - page: docs-content://deploy-manage/users-roles/cloud-organization/register-elastic-cloud-saml-in-microsoft-entra-id.md - title: "Microsoft Entra ID" - - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator.md - title: "ECE orchestrator" - children: - - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/manage-system-passwords.md - - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/manage-users-roles.md - children: - - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/native-user-authentication.md - - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/active-directory.md - - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/ldap.md - - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/saml.md - - page: docs-content://deploy-manage/users-roles/cloud-enterprise-orchestrator/configure-sso-for-deployments.md - - page: docs-content://deploy-manage/users-roles/serverless-custom-roles.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth.md - title: "Cluster or deployment" - children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/quickstart.md - title: "Quickstart" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/user-authentication.md - children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/authentication-realms.md - children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/realm-chains.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/security-domains.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/internal-authentication.md - children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/native.md - title: "Native" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/file-based.md - title: "File-based" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/external-authentication.md - children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/active-directory.md - title: "Active Directory" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/jwt.md - title: "JWT" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/kerberos.md - title: "Kerberos" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/ldap.md - title: "LDAP" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/openid-connect.md - title: "OpenID Connect" + - page: docs-content://solutions/observability/apm/apm-server/configure-output-for-elasticsearch-service-on-elastic-cloud.md + title: Elastic Cloud Hosted + - page: docs-content://solutions/observability/apm/apm-server/configure-elasticsearch-output.md + title: Elasticsearch + - page: docs-content://solutions/observability/apm/apm-server/configure-logstash-output.md + title: "Logstash" + - page: docs-content://solutions/observability/apm/apm-server/configure-kafka-output.md + title: Kafka + - page: docs-content://solutions/observability/apm/apm-server/configure-redis-output.md + title: Redis + - page: docs-content://solutions/observability/apm/apm-server/configure-console-output.md + title: Console + - page: docs-content://solutions/observability/apm/apm-server/configure-project-paths.md + title: Project paths + - page: docs-content://solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md + title: Real User Monitoring (RUM) + - group: SSL/TLS settings + page: docs-content://solutions/observability/apm/apm-server/ssl-tls-settings.md children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/oidc-examples.md - title: "With Azure, Google, or Okta" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/saml.md - title: "SAML" + - page: docs-content://solutions/observability/apm/apm-server/ssl-tls-output-settings.md + title: SSL/TLS output settings + - page: docs-content://solutions/observability/apm/apm-server/ssl-tls-input-settings.md + title: SSL/TLS input settings + - page: docs-content://solutions/observability/apm/apm-server/tail-based-sampling.md + title: Tail-based sampling + - page: docs-content://solutions/observability/apm/apm-server/use-environment-variables-in-configuration.md + title: Use environment variables in the configuration + - group: Advanced setup + page: docs-content://solutions/observability/apm/apm-server/advanced-setup.md children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/saml-entra.md - title: "With Microsoft Entra ID" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/pki.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/custom.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/built-in-users.md - title: "Built-in users" - children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/built-in-sm.md - title: "Change passwords" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/orchestrator-managed-users-overview.md - title: "Orchestrator-managed users" - children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/manage-elastic-user-cloud.md - title: "ECH and ECE" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/managed-credentials-eck.md - title: "ECK managed credentials" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/kibana-authentication.md - title: "Kibana authentication" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/access-agreement.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/anonymous-access.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/token-based-authentication-services.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/service-accounts.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/internal-users.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/operator-privileges.md - children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/configure-operator-privileges.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/operator-only-functionality.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/operator-privileges-for-snapshot-restore.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/user-profiles.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/looking-up-users-without-authentication.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/controlling-user-cache.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/manage-authentication-for-multiple-clusters.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/user-roles.md - children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/defining-roles.md - children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/role-structure.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/granting-privileges-for-data-streams-aliases.md - title: "For data streams and aliases" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/kibana-role-management.md - title: "Using Kibana" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/role-restriction.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/kibana-privileges.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/mapping-users-groups-to-roles.md - title: "Map users and groups to roles" - children: - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/role-mapping-resources.md - title: "Role mapping properties" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/authorization-delegation.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/authorization-plugins.md - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/controlling-access-at-document-field-level.md - title: "Control access at the document and field level" - - page: docs-content://deploy-manage/users-roles/cluster-or-deployment-auth/submitting-requests-on-behalf-of-other-users.md - title: "Submit requests on behalf of other users" - - group: API keys - page: docs-content://deploy-manage/api-keys.md - children: - - page: docs-content://deploy-manage/api-keys/elasticsearch-api-keys.md - - page: docs-content://deploy-manage/api-keys/serverless-project-api-keys.md - - page: docs-content://deploy-manage/api-keys/elastic-cloud-api-keys.md - - page: docs-content://deploy-manage/api-keys/elastic-cloud-enterprise-api-keys.md - - group: Spaces - page: docs-content://deploy-manage/manage-spaces.md - - group: Monitoring - page: docs-content://deploy-manage/monitor.md - children: - - page: docs-content://deploy-manage/monitor/autoops.md - children: - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-how-to-access.md - title: "For Elastic Cloud Hosted" - - page: docs-content://deploy-manage/monitor/autoops/autoops-for-serverless.md - title: "For Elastic Cloud Serverless" - children: - - page: docs-content://deploy-manage/monitor/autoops/access-autoops-for-serverless.md - title: "Access AutoOps in your project" - - page: docs-content://deploy-manage/monitor/autoops/search-tier-view-autoops-serverless.md - title: "Search Tier view" - - page: docs-content://deploy-manage/monitor/autoops/indexing-tier-view-autoops-serverless.md - title: "Indexing Tier view" - - page: docs-content://deploy-manage/monitor/autoops/search-ai-lake-view-autoops-serverless.md - title: "Search AI Lake view" - - page: docs-content://deploy-manage/monitor/autoops/cc-autoops-as-cloud-connected.md - title: "For ECE, ECK, and self-managed clusters" - children: - - page: docs-content://deploy-manage/monitor/autoops/cc-connect-self-managed-to-autoops.md - title: "Connect your cluster" - - page: docs-content://deploy-manage/monitor/autoops/cc-connect-local-dev-to-autoops.md - title: "Connect your local development cluster" - - page: docs-content://deploy-manage/monitor/autoops/autoops-sm-custom-certification.md - title: "Configure Elastic agent with custom certificate" - - page: docs-content://deploy-manage/monitor/autoops/autoops-disable-metrics-collection.md - title: "Disable certain types of data collection" - - page: docs-content://deploy-manage/monitor/autoops/cc-manage-users.md - title: "Manage connected cluster users" - - page: docs-content://deploy-manage/monitor/autoops/cc-cloud-connect-autoops-troubleshooting.md - title: "Troubleshooting" - children: - - page: docs-content://deploy-manage/monitor/autoops/autoops-connectivity-check.md - title: "Run the Connectivity Check" - - page: docs-content://deploy-manage/monitor/autoops/autoops-sm-troubleshoot-firewalls.md - title: "Firewalls blocking Elastic Agent" - - page: docs-content://deploy-manage/monitor/autoops/autoops-sm-troubleshoot-eck-no-clusters.md - title: "Connected clusters not appearing with ECK" - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-regions.md - title: "Regions" - - page: docs-content://deploy-manage/monitor/autoops/views.md - title: "Views" - children: - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-overview-view.md - title: "Overview" - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-deployment-view.md - title: "Deployment or Cluster" - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-nodes-view.md - title: "Nodes" - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-index-view.md - title: "Indices" - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-shards-view.md - title: "Shards" - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-template-optimizer.md - title: "Template Optimizer" - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-events.md - title: "Events" - children: - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-event-settings.md - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-notifications-settings.md - - page: docs-content://deploy-manage/monitor/autoops/ec-autoops-faq.md - title: "FAQ" - - page: docs-content://deploy-manage/monitor/stack-monitoring.md - children: - - page: docs-content://deploy-manage/monitor/stack-monitoring/ece-ech-stack-monitoring.md - title: "Enable on ECH and ECE" - - page: docs-content://deploy-manage/monitor/stack-monitoring/eck-stack-monitoring.md - title: "Enable on ECK" - - page: docs-content://deploy-manage/monitor/stack-monitoring/elasticsearch-monitoring-self-managed.md - title: "Self-managed: Elasticsearch" - children: - - page: docs-content://deploy-manage/monitor/stack-monitoring/collecting-monitoring-data-with-elastic-agent.md - title: "Collecting monitoring data with Elastic Agent" - - page: docs-content://deploy-manage/monitor/stack-monitoring/collecting-monitoring-data-with-metricbeat.md - title: "Collecting monitoring data with Metricbeat" - - page: docs-content://deploy-manage/monitor/stack-monitoring/collecting-log-data-with-filebeat.md - title: "Collecting log data with Filebeat" - - page: docs-content://deploy-manage/monitor/stack-monitoring/es-self-monitoring-prod.md - - page: docs-content://deploy-manage/monitor/stack-monitoring/es-legacy-collection-methods.md - title: "Legacy collection methods" - children: - - page: docs-content://deploy-manage/monitor/stack-monitoring/es-monitoring-collectors.md - - page: docs-content://deploy-manage/monitor/stack-monitoring/es-monitoring-exporters.md - - page: docs-content://deploy-manage/monitor/stack-monitoring/es-local-exporter.md - - page: docs-content://deploy-manage/monitor/stack-monitoring/es-http-exporter.md - - page: docs-content://deploy-manage/monitor/stack-monitoring/es-pause-export.md - - page: docs-content://deploy-manage/monitor/stack-monitoring/kibana-monitoring-self-managed.md - title: "Self-managed: Kibana" - children: - - page: docs-content://deploy-manage/monitor/stack-monitoring/kibana-monitoring-elastic-agent.md - title: "Collect monitoring data with Elastic Agent" - - page: docs-content://deploy-manage/monitor/stack-monitoring/kibana-monitoring-metricbeat.md - title: "Collect monitoring data with Metricbeat" - - page: docs-content://deploy-manage/monitor/stack-monitoring/kibana-monitoring-legacy.md - title: "Legacy collection methods" - - page: docs-content://deploy-manage/monitor/stack-monitoring/kibana-monitoring-data.md - - page: docs-content://deploy-manage/monitor/monitoring-data/visualizing-monitoring-data.md - children: - - page: docs-content://deploy-manage/monitor/monitoring-data/beats-page.md - - page: docs-content://deploy-manage/monitor/monitoring-data/elasticsearch-metrics.md - - page: docs-content://deploy-manage/monitor/monitoring-data/kibana-page.md - - page: docs-content://deploy-manage/monitor/monitoring-data/integrations-server-page.md - - page: docs-content://deploy-manage/monitor/monitoring-data/logstash-page.md - - page: docs-content://deploy-manage/monitor/monitoring-data/monitor-troubleshooting.md - title: "Troubleshooting" - - page: docs-content://deploy-manage/monitor/monitoring-data/configure-stack-monitoring-alerts.md - - page: docs-content://deploy-manage/monitor/monitoring-data/configuring-data-streamsindices-for-monitoring.md - children: - - page: docs-content://deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-elastic-agent.md - - page: docs-content://deploy-manage/monitor/monitoring-data/config-monitoring-data-streams-metricbeat-8.md - - page: docs-content://deploy-manage/monitor/monitoring-data/config-monitoring-indices-metricbeat-7-internal-collection.md - - page: docs-content://deploy-manage/monitor/autoops-vs-stack-monitoring.md - title: "AutoOps vs. Stack Monitoring" - - page: docs-content://deploy-manage/monitor/cloud-health-perf.md - title: "Cloud deployment health" - children: - - page: docs-content://deploy-manage/monitor/access-performance-metrics-on-elastic-cloud.md - - page: docs-content://deploy-manage/monitor/ec-memory-pressure.md - - page: docs-content://deploy-manage/monitor/kibana-task-manager-health-monitoring.md - title: "Kibana task manager monitoring" - - page: docs-content://deploy-manage/monitor/orchestrators.md - children: - - page: docs-content://deploy-manage/monitor/orchestrators/eck-metrics-configuration.md - children: - - page: docs-content://deploy-manage/monitor/orchestrators/k8s-enabling-metrics-endpoint.md - - page: docs-content://deploy-manage/monitor/orchestrators/k8s-securing-metrics-endpoint.md - - page: docs-content://deploy-manage/monitor/orchestrators/k8s-prometheus-requirements.md - - page: docs-content://deploy-manage/monitor/orchestrators/ece-platform-monitoring.md - children: - - page: docs-content://deploy-manage/monitor/orchestrators/ece-monitoring-ece-access.md - - page: docs-content://deploy-manage/monitor/orchestrators/ece-proxy-log-fields.md - - page: docs-content://deploy-manage/monitor/orchestrators/ece-monitoring-ece-set-retention.md - - page: docs-content://deploy-manage/monitor/logging-configuration.md - children: - - page: docs-content://deploy-manage/monitor/logging-configuration/elasticsearch-log4j-configuration-self-managed.md - - page: docs-content://deploy-manage/monitor/logging-configuration/update-elasticsearch-logging-levels.md - - page: docs-content://deploy-manage/monitor/logging-configuration/elasticsearch-deprecation-logs.md - - page: docs-content://deploy-manage/monitor/logging-configuration/slow-logs.md - - page: docs-content://deploy-manage/monitor/logging-configuration/kibana-logging.md - children: - - page: docs-content://deploy-manage/monitor/logging-configuration/kibana-log-levels.md - - page: docs-content://deploy-manage/monitor/logging-configuration/kib-advanced-logging.md - children: - - page: docs-content://deploy-manage/monitor/logging-configuration/kibana-log-settings-examples.md - title: "Examples" - - page: docs-content://deploy-manage/kibana-reporting-configuration.md - title: Configure Kibana reporting - - group: Backup, high availability, and resilience tools - page: docs-content://deploy-manage/tools.md - children: - - page: docs-content://deploy-manage/tools/snapshot-and-restore.md - children: - - page: docs-content://deploy-manage/tools/snapshot-and-restore/manage-snapshot-repositories.md - children: - - page: docs-content://deploy-manage/tools/snapshot-and-restore/self-managed.md - title: "Self-managed" - children: - - page: docs-content://deploy-manage/tools/snapshot-and-restore/azure-repository.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/google-cloud-storage-repository.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/s3-repository.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/shared-file-system-repository.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/read-only-url-repository.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/source-only-repository.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/elastic-cloud-hosted.md - title: "Elastic Cloud Hosted" - children: - - page: docs-content://deploy-manage/tools/snapshot-and-restore/ec-aws-custom-repository.md - title: "AWS S3" - - page: docs-content://deploy-manage/tools/snapshot-and-restore/ec-gcs-snapshotting.md - title: "Google Cloud Storage" - - page: docs-content://deploy-manage/tools/snapshot-and-restore/ec-azure-snapshotting.md - title: "Azure Blob Storage" - - page: docs-content://deploy-manage/tools/snapshot-and-restore/access-isolation-for-found-snapshots-repository.md + - page: docs-content://solutions/observability/apm/apm-server/installation-layout.md + title: Installation layout + - page: docs-content://solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md + title: Secrets keystore + - page: docs-content://solutions/observability/apm/apm-server/command-reference.md + title: Command reference + - page: docs-content://solutions/observability/apm/apm-server/tune-data-ingestion.md + title: Tune data ingestion + - page: docs-content://solutions/observability/apm/apm-server/high-availability.md + title: High Availability + - page: docs-content://solutions/observability/apm/apm-server/systemd.md + title: APM Server and systemd + - group: Monitor + page: docs-content://solutions/observability/apm/apm-server/monitor.md + children: + - page: docs-content://solutions/observability/apm/apm-server/monitor-fleet-managed.md + title: Fleet-managed + - group: APM Server binary + page: docs-content://solutions/observability/apm/apm-server/monitor-binary.md children: - - page: docs-content://deploy-manage/tools/snapshot-and-restore/repository-isolation-on-azure.md - title: "Azure" - - page: docs-content://deploy-manage/tools/snapshot-and-restore/repository-isolation-on-aws-gcp.md - title: "AWS and GCP" - - page: docs-content://deploy-manage/tools/snapshot-and-restore/cloud-enterprise.md - title: "Elastic Cloud Enterprise" + - page: docs-content://solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md + title: Use internal collection + - page: docs-content://solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md + title: "Use Metricbeat collection" + - page: docs-content://solutions/observability/apm/apm-server/use-select-metrics-emitted-directly-to-monitoring-cluster.md + title: Use local collection + - group: APM APIs + page: docs-content://solutions/observability/apm/apis.md + children: + - page: docs-content://solutions/observability/apm/apm-ui-api.md + title: APM UI API + - group: "APM Server API" + page: docs-content://solutions/observability/apm/apm-server/api.md children: - - page: docs-content://deploy-manage/tools/snapshot-and-restore/ece-aws-custom-repository.md - title: "AWS S3" - - page: docs-content://deploy-manage/tools/snapshot-and-restore/google-cloud-storage-gcs-repository.md - title: "Google Cloud Storage" - - page: docs-content://deploy-manage/tools/snapshot-and-restore/azure-storage-repository.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/minio-on-premise-repository.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/cloud-on-k8s.md - title: "Elastic Cloud on Kubernetes" - - page: docs-content://deploy-manage/tools/snapshot-and-restore/create-snapshots.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/restore-snapshot.md - children: - - page: docs-content://deploy-manage/tools/snapshot-and-restore/ece-restore-across-clusters.md - children: - - page: docs-content://deploy-manage/tools/snapshot-and-restore/ece-restore-snapshots-into-new-deployment.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/ece-restore-snapshots-into-existing-deployment.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/ece-restore-snapshots-containing-searchable-snapshots-indices-across-clusters.md - - page: docs-content://deploy-manage/tools/snapshot-and-restore/searchable-snapshots.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication.md - children: - - page: docs-content://deploy-manage/tools/cross-cluster-replication/set-up-cross-cluster-replication.md - title: "Set up cross-cluster replication" - children: - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-getting-started-prerequisites.md - title: "Prerequisites" - - page: docs-content://deploy-manage/tools/cross-cluster-replication/_connect_to_a_remote_cluster.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/_configure_privileges_for_cross_cluster_replication_2.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-getting-started-follower-index.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-getting-started-auto-follow.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/manage-cross-cluster-replication.md - children: - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-inspect-progress.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-pause-replication.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-recreate-follower-index.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-terminate-replication.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/manage-auto-follow-patterns.md - children: - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-create.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-retrieve.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-pause.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-auto-follow-delete.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/upgrading-clusters.md - title: "Upgrading clusters" - children: - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-uni-directional-upgrade.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-bi-directional-upgrade.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/uni-directional-disaster-recovery.md - title: "Uni-directional disaster recovery" - children: - - page: docs-content://deploy-manage/tools/cross-cluster-replication/_prerequisites_14.md - title: "Prerequisites" - - page: docs-content://deploy-manage/tools/cross-cluster-replication/_failover_when_clustera_is_down.md - title: "Failover when clusterA is down" - - page: docs-content://deploy-manage/tools/cross-cluster-replication/_failback_when_clustera_comes_back.md - title: "Failback when clusterA comes back" - - page: docs-content://deploy-manage/tools/cross-cluster-replication/bi-directional-disaster-recovery.md - title: "Bi-directional disaster recovery" - children: - - page: docs-content://deploy-manage/tools/cross-cluster-replication/ccr-tutorial-initial-setup.md - - page: docs-content://deploy-manage/tools/cross-cluster-replication/_failover_when_clustera_is_down_2.md - title: "Failover when clusterA is down" - - page: docs-content://deploy-manage/tools/cross-cluster-replication/_failback_when_clustera_comes_back_2.md - title: "Failback when clusterA comes back" - - page: docs-content://deploy-manage/tools/cross-cluster-replication/_perform_update_or_delete_by_query.md - - group: Autoscaling - page: docs-content://deploy-manage/autoscaling.md - children: - - page: docs-content://deploy-manage/autoscaling/autoscaling-in-ece-and-ech.md - title: "In ECE and ECH" - - page: docs-content://deploy-manage/autoscaling/autoscaling-in-eck.md - title: "In ECK" - - page: docs-content://deploy-manage/autoscaling/autoscaling-deciders.md - - page: docs-content://deploy-manage/autoscaling/trained-model-autoscaling.md - - page: docs-content://deploy-manage/stack-settings.md - title: Stack settings - - page: docs-content://deploy-manage/manage-connectors.md - title: Connectors - - group: Remote clusters - page: docs-content://deploy-manage/remote-clusters.md - children: - - page: docs-content://deploy-manage/remote-clusters/security-models.md - title: "Security models" - - page: docs-content://deploy-manage/remote-clusters/connection-modes.md - title: "Connection modes" - - page: docs-content://deploy-manage/remote-clusters/ec-enable-ccs.md - title: "On Elastic Cloud Hosted" - children: - - page: docs-content://deploy-manage/remote-clusters/ec-remote-cluster-same-ess.md - title: "To the same Elastic Cloud organization" - - page: docs-content://deploy-manage/remote-clusters/ec-remote-cluster-other-ess.md - title: "To a different Elastic Cloud organization" - - page: docs-content://deploy-manage/remote-clusters/ec-remote-cluster-ece.md - title: "To Elastic Cloud Enterprise" - - page: docs-content://deploy-manage/remote-clusters/ec-remote-cluster-self-managed.md - title: "To a self-managed cluster" - - page: docs-content://deploy-manage/remote-clusters/ec-enable-ccs-for-eck.md - title: "To Elastic Cloud on Kubernetes" - - page: docs-content://deploy-manage/remote-clusters/ec-remote-cluster-strong-identity.md - title: "Strong identity verification" - - page: docs-content://deploy-manage/remote-clusters/ec-edit-remove-trusted-environment.md - title: "Manage trusted environments" - - page: docs-content://deploy-manage/remote-clusters/ec-migrate-ccs.md - title: "Migrate from the CCS deployment template" - - page: docs-content://deploy-manage/remote-clusters/ece-enable-ccs.md - title: "On Elastic Cloud Enterprise" - children: - - page: docs-content://deploy-manage/remote-clusters/ece-remote-cluster-same-ece.md - title: "To the same ECE environment" - - page: docs-content://deploy-manage/remote-clusters/ece-remote-cluster-other-ece.md - title: "To a different ECE environment" - - page: docs-content://deploy-manage/remote-clusters/ece-remote-cluster-ece-ess.md - title: "To Elastic Cloud" - - page: docs-content://deploy-manage/remote-clusters/ece-remote-cluster-self-managed.md - title: "To a self-managed cluster" - - page: docs-content://deploy-manage/remote-clusters/ece-enable-ccs-for-eck.md - title: "To Elastic Cloud on Kubernetes" - - page: docs-content://deploy-manage/remote-clusters/ece-edit-remove-trusted-environment.md - title: "Manage trusted environments" - - page: docs-content://deploy-manage/remote-clusters/ece-migrate-ccs.md - title: "Migrate from the CCS deployment template" - - page: docs-content://deploy-manage/remote-clusters/remote-clusters-self-managed.md - title: "On self-managed Elastic Stack" - children: - - page: docs-content://deploy-manage/remote-clusters/remote-clusters-api-key.md - - page: docs-content://deploy-manage/remote-clusters/remote-clusters-cert.md - - page: docs-content://deploy-manage/remote-clusters/self-remote-cluster-eck.md - title: "To Elastic Cloud on Kubernetes" - - page: docs-content://deploy-manage/remote-clusters/remote-clusters-migrate.md - title: "Migrate from certificate to API key authentication" - - page: docs-content://deploy-manage/remote-clusters/eck-remote-clusters-landing.md - title: "On Elastic Cloud on Kubernetes" - children: - - page: docs-content://deploy-manage/remote-clusters/eck-remote-clusters.md - title: "To the same ECK environment" - - page: docs-content://deploy-manage/remote-clusters/eck-remote-clusters-to-other-eck.md - title: "To a different ECK environment" - - page: docs-content://deploy-manage/remote-clusters/eck-remote-clusters-to-external.md - title: "To an external cluster or deployment" - - group: Cross-project search - page: docs-content://deploy-manage/cross-project-search-config.md - children: - - page: docs-content://deploy-manage/cross-project-search-config/cps-config-link-and-manage.md - title: Link and manage projects - - page: docs-content://deploy-manage/cross-project-search-config/cps-config-access-and-scope.md - title: Access and scope - - page: docs-content://deploy-manage/cloud-connect.md - title: Cloud Connect - - label: ─── - - group: Maintenance - page: docs-content://deploy-manage/maintenance.md - children: - - page: docs-content://deploy-manage/maintenance/ece.md - children: - - page: docs-content://deploy-manage/maintenance/ece/deployments-maintenance.md - children: - - page: docs-content://deploy-manage/maintenance/ece/pause-instance.md - - page: docs-content://deploy-manage/maintenance/ece/maintenance-activities.md - children: - - page: docs-content://deploy-manage/maintenance/ece/enable-maintenance-mode.md - - page: docs-content://deploy-manage/maintenance/ece/scale-out-installation.md - - page: docs-content://deploy-manage/maintenance/ece/move-nodes-instances-from-allocators.md - - page: docs-content://deploy-manage/maintenance/ece/perform-ece-hosts-maintenance.md - - page: docs-content://deploy-manage/maintenance/ece/delete-ece-hosts.md - - page: docs-content://deploy-manage/maintenance/start-stop-services.md - children: - - page: docs-content://deploy-manage/maintenance/start-stop-services/start-stop-elasticsearch.md - - page: docs-content://deploy-manage/maintenance/start-stop-services/start-stop-kibana.md - - page: docs-content://deploy-manage/maintenance/start-stop-services/restart-cloud-hosted-deployment.md - - page: docs-content://deploy-manage/maintenance/start-stop-services/restart-an-ece-deployment.md - - page: docs-content://deploy-manage/maintenance/start-stop-services/full-cluster-restart-rolling-restart-procedures.md - - page: docs-content://deploy-manage/maintenance/start-stop-routing-requests.md - - page: docs-content://deploy-manage/maintenance/add-and-remove-elasticsearch-nodes.md - - group: Upgrade - page: docs-content://deploy-manage/upgrade.md - children: - - page: docs-content://deploy-manage/upgrade/plan-upgrade.md - - page: docs-content://deploy-manage/upgrade/prepare-to-upgrade.md - title: "Preparation steps" - children: - - page: docs-content://deploy-manage/upgrade/prepare-to-upgrade/upgrade-assistant.md - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster.md - children: - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/upgrade-717.md - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ech.md - title: "Upgrade on Elastic Cloud Hosted" - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/upgrade-on-ece.md - title: "Upgrade on Elastic Cloud Enterprise" - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/upgrade-on-eck.md - title: "Upgrade on Elastic Cloud on Kubernetes" - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/self-managed.md - title: "Upgrade Elastic on a self-managed cluster" - children: - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/elasticsearch.md - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/upgrade-elasticsearch-docker.md - title: "Upgrade Elasticsearch running on Docker" - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/kibana.md - children: - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/saved-object-migrations.md - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/kibana-roll-back.md - title: "Roll back to a previous version" - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/archived-settings.md - title: "Archived settings" - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/reading-indices-from-older-elasticsearch-versions.md - title: "Reading indices from older versions" - - page: docs-content://deploy-manage/upgrade/deployment-or-cluster/enterprise-search.md - - page: docs-content://deploy-manage/upgrade/ingest-components.md - - page: docs-content://deploy-manage/upgrade/orchestrator.md - title: "Upgrade your ECE or ECK orchestrator" - children: - - page: docs-content://deploy-manage/upgrade/orchestrator/upgrade-cloud-enterprise.md - children: - - page: docs-content://deploy-manage/upgrade/orchestrator/re-running-the-ece-upgrade.md - - page: docs-content://deploy-manage/upgrade/orchestrator/upgrade-cloud-on-k8s.md - - group: Uninstall - page: docs-content://deploy-manage/uninstall.md - children: - - page: docs-content://deploy-manage/uninstall/uninstall-elastic-cloud-enterprise.md - - page: docs-content://deploy-manage/uninstall/uninstall-elastic-cloud-on-kubernetes.md - - page: docs-content://deploy-manage/uninstall/delete-a-cloud-deployment.md - title: "Delete an orchestrated deployment" - - group: Licenses and subscriptions - page: docs-content://deploy-manage/license.md - children: - - page: docs-content://deploy-manage/license/manage-your-license-in-ece.md - title: "Elastic Cloud Enterprise" - - page: docs-content://deploy-manage/license/manage-your-license-in-eck.md - title: "Elastic Cloud on Kubernetes" - - page: docs-content://deploy-manage/license/manage-your-license-in-self-managed-cluster.md - title: "Self-managed cluster" - - group: Manage your Cloud organization - page: docs-content://deploy-manage/cloud-organization.md - children: - - page: docs-content://deploy-manage/cloud-organization/billing.md - children: - - page: docs-content://deploy-manage/cloud-organization/billing/cloud-hosted-deployment-billing-dimensions.md - title: "Hosted billing dimensions" - - page: docs-content://deploy-manage/cloud-organization/billing/serverless-project-billing-dimensions.md - title: "Serverless billing dimensions" - children: - - page: docs-content://deploy-manage/cloud-organization/billing/elasticsearch-billing-dimensions.md - title: "Elasticsearch projects" - - page: docs-content://deploy-manage/cloud-organization/billing/elastic-observability-billing-dimensions.md - title: "Observability projects" - - page: docs-content://deploy-manage/cloud-organization/billing/security-billing-dimensions.md - title: "Security projects" - - page: docs-content://deploy-manage/cloud-organization/billing/billing-models.md - - page: docs-content://deploy-manage/cloud-organization/billing/add-billing-details.md - - page: docs-content://deploy-manage/cloud-organization/billing/view-billing-history.md - - page: docs-content://deploy-manage/cloud-organization/billing/manage-billing-notifications.md - title: "Manage notifications" - - page: docs-content://deploy-manage/cloud-organization/billing/manage-subscription.md - - page: docs-content://deploy-manage/cloud-organization/billing/monitor-analyze-usage.md - - page: docs-content://deploy-manage/cloud-organization/billing/ecu.md - - page: docs-content://deploy-manage/cloud-organization/billing/billing-faq.md - - page: docs-content://deploy-manage/cloud-organization/operational-emails.md - - page: docs-content://deploy-manage/cloud-organization/billing/update-billing-operational-contacts.md - - page: docs-content://deploy-manage/cloud-organization/service-status.md - - page: docs-content://deploy-manage/cloud-organization/tools-and-apis.md - title: "Tools and APIs" - - group: Deployment and administration tools - children: - - toc: ecctl://reference - - page: elasticsearch://reference/elasticsearch/command-line-tools/index.md - title: Command-line tools - - label: The Elasticsearch platform - children: - - label: Ingest and manage data - children: - - group: "Ingest or migrate: bring your data into Elasticsearch" - children: - - page: docs-content://manage-data/ingest.md - title: Choose/Plan your ingest method - - group: Ingest architectures - page: docs-content://manage-data/ingest/ingest-reference-architectures.md + - page: docs-content://solutions/observability/apm/apm-server/information-api.md + title: APM Server information API + - page: docs-content://solutions/observability/apm/elastic-apm-events-intake-api.md + title: Elastic APM events intake API + - page: docs-content://solutions/observability/apm/elastic-apm-agent-configuration-api.md + title: Elastic APM agent configuration API + - page: docs-content://solutions/observability/apm/opentelemetry-intake-api.md + title: OpenTelemetry intake API + - page: docs-content://solutions/observability/apm/jaeger-event-intake.md + title: Jaeger event intake + - page: docs-content://solutions/observability/apm/managed-intake-service-event-api.md + title: Managed intake service event API + - group: Upgrade + page: docs-content://solutions/observability/apm/upgrade.md + children: + - page: docs-content://solutions/observability/apm/apm-agent-compatibility.md + title: APM agent compatibility + - group: "Upgrade to version 9.0 [apm-upgrading-to-9.0]" + page: docs-content://solutions/observability/apm/upgrade-to-version-9.md + children: + - page: docs-content://solutions/observability/apm/upgrade-self-installation-of-apm-server-standalone-to-9.md + title: Self-installation standalone + - page: docs-content://solutions/observability/apm/upgrade-self-installation-of-apm-integration-to-9.md + title: Self-installation APM integration + - page: docs-content://solutions/observability/apm/upgrade-elastic-cloud-apm-server-standalone-to-9.md + title: "Elastic Cloud standalone" + - page: docs-content://solutions/observability/apm/upgrade-elastic-cloud-with-apm-integration-to-9.md + title: "Elastic Cloud APM integration" + - group: Switch to the Elastic APM integration + page: docs-content://solutions/observability/apm/switch-to-elastic-apm-integration.md + children: + - page: docs-content://solutions/observability/apm/switch-self-installation-to-apm-integration.md + title: Switch a self-installation + - page: docs-content://solutions/observability/apm/switch-an-elastic-cloud-cluster-to-apm-integration.md + title: "Switch an Elastic Cloud cluster" + - group: Synthetic monitoring + page: docs-content://solutions/observability/synthetics/index.md + children: + - group: Get started + page: docs-content://solutions/observability/synthetics/get-started.md + children: + - page: docs-content://solutions/observability/synthetics/create-monitors-with-projects.md + title: Use a Synthetics project + - page: docs-content://solutions/observability/synthetics/create-monitors-ui.md + title: Use the Synthetics UI + - group: Scripting browser monitors + page: docs-content://solutions/observability/synthetics/scripting-browser-monitors.md + children: + - page: docs-content://solutions/observability/synthetics/write-synthetic-test.md + title: Write a synthetic test + - page: docs-content://solutions/observability/synthetics/configure-individual-browser-monitors.md + title: Configure individual monitors + - page: docs-content://solutions/observability/synthetics/use-synthetics-recorder.md + title: Use the Synthetics Recorder + - page: docs-content://solutions/observability/synthetics/configure-lightweight-monitors.md + title: Configure lightweight monitors + - page: docs-content://solutions/observability/synthetics/manage-monitors.md + title: Manage monitors + - page: docs-content://solutions/observability/synthetics/work-with-params-secrets.md + title: Work with params and secrets + - page: docs-content://solutions/observability/synthetics/analyze-data.md + title: Analyze monitor data + - page: docs-content://solutions/observability/synthetics/monitor-resources-on-private-networks.md + title: Monitor resources on private networks + - page: docs-content://solutions/observability/synthetics/cli.md + title: Use the CLI + - page: docs-content://solutions/observability/synthetics/configure-projects.md + title: Configure a Synthetics project + - page: docs-content://solutions/observability/synthetics/mfa-for-browser-monitors.md + title: Multi-factor Authentication + - page: docs-content://solutions/observability/synthetics/configure-settings.md + title: Configure Synthetics settings + - group: Grant users access to secured resources + page: docs-content://solutions/observability/synthetics/grant-access-to-secured-resources.md + children: + - page: docs-content://solutions/observability/synthetics/setup-role.md + title: Setup role + - page: docs-content://solutions/observability/synthetics/writer-role.md + title: Writer role + - page: docs-content://solutions/observability/synthetics/reader-role.md + title: Reader role + - page: docs-content://solutions/observability/synthetics/manage-data-retention.md + title: Manage data retention + - page: docs-content://solutions/observability/synthetics/network-security.md + title: Use Synthetics with network security + - page: docs-content://solutions/observability/synthetics/migrate-from-elastic-synthetics-integration.md + title: Migrate from the Elastic Synthetics integration + - page: docs-content://solutions/observability/synthetics/scale-architect-synthetics-deployment.md + title: Scale and architect a deployment + - page: docs-content://solutions/observability/synthetics/support-matrix.md + title: Synthetics support matrix + - page: docs-content://solutions/observability/synthetics/encryption-security.md + title: Synthetics Encryption and Security + - group: Real user monitoring + page: docs-content://solutions/observability/applications/user-experience.md + children: + - page: docs-content://solutions/observability/applications/otel-rum.md + title: OpenTelemetry for Real User Monitoring (RUM) + - page: docs-content://solutions/observability/applications/llm-observability.md + title: LLM and agentic AI observability + - group: Uptime monitoring (deprecated) + page: docs-content://solutions/observability/uptime/index.md + children: + - page: docs-content://solutions/observability/uptime/get-started.md + title: Get started + - group: Analyze + page: docs-content://solutions/observability/uptime/analyze.md + children: + - page: docs-content://solutions/observability/uptime/view-monitor-status.md + title: View monitor status + - page: docs-content://solutions/observability/uptime/analyze-monitors.md + title: Analyze monitors + - page: docs-content://solutions/observability/uptime/inspect-duration-anomalies.md + title: Inspect uptime duration anomalies + - page: docs-content://solutions/observability/uptime/configure-settings.md + title: Configure settings + - page: docs-content://solutions/observability/otlp-visualize.md + title: Visualize OpenTelemetry data + - page: docs-content://solutions/observability/cicd.md + title: CI/CD + - group: Cloud + page: docs-content://solutions/observability/cloud.md children: - - group: Agent to Elasticsearch - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-to-es.md - children: - - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-installed.md - title: Elastic Agent (installed) - - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-apis.md - title: Elastic Agent via APIs - - group: Agent with Logstash - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-ls.md - children: - - page: docs-content://manage-data/ingest/ingest-reference-architectures/ls-enrich.md - title: Logstash for enrichment - - page: docs-content://manage-data/ingest/ingest-reference-architectures/lspq.md - title: Logstash persistent queue - - page: docs-content://manage-data/ingest/ingest-reference-architectures/ls-networkbridge.md - title: Logstash as a network bridge - - page: docs-content://manage-data/ingest/ingest-reference-architectures/ls-multi.md - title: Logstash for multiple destinations - - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-proxy.md - title: Agent through a proxy - - group: Agent with Kafka - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-kafka-es.md - children: - - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-kafka-ls.md - title: Agent to Kafka via Logstash - - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-kafka-essink.md - title: Agent to Kafka with Elasticsearch sink - - page: docs-content://manage-data/ingest/ingest-reference-architectures/ls-for-input.md - title: Logstash as input - - group: Air-gapped environments - page: docs-content://manage-data/ingest/ingest-reference-architectures/airgapped-env.md - children: - - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-es-airgapped.md - title: Agent to Elasticsearch (air-gapped) - - page: docs-content://manage-data/ingest/ingest-reference-architectures/agent-ls-airgapped.md - title: Agent with Logstash (air-gapped) - - group: Ingest by solution - page: docs-content://manage-data/ingest/ingesting-data-for-elastic-solutions.md + - group: AWS + page: docs-content://solutions/observability/cloud/amazon-web-services-aws-monitoring.md + children: + - page: docs-content://solutions/observability/cloud/ingestion-options.md + title: Ingestion options + - group: "Monitor AWS with Elastic Agent" + page: docs-content://solutions/observability/cloud/monitor-amazon-web-services-aws-with-elastic-agent.md + children: + - page: docs-content://solutions/observability/cloud/monitor-amazon-cloud-compute-ec2.md + title: EC2 + - page: docs-content://solutions/observability/cloud/monitor-amazon-kinesis-data-streams.md + title: Kinesis data streams + - page: docs-content://solutions/observability/cloud/monitor-amazon-simple-storage-service-s3.md + title: S3 + - page: docs-content://solutions/observability/cloud/monitor-amazon-simple-queue-service-sqs.md + title: SQS + - page: docs-content://solutions/observability/cloud/monitor-amazon-web-services-aws-with-beats.md + title: "Monitor AWS with Beats" + - group: "Monitor AWS with Amazon Data Firehose" + page: docs-content://solutions/observability/cloud/monitor-amazon-web-services-aws-with-amazon-data-firehose.md + children: + - page: docs-content://solutions/observability/cloud/monitor-virtual-private-cloud-vpc-flow-logs.md + title: VPC Flow Logs + - page: docs-content://solutions/observability/cloud/monitor-cloudtrail-logs.md + title: CloudTrail logs + - page: docs-content://solutions/observability/cloud/monitor-aws-network-firewall-logs.md + title: Network Firewall logs + - page: docs-content://solutions/observability/cloud/monitor-web-application-firewall-waf-logs.md + title: WAF logs + - page: docs-content://solutions/observability/cloud/monitor-cloudwatch-logs.md + title: CloudWatch logs + - page: docs-content://solutions/observability/cloud/monitor-amazon-web-services-aws-with-elastic-serverless-forwarder.md + title: "Monitor AWS with Elastic Serverless Forwarder" + - group: Azure + page: docs-content://solutions/observability/cloud/azure-monitoring.md + children: + - page: docs-content://solutions/observability/cloud/monitor-microsoft-azure-with-elastic-agent.md + title: Monitor Microsoft Azure with Elastic Agent + - page: docs-content://solutions/observability/cloud/monitor-microsoft-azure-with-beats.md + title: Monitor Microsoft Azure with Beats + - page: docs-content://solutions/observability/cloud/multi-tenant-data-ingestion-with-beats.md + title: Ingest multi-tenant Azure Event Hub logs with Filebeat + - page: docs-content://solutions/observability/cloud/monitor-microsoft-azure-with-azure-native-isv-service.md + title: Monitor Microsoft Azure with the Azure Native ISV Service + - page: docs-content://solutions/observability/cloud/monitor-microsoft-azure-openai.md + title: Monitor Microsoft Azure OpenAI + - group: GCP + page: docs-content://solutions/observability/cloud/monitor-google-cloud-platform-gcp.md + children: + - page: docs-content://solutions/observability/cloud/gcp-dataflow-templates.md + title: GCP Dataflow templates + - group: Infrastructure and hosts + page: docs-content://solutions/observability/infra-and-hosts.md children: - - page: docs-content://solutions/search/ingest-for-search.md - title: Ingesting data for search use cases - - title: Ingesting data for observability - - page: docs-content://solutions/security/get-started/ingest-data-to-elastic-security.md - title: Ingesting data for security (Move from Solutions) - - page: docs-content://manage-data/ingest/ingesting-timeseries-data.md - title: Ingesting time series data - - group: Ingest logs + - group: Analyze infrastructure and host metrics + page: docs-content://solutions/observability/infra-and-hosts/analyze-infrastructure-host-metrics.md + children: + - page: docs-content://solutions/observability/infra-and-hosts/get-started-with-system-metrics.md + title: Get started with system metrics + - page: docs-content://solutions/observability/infra-and-hosts/view-infrastructure-metrics-by-resource-type.md + title: View infrastructure metrics by resource type + - page: docs-content://solutions/observability/infra-and-hosts/discover-metrics.md + title: Explore metrics data with Discover in Kibana + - page: docs-content://solutions/observability/infra-and-hosts/explore-infrastructure-metrics-over-time.md + title: Explore infrastructure metrics over time + - page: docs-content://solutions/observability/infra-and-hosts/analyze-compare-hosts.md + title: Analyze and compare hosts + - page: docs-content://solutions/observability/infra-and-hosts/detect-metric-anomalies.md + title: Detect metric anomalies + - page: docs-content://solutions/observability/infra-and-hosts/configure-settings.md + title: Configure settings + - group: Universal Profiling + page: docs-content://solutions/observability/infra-and-hosts/universal-profiling.md + children: + - page: docs-content://solutions/observability/infra-and-hosts/get-started-with-universal-profiling.md + title: Get started + - group: Manage data storage + page: docs-content://solutions/observability/infra-and-hosts/manage-data-storage.md + children: + - page: docs-content://solutions/observability/infra-and-hosts/universal-profiling-index-life-cycle-management.md + title: Index lifecycle management + - page: docs-content://solutions/observability/infra-and-hosts/configure-probabilistic-profiling.md + title: Configure probabilistic profiling + - group: Advanced configuration + page: docs-content://solutions/observability/infra-and-hosts/advanced-configuration.md + children: + - page: docs-content://solutions/observability/infra-and-hosts/tag-data-for-querying.md + title: Tag data for querying + - page: docs-content://solutions/observability/infra-and-hosts/add-symbols-for-native-frames.md + title: Add symbols for native frames + - page: docs-content://solutions/observability/infra-and-hosts/use-proxy-with-universal-profiling-agent.md + title: Use a proxy + - page: docs-content://solutions/observability/infra-and-hosts/override-kernel-version-check.md + title: Override kernel version check + - page: docs-content://solutions/observability/infra-and-hosts/environment-variables-to-configure-universal-profiling-agent.md + title: Environment variables to configure the Universal Profiling Agent + - page: docs-content://solutions/observability/infra-and-hosts/configuration-file-of-universal-profiling-agent.md + title: Configuration file of the Universal Profiling Agent + - page: docs-content://solutions/observability/infra-and-hosts/upgrade-universal-profiling.md + title: Upgrade + - page: docs-content://solutions/observability/infra-and-hosts/run-universal-profiling-on-self-hosted-elastic-stack.md + title: Self-hosted infrastructure + - group: Install the backend + page: docs-content://solutions/observability/infra-and-hosts/install-backend.md + children: + - page: docs-content://solutions/observability/infra-and-hosts/step-1-update-stack.md + title: "Step 1: Update the stack" + - page: docs-content://solutions/observability/infra-and-hosts/step-2-enable-universal-profiling-in-kibana.md + title: "Step 2: Enable Universal Profiling in Kibana" + - page: docs-content://solutions/observability/infra-and-hosts/step-3-set-up-universal-profiling-in-kibana.md + title: "Step 3: Set up Universal Profiling in Kibana" + - page: docs-content://solutions/observability/infra-and-hosts/step-4-run-backend-applications.md + title: "Step 4: Run the backend applications" + - page: docs-content://solutions/observability/infra-and-hosts/step-5-next-steps.md + title: "Step 5: Next steps" + - page: docs-content://solutions/observability/infra-and-hosts/operate-universal-profiling-backend.md + title: Operate the backend + - page: docs-content://solutions/observability/infra-and-hosts/tutorial-observe-kubernetes-deployments.md + title: "Tutorial: Observe your Kubernetes deployments" + - group: "Tutorial: Observe your nginx instances" + page: docs-content://solutions/observability/infra-and-hosts/tutorial-observe-nginx-instances.md + children: + - page: docs-content://solutions/observability/infra-and-hosts/understanding-no-results-found-message.md + title: Understanding "no results found" message + - page: docs-content://solutions/observability/infra-and-hosts/collect-nginx-data-otel-integration-fleet-managed.md + title: Collect NGINX data with OpenTelemetry integrations (Fleet-managed) + - page: docs-content://solutions/observability/infra-and-hosts/collect-nginx-data-otel-integration-standalone.md + title: Collect NGINX data with OpenTelemetry integrations (standalone) + - group: Logs page: docs-content://solutions/observability/logs.md children: - page: docs-content://solutions/observability/logs/get-started-with-system-logs.md title: Get started with system logs - page: docs-content://solutions/observability/logs/stream-any-log-file.md - title: Stream any log file + title: Send any log file using Elastic Agent - page: docs-content://solutions/observability/logs/stream-any-log-file-using-edot-collector.md - title: Stream any log file using EDOT Collector - - group: Stream application logs + title: Send any log file using OTel Collector + - group: Send application log data page: docs-content://solutions/observability/logs/stream-application-logs.md children: - page: docs-content://solutions/observability/logs/plaintext-application-logs.md @@ -1515,2372 +3639,655 @@ nav: - page: docs-content://solutions/observability/logs/apm-agent-log-sending.md title: APM agent log sending - page: docs-content://solutions/observability/logs/parse-route-logs.md - title: Parse and route logs + title: Parse and route logs using ingest pipelines - page: docs-content://solutions/observability/logs/filter-aggregate-logs.md title: Filter and aggregate logs - group: Explore logs page: docs-content://solutions/observability/logs/explore-logs.md children: - page: docs-content://solutions/observability/logs/discover-logs.md - title: Discover logs + title: Explore logs in Discover - page: docs-content://solutions/observability/logs/categorize-log-entries.md title: Categorize log entries - page: docs-content://solutions/observability/logs/inspect-log-anomalies.md title: Inspect log anomalies - page: docs-content://solutions/observability/logs/run-pattern-analysis-on-log-data.md - title: Run pattern analysis on log data + title: Run a pattern analysis on log data - page: docs-content://solutions/observability/logs/log-data-sources.md - title: Log data sources + title: Configure log data sources - page: docs-content://solutions/observability/logs/logs-data-retention.md - title: Logs data retention + title: Configure log data retention - page: docs-content://solutions/observability/logs/add-service-name-to-logs.md - title: Add service name to logs + title: Add a service name to logs - group: Logs index template reference page: docs-content://solutions/observability/logs/logs-index-template-reference.md children: - page: docs-content://solutions/observability/logs/logs-index-template-defaults.md - title: Logs index template defaults - - group: Ingest data with agentless integrations - page: docs-content://manage-data/ingest/agentless/agentless-integrations.md - children: - - page: docs-content://manage-data/ingest/agentless/cloud-connector-deployment.md - title: Cloud connector deployment - - page: docs-content://manage-data/ingest/agentless/agentless-integrations-faq.md - title: Agentless integrations FAQ - - page: integration-docs://reference/agentless_integrations.md - title: Agentless integrations reference - - group: Ingest data from applications - page: docs-content://manage-data/ingest/ingesting-data-from-applications.md - children: - - toc: docs-content://reference/apm-agents - - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-data-with-nodejs-on-elasticsearch-service.md - title: Ingest data with Node.js - - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-data-with-python-on-elasticsearch-service.md - title: Ingest data with Python - - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-data-from-beats-to-elasticsearch-service-with-logstash-as-proxy.md - title: Ingest data from Beats with Logstash as a proxy - - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-data-from-relational-database-into-elasticsearch-service.md - title: Ingest data from a relational database - - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-logs-from-python-application-using-filebeat.md - title: Ingest logs from a Python application using Filebeat - - page: docs-content://manage-data/ingest/ingesting-data-from-applications/ingest-logs-from-nodejs-web-application-using-filebeat.md - title: Ingest logs from a Node.js web application using Filebeat - - title: Ingest data using the API - - page: docs-content://manage-data/ingest/tools.md - title: Ingest tools overview - - page: docs-content://manage-data/ingest/upload-data-files.md - title: Upload data files - - page: docs-content://manage-data/ingest/sample-data.md - title: Sample data - - group: Migrating your Elasticsearch data - page: docs-content://manage-data/migrate.md - children: - - page: docs-content://manage-data/migrate/migrate-from-a-self-managed-cluster-with-a-self-signed-certificate-using-remote-reindex.md - title: Reindex using a private CA - - page: docs-content://manage-data/migrate/migrate-with-logstash.md - title: Migrate Elastic Cloud Hosted data to Serverless with Logstash - - page: docs-content://manage-data/migrate/migrate-data-between-elasticsearch-clusters-with-minimal-downtime.md - title: Minimal-downtime migration using snapshots - - page: docs-content://manage-data/migrate/migrate-internal-indices.md - title: Migrate system indices - - group: Ingest tools - page: docs-content://reference/ingestion-tools/index.md - children: - - toc: opentelemetry://reference - - toc: docs-content://reference/fleet - - toc: integration-docs://reference - - toc: elasticsearch://reference/search-connectors - - toc: logstash://reference - - toc: docs-content://reference/apm - - toc: beats://reference - - group: Other ingest tools - children: - - toc: elasticsearch-hadoop://reference - - toc: elastic-serverless-forwarder://reference - - group: Data storage and lifecycle - children: - - group: The Elasticsearch data store - page: docs-content://manage-data/data-store.md - children: - - group: Index basics - page: docs-content://manage-data/data-store/index-basics.md - children: - - page: elasticsearch://reference/elasticsearch/index-settings/index.md - title: Index settings reference - - page: elasticsearch://reference/elasticsearch/index-lifecycle-actions/index.md - title: Index lifecycle management actions - - page: docs-content://manage-data/data-store/near-real-time-search.md - title: Near real-time search - - group: Data streams - page: docs-content://manage-data/data-store/data-streams.md - children: - - page: docs-content://manage-data/data-store/data-streams/set-up-data-stream.md - title: Set up a data stream - - page: docs-content://manage-data/data-store/data-streams/use-data-stream.md - title: Use a data stream - - page: docs-content://manage-data/data-store/data-streams/modify-data-stream.md - title: Modify a data stream - - page: docs-content://manage-data/data-store/data-streams/manage-data-stream.md - title: Manage a data stream - - group: Time series data stream (TSDS) - page: docs-content://manage-data/data-store/data-streams/time-series-data-stream-tsds.md - children: - - page: docs-content://manage-data/data-store/data-streams/quickstart-tsds.md - title: Quickstart - - page: docs-content://manage-data/data-store/data-streams/set-up-tsds.md - title: Set up TSDS - - group: Downsampling - page: docs-content://manage-data/data-store/data-streams/downsampling-time-series-data-stream.md - children: - - page: docs-content://manage-data/data-store/data-streams/downsampling-concepts.md - title: Downsampling concepts - - page: docs-content://manage-data/data-store/data-streams/run-downsampling.md - title: Run downsampling - - page: docs-content://manage-data/data-store/data-streams/query-downsampled-data.md - title: Query downsampled data - - group: Advanced topics - page: docs-content://manage-data/data-store/data-streams/advanced-topics-tsds.md - children: - - page: docs-content://manage-data/data-store/data-streams/time-bound-tsds.md - title: Time-bound TSDS - - page: docs-content://manage-data/data-store/data-streams/reindex-tsds.md - title: Reindex TSDS - - page: docs-content://manage-data/data-store/data-streams/tsds-ingest-otlp.md - title: TSDS ingest OTLP - - group: Logs data stream - page: docs-content://manage-data/data-store/data-streams/logs-data-stream.md - children: - - page: docs-content://manage-data/data-store/data-streams/logs-data-stream-configure.md - title: Configure - - page: docs-content://manage-data/data-store/data-streams/logs-data-stream-integrations.md - title: Integrations - - group: Failure store - page: docs-content://manage-data/data-store/data-streams/failure-store.md - children: - - page: docs-content://manage-data/data-store/data-streams/failure-store-recipes.md - title: Recipes - - group: Mapping - page: docs-content://manage-data/data-store/mapping.md - children: - - page: elasticsearch://reference/elasticsearch/mapping-reference/index.md - title: Mapping reference - - group: Dynamic mapping - page: docs-content://manage-data/data-store/mapping/dynamic-mapping.md - children: - - page: docs-content://manage-data/data-store/mapping/dynamic-field-mapping.md - title: Dynamic field mapping - - page: docs-content://manage-data/data-store/mapping/dynamic-templates.md - title: Dynamic templates - - page: docs-content://manage-data/data-store/mapping/explicit-mapping.md - title: Explicit mapping - - group: Runtime fields - page: docs-content://manage-data/data-store/mapping/runtime-fields.md - children: - - page: docs-content://manage-data/data-store/mapping/map-runtime-field.md - title: Map a runtime field - - page: docs-content://manage-data/data-store/mapping/define-runtime-fields-in-search-request.md - title: Define in search request - - page: docs-content://manage-data/data-store/mapping/override-field-values-at-query-time.md - title: Override values at query time - - page: docs-content://manage-data/data-store/mapping/retrieve-runtime-field.md - title: Retrieve a runtime field - - page: docs-content://manage-data/data-store/mapping/index-runtime-field.md - title: Index a runtime field - - page: docs-content://manage-data/data-store/mapping/explore-data-with-runtime-fields.md - title: Explore data with runtime fields - - page: docs-content://manage-data/data-store/mapping/removal-of-mapping-types.md - title: Removal of mapping types - - page: docs-content://manage-data/data-store/mapping/update-mappings-examples.md - title: Update mappings examples - - group: Text analysis - page: docs-content://manage-data/data-store/text-analysis.md - children: - - page: elasticsearch://reference/text-analysis/index.md - title: Text analysis components - - group: Concepts - page: docs-content://manage-data/data-store/text-analysis/concepts.md - children: - - page: docs-content://manage-data/data-store/text-analysis/anatomy-of-an-analyzer.md - title: Anatomy of an analyzer - - page: docs-content://manage-data/data-store/text-analysis/index-search-analysis.md - title: Index and search analysis - - page: docs-content://manage-data/data-store/text-analysis/stemming.md - title: Stemming - - page: docs-content://manage-data/data-store/text-analysis/token-graphs.md - title: Token graphs - - group: Configure text analysis - page: docs-content://manage-data/data-store/text-analysis/configure-text-analysis.md - children: - - page: docs-content://manage-data/data-store/text-analysis/test-an-analyzer.md - title: Test an analyzer - - page: docs-content://manage-data/data-store/text-analysis/configuring-built-in-analyzers.md - title: Configuring built-in analyzers - - page: docs-content://manage-data/data-store/text-analysis/create-custom-analyzer.md - title: Create custom analyzer - - page: docs-content://manage-data/data-store/text-analysis/specify-an-analyzer.md - title: Specify an analyzer - - group: Templates - page: docs-content://manage-data/data-store/templates.md - children: - - page: docs-content://manage-data/data-store/templates/simulate-multi-component-templates.md - title: Simulate multi-component templates - - page: docs-content://manage-data/data-store/templates/ignore-missing-component-templates.md - title: Ignore missing component templates - - page: docs-content://manage-data/data-store/aliases.md - title: Aliases - - group: Perform index operations - page: docs-content://manage-data/data-store/perform-index-operations.md - children: - - page: docs-content://manage-data/data-store/index-operations-reference.md - title: Index operations reference - - page: docs-content://manage-data/data-store/manage-data-from-the-command-line.md - title: Manage data from the command line - - group: Data lifecycle - page: docs-content://manage-data/lifecycle.md - children: - - page: docs-content://manage-data/lifecycle/data-tiers.md - title: "Data tiers: hot warm cold frozen" - - group: Index lifecycle management (ILM) - page: docs-content://manage-data/lifecycle/index-lifecycle-management.md - children: - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/index-lifecycle.md - title: Index lifecycle - - group: Rollover - page: docs-content://manage-data/lifecycle/index-lifecycle-management/rollover.md - children: - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/skip-rollover.md - title: Skip rollover - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/configure-lifecycle-policy.md - title: Configure lifecycle policy - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/policy-apply.md - title: Apply policy - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/policy-view-status.md - title: View policy status - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/manage-lifecycle-integrations-data.md - title: Manage integrations data - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/policy-updates.md - title: Policy updates - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/start-stop-index-lifecycle-management.md - title: Start and stop ILM - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/restore-managed-data-stream-index.md - title: Restore managed index - - group: ILM tutorials - page: docs-content://manage-data/lifecycle/index-lifecycle-management/ilm-tutorials.md - children: - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/tutorial-time-series-with-data-streams.md - title: Time series with data streams - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/tutorial-time-series-without-data-streams.md - title: Time series without data streams - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/tutorial-general-content-with-data-streams.md - title: General content with data streams - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/tutorial-customize-built-in-policies.md - title: Customize built-in policies - - group: Migrate ILM - page: docs-content://manage-data/lifecycle/index-lifecycle-management/migrate-ilm.md - children: - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/migrate-index-management.md - title: Migrate index management - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/manage-existing-indices.md - title: Manage existing indices - - page: docs-content://manage-data/lifecycle/index-lifecycle-management/migrate-index-allocation-filters-to-node-roles.md - title: Migrate allocation filters to node roles - - group: Data stream lifecycle - page: docs-content://manage-data/lifecycle/data-stream.md - children: - - page: docs-content://manage-data/lifecycle/data-stream/tutorial-create-data-stream-with-lifecycle.md - title: "Tutorial: Create with lifecycle" - - page: docs-content://manage-data/lifecycle/data-stream/tutorial-update-existing-data-stream.md - title: "Tutorial: Update existing" - - page: docs-content://manage-data/lifecycle/data-stream/tutorial-data-stream-retention.md - title: "Tutorial: Retention" - - page: docs-content://manage-data/lifecycle/data-stream/tutorial-migrate-ilm-managed-data-stream-to-data-stream-lifecycle.md - title: "Tutorial: Migrate from ILM" - - page: docs-content://manage-data/lifecycle/curator.md - title: Elasticsearch Curator - - group: Rollup - page: docs-content://manage-data/lifecycle/rollup.md - children: - - page: docs-content://manage-data/lifecycle/rollup/getting-started-api.md - title: Getting started (API) - - page: docs-content://manage-data/lifecycle/rollup/getting-started-kibana.md - title: Getting started (Kibana) - - page: docs-content://manage-data/lifecycle/rollup/understanding-groups.md - title: Understanding groups - - page: docs-content://manage-data/lifecycle/rollup/rollup-aggregation-limitations.md - title: Aggregation limitations - - page: docs-content://manage-data/lifecycle/rollup/rollup-search-limitations.md - title: Search limitations - - page: docs-content://manage-data/lifecycle/rollup/migrating-from-rollup-to-downsampling.md - title: Migrating to downsampling - - page: docs-content://manage-data/use-case-use-elasticsearch-to-manage-time-series-data.md - title: "Use case: time series data management" - - group: Transform and enrich data - page: docs-content://manage-data/ingest/transform-enrich.md - children: - - group: Data pipelines + title: Default `logs` index template + - page: docs-content://solutions/observability/streams/streams.md + title: Streams + - page: docs-content://solutions/observability/streams/management/retention.md + title: Manage data retention + - group: Process documents + page: docs-content://solutions/observability/streams/management/extract.md children: - - page: opentelemetry://reference/motlp/index.md - title: Managed pipelines (mOTLP) - - group: Elasticsearch ingest pipelines - page: docs-content://manage-data/ingest/transform-enrich/ingest-pipelines.md - children: - - page: docs-content://manage-data/ingest/transform-enrich/example-parse-logs.md - title: "Example: Parse logs" - - page: docs-content://manage-data/ingest/transform-enrich/readable-maintainable-ingest-pipelines.md - title: Readable maintainable pipelines - - page: docs-content://manage-data/ingest/transform-enrich/error-handling.md - title: Error handling - - page: docs-content://manage-data/ingest/transform-enrich/logstash-pipelines.md - title: Logstash pipelines - - group: Data enrichment - page: docs-content://manage-data/ingest/transform-enrich/data-enrichment.md - children: - - page: docs-content://manage-data/ingest/transform-enrich/set-up-an-enrich-processor.md - title: Set up an enrich processor - - page: docs-content://manage-data/ingest/transform-enrich/example-enrich-data-based-on-geolocation.md - title: "Example: Enrich by geolocation" - - page: docs-content://manage-data/ingest/transform-enrich/example-enrich-data-based-on-exact-values.md - title: "Example: Enrich by exact values" - - page: docs-content://manage-data/ingest/transform-enrich/example-enrich-data-by-matching-value-to-range.md - title: "Example: Enrich by matching value to range" - - page: docs-content://manage-data/ingest/transform-enrich/index-mapping-text-analysis.md - title: Index mapping and text analysis - - page: docs-content://manage-data/ingest/transform-enrich/ingest-lag.md - title: Calculate ingest lag metadata - - label: Search, visualize and analyze - children: - - group: Search and query - children: - - group: Get started with search - children: - - title: APIs and tools for search - - group: Search strategies - children: - - title: Full-text search - - title: AI-powered search - - title: Hybrid search - - title: Ranking and reranking - - group: Build search queries with APIs and query languages and search templates - children: - - title: ES|QL - - title: Query DSL - - title: "..." - - group: Cross-project search - children: - - title: Link projects for cross-project search - - title: Using project routing to limit search scope - - title: How search works in CPS - - title: Using tags to control search - - title: Cross-cluster search - - title: Add search to your site or app - - group: Querying and filtering in Kibana - children: - - title: Filtering in Kibana - - title: Query languages - - title: Query tools - - group: Explore and visualize - page: docs-content://explore-analyze/explore-and-visualize.md - children: - - page: docs-content://explore-analyze/kibana-data-exploration-learning-tutorial.md - title: Learn data exploration and visualization - - group: Discover - page: docs-content://explore-analyze/discover.md - children: - - page: docs-content://explore-analyze/discover/discover-get-started.md - title: Explore fields and data with Discover - - page: docs-content://explore-analyze/discover/document-explorer.md - title: Customize the Discover view - - page: docs-content://explore-analyze/discover/discover-search-for-relevance.md - title: Search for relevance - - page: docs-content://explore-analyze/discover/save-open-search.md - title: Save a search for reuse - - page: docs-content://explore-analyze/discover/show-field-statistics.md - title: View field statistics - - page: docs-content://explore-analyze/discover/run-pattern-analysis-discover.md - title: Run a pattern analysis on your log data - - page: docs-content://explore-analyze/discover/background-search.md - title: Run queries in the background - - page: docs-content://explore-analyze/discover/try-esql.md - title: "Using ES|QL" - - group: Dashboards - page: docs-content://explore-analyze/dashboards.md - children: - - page: docs-content://explore-analyze/dashboards/using.md - title: Exploring dashboards - - group: Building dashboards - page: docs-content://explore-analyze/dashboards/building.md - children: - - page: docs-content://explore-analyze/dashboards/create-dashboard.md - title: Create a dashboard - - page: docs-content://explore-analyze/dashboards/open-dashboard.md - title: Edit a dashboard - - page: docs-content://explore-analyze/dashboards/add-controls.md - title: Add filter controls - - page: docs-content://explore-analyze/dashboards/drilldowns.md - title: Add drilldowns - - page: docs-content://explore-analyze/dashboards/arrange-panels.md - title: Organize dashboard panels - - page: docs-content://explore-analyze/dashboards/duplicate-dashboards.md - title: Duplicate a dashboard - - page: docs-content://explore-analyze/dashboards/import-dashboards.md - title: Import a dashboard - - page: docs-content://explore-analyze/dashboards/managing.md - title: Managing dashboards - - page: docs-content://explore-analyze/dashboards/sharing.md - title: Sharing dashboards - - group: Tutorials - page: docs-content://explore-analyze/dashboards/tutorials.md - children: - - page: docs-content://explore-analyze/dashboards/create-dashboard-of-panels-with-web-server-data.md - title: Create a simple dashboard to monitor website logs - - page: docs-content://explore-analyze/dashboards/create-dashboard-of-panels-with-ecommerce-data.md - title: Create a dashboard with time series charts - - group: Panels and visualizations - page: docs-content://explore-analyze/visualize.md - children: - - page: docs-content://explore-analyze/visualize/visualize-library.md - title: Visualize Library - - page: docs-content://explore-analyze/visualize/manage-panels.md - title: Manage panels - - group: Lens - page: docs-content://explore-analyze/visualize/lens.md - children: - - page: docs-content://explore-analyze/visualize/charts/area-charts.md - title: Area charts - - page: docs-content://explore-analyze/visualize/charts/bar-charts.md - title: Bar charts - - page: docs-content://explore-analyze/visualize/charts/heat-map-charts.md - title: Heat map charts - - page: docs-content://explore-analyze/visualize/charts/gauge-charts.md - title: Gauge charts - - page: docs-content://explore-analyze/visualize/charts/line-charts.md - title: Line charts - - page: docs-content://explore-analyze/visualize/charts/metric-charts.md - title: Metric charts - - page: docs-content://explore-analyze/visualize/charts/mosaic-charts.md - title: Mosaic charts - - page: docs-content://explore-analyze/visualize/charts/pie-charts.md - title: Pie charts - - page: docs-content://explore-analyze/visualize/charts/region-map-charts.md - title: Region map charts - - page: docs-content://explore-analyze/visualize/charts/tables.md - title: Tables - - page: docs-content://explore-analyze/visualize/charts/waffle-charts.md - title: Waffle charts - - page: docs-content://explore-analyze/visualize/charts/tag-cloud-charts.md - title: Tag cloud charts - - page: docs-content://explore-analyze/visualize/charts/treemap-charts.md - title: Treemap charts - - page: docs-content://explore-analyze/visualize/esorql.md - title: "ES|QL" - - page: docs-content://explore-analyze/visualize/custom-visualizations-with-vega.md - title: Custom visualizations with Vega - - page: docs-content://explore-analyze/visualize/text-panels.md - title: Text panels - - page: docs-content://explore-analyze/visualize/image-panels.md - title: Image panels - - page: docs-content://explore-analyze/visualize/link-panels.md - title: Link panels - - page: docs-content://explore-analyze/visualize/alert-panels.md - title: Alert panels - - group: Canvas - page: docs-content://explore-analyze/visualize/canvas.md - children: - - page: docs-content://explore-analyze/visualize/canvas/edit-workpads.md - title: Edit workpads - - page: docs-content://explore-analyze/visualize/canvas/canvas-present-workpad.md - title: Present your workpad - - page: docs-content://explore-analyze/visualize/canvas/canvas-tutorial.md - title: "Tutorial: Create a workpad for monitoring sales" - - group: Canvas function reference - page: docs-content://explore-analyze/visualize/canvas/canvas-function-reference.md - children: - - page: docs-content://explore-analyze/visualize/canvas/canvas-tinymath-functions.md - title: TinyMath functions - - group: Maps - page: docs-content://explore-analyze/visualize/maps.md - children: - - page: docs-content://explore-analyze/visualize/maps/maps-getting-started.md - title: Build a map to compare metrics by country or region - - page: docs-content://explore-analyze/visualize/maps/asset-tracking-tutorial.md - title: Track, visualize, and alert on assets in real time - - page: docs-content://explore-analyze/visualize/maps/reverse-geocoding-tutorial.md - title: Map custom regions with reverse geocoding - - page: docs-content://explore-analyze/visualize/maps/heatmap-layer.md - title: Heat map layer - - page: docs-content://explore-analyze/visualize/maps/tile-layer.md - title: Tile layer - - group: Vector layer - page: docs-content://explore-analyze/visualize/maps/vector-layer.md - children: - - page: docs-content://explore-analyze/visualize/maps/vector-style.md - title: Vector styling - - page: docs-content://explore-analyze/visualize/maps/maps-vector-style-properties.md - title: Vector style properties - - page: docs-content://explore-analyze/visualize/maps/vector-tooltip.md - title: Vector tooltips - - group: Map aggregations - page: docs-content://explore-analyze/visualize/maps/maps-aggregations.md - children: - - page: docs-content://explore-analyze/visualize/maps/maps-grid-aggregation.md - title: Clusters - - page: docs-content://explore-analyze/visualize/maps/maps-top-hits-aggregation.md - title: Display the most relevant documents per entity - - page: docs-content://explore-analyze/visualize/maps/point-to-point.md - title: Point to point - - page: docs-content://explore-analyze/visualize/maps/terms-join.md - title: Term join - - group: Search and filter maps - page: docs-content://explore-analyze/visualize/maps/maps-search.md - children: - - page: docs-content://explore-analyze/visualize/maps/maps-create-filter-from-map.md - title: Create filters from a map - - page: docs-content://explore-analyze/visualize/maps/maps-layer-based-filtering.md - title: Filter a single layer - - page: docs-content://explore-analyze/visualize/maps/maps-search-across-multiple-indices.md - title: Search across multiple indices - - page: docs-content://explore-analyze/visualize/maps/maps-settings.md - title: Configure map settings - - page: docs-content://explore-analyze/visualize/maps/maps-connect-to-ems.md - title: Connect to Elastic Maps Service - - group: Import geospatial data - page: docs-content://explore-analyze/visualize/maps/import-geospatial-data.md - children: - - page: docs-content://explore-analyze/visualize/maps/maps-clean-data.md - title: Clean your data - - page: docs-content://explore-analyze/visualize/maps/indexing-geojson-data-tutorial.md - title: "Tutorial: Index GeoJSON data" - - page: docs-content://explore-analyze/visualize/maps/maps-troubleshooting.md - title: Troubleshoot - - group: Graph - page: docs-content://explore-analyze/visualize/graph.md - children: - - page: docs-content://explore-analyze/visualize/graph/graph-configuration.md - title: Configure Graph - - page: docs-content://explore-analyze/visualize/graph/graph-troubleshooting.md - title: Troubleshooting and limitations - - group: Legacy editors - page: docs-content://explore-analyze/visualize/legacy-editors.md - children: - - page: docs-content://explore-analyze/visualize/legacy-editors/aggregation-based.md - title: Aggregation-based - - page: docs-content://explore-analyze/visualize/legacy-editors/tsvb.md - title: TSVB - - page: docs-content://explore-analyze/visualize/legacy-editors/timelion.md - title: Timelion - - group: Find and organize content - page: docs-content://explore-analyze/find-and-organize.md - children: - - page: docs-content://explore-analyze/find-and-organize/data-views.md - title: Data views - - page: docs-content://explore-analyze/find-and-organize/saved-objects.md - title: Saved objects - - page: docs-content://explore-analyze/find-and-organize/files.md - title: Files - - page: docs-content://explore-analyze/find-and-organize/reports.md - title: Reports - - page: docs-content://explore-analyze/find-and-organize/tags.md - title: Tags - - page: docs-content://explore-analyze/find-and-organize/find-apps-and-objects.md - title: Find apps and objects - - group: Track and respond - page: docs-content://explore-analyze/track-and-respond.md - children: - - group: Reporting and sharing - page: docs-content://explore-analyze/report-and-share.md - children: - - page: docs-content://explore-analyze/report-and-share/automating-report-generation.md - title: Automatically generate reports - - group: Reporting troubleshooting - page: docs-content://explore-analyze/report-and-share/reporting-troubleshooting.md - children: - - page: docs-content://explore-analyze/report-and-share/reporting-troubleshooting-csv.md - title: CSV - - page: docs-content://explore-analyze/report-and-share/reporting-troubleshooting-pdf.md - title: PDF/PNG - - group: Alerting - page: docs-content://explore-analyze/alerting.md + - page: docs-content://solutions/observability/streams/management/extract/drop.md + title: Drop document processor + - page: docs-content://solutions/observability/streams/management/extract/remove.md + title: Remove processor + - page: docs-content://solutions/observability/streams/management/extract/date.md + title: Date processor + - page: docs-content://solutions/observability/streams/management/extract/convert.md + title: Convert processor + - page: docs-content://solutions/observability/streams/management/extract/replace.md + title: Replace processor + - page: docs-content://solutions/observability/streams/management/extract/dissect.md + title: Dissect processor + - page: docs-content://solutions/observability/streams/management/extract/grok.md + title: Grok processor + - page: docs-content://solutions/observability/streams/management/extract/set.md + title: Set processor + - page: docs-content://solutions/observability/streams/management/extract/math.md + title: Math processor + - page: docs-content://solutions/observability/streams/management/extract/rename.md + title: Rename processor + - page: docs-content://solutions/observability/streams/management/extract/append.md + title: Append processor + - page: docs-content://solutions/observability/streams/management/extract/concat.md + title: Concat processor + - page: docs-content://solutions/observability/streams/management/extract/join.md + title: Join processor + - page: docs-content://solutions/observability/streams/management/extract/lowercase.md + title: Lowercase processor + - page: docs-content://solutions/observability/streams/management/extract/uppercase.md + title: Uppercase processor + - page: docs-content://solutions/observability/streams/management/extract/trim.md + title: Trim processor + - page: docs-content://solutions/observability/streams/management/extract/redact.md + title: Redact processor + - page: docs-content://solutions/observability/streams/management/extract/network-direction.md + title: Network direction processor + - page: docs-content://solutions/observability/streams/management/extract/manual-pipeline-configuration.md + title: Manual pipeline configuration + - page: docs-content://solutions/observability/streams/management/streamlang.md + title: Streamlang + - page: docs-content://solutions/observability/streams/management/partitioning.md + title: Partition data into child streams + - page: docs-content://solutions/observability/streams/management/schema.md + title: Map fields + - page: docs-content://solutions/observability/streams/management/data-quality.md + title: Manage data quality + - page: docs-content://solutions/observability/streams/management/advanced.md + title: Configure advanced settings + - page: docs-content://solutions/observability/streams/wired-streams.md + title: Wired streams + - group: Incident management + page: docs-content://solutions/observability/incident-management.md children: - - group: Alerts - page: docs-content://explore-analyze/alerting/alerts.md - children: - - page: docs-content://explore-analyze/alerting/alerts/alerting-getting-started.md - title: Getting started with alerts - - page: docs-content://explore-analyze/alerting/alerts/alerting-setup.md - title: Set up - - page: docs-content://explore-analyze/alerting/alerts/create-manage-rules.md - title: Create and manage rules - - page: docs-content://explore-analyze/alerting/alerts/view-alerts.md - title: View and manage alerts - - page: docs-content://explore-analyze/alerting/alerts/query-alerts.md - title: Query alert indices - - group: Rule types - page: docs-content://explore-analyze/alerting/alerts/rule-types.md + - group: Alerting + page: docs-content://solutions/observability/incident-management/alerting.md + children: + - group: Create and manage rules + page: docs-content://solutions/observability/incident-management/create-manage-rules.md children: - - page: docs-content://explore-analyze/alerting/alerts/rule-type-index-threshold.md - title: Index threshold - - page: docs-content://explore-analyze/alerting/alerts/rule-type-es-query.md + - page: docs-content://solutions/observability/incident-management/create-an-anomaly-detection-rule.md + title: Anomaly detection + - page: docs-content://solutions/observability/incident-management/create-an-apm-anomaly-rule.md + title: APM anomaly + - page: docs-content://solutions/observability/incident-management/create-custom-threshold-rule.md + title: Custom threshold + - page: docs-content://solutions/observability/incident-management/create-a-degraded-docs-rule.md + title: Degraded docs + - page: docs-content://solutions/observability/incident-management/create-an-elasticsearch-query-rule.md title: Elasticsearch query - - page: docs-content://explore-analyze/alerting/alerts/geo-alerting.md - title: Tracking containment - - page: docs-content://explore-analyze/alerting/alerts/rule-action-variables.md - title: Rule action variables - - page: docs-content://explore-analyze/alerting/alerts/notifications-domain-allowlist.md - title: Notifications domain allowlist - - group: Alerting troubleshooting - page: docs-content://explore-analyze/alerting/alerts/alerting-troubleshooting.md - children: - - page: docs-content://explore-analyze/alerting/alerts/alerting-common-issues.md - title: Common issues - - page: docs-content://explore-analyze/alerting/alerts/event-log-index.md - title: Event log index - - page: docs-content://explore-analyze/alerting/alerts/testing-connectors.md - title: Test connectors - - page: docs-content://explore-analyze/alerting/alerts/maintenance-windows.md - title: Maintenance windows - - group: Watcher - page: docs-content://explore-analyze/alerting/watcher.md - children: - - page: docs-content://explore-analyze/alerting/watcher/watcher-getting-started.md - title: Getting started with Watcher - - page: docs-content://explore-analyze/alerting/watcher/how-watcher-works.md - title: How Watcher works - - page: docs-content://explore-analyze/alerting/watcher/enable-watcher.md - title: Enable Watcher - - page: docs-content://explore-analyze/alerting/watcher/watcher-ui.md - title: Watcher UI - - page: docs-content://explore-analyze/alerting/watcher/encrypting-data.md - title: Encrypting sensitive data in Watcher - - group: Input - page: docs-content://explore-analyze/alerting/watcher/input.md - children: - - page: docs-content://explore-analyze/alerting/watcher/input-simple.md - title: Simple input - - page: docs-content://explore-analyze/alerting/watcher/input-search.md - title: Search input - - page: docs-content://explore-analyze/alerting/watcher/input-http.md - title: HTTP input - - page: docs-content://explore-analyze/alerting/watcher/input-chain.md - title: Chain input - - group: Trigger - page: docs-content://explore-analyze/alerting/watcher/trigger.md - children: - - page: docs-content://explore-analyze/alerting/watcher/trigger-schedule.md - title: Schedule trigger - - page: docs-content://explore-analyze/alerting/watcher/throttling.md - title: Throttling - - page: docs-content://explore-analyze/alerting/watcher/schedule-types.md - title: Schedule Types - - group: Condition - page: docs-content://explore-analyze/alerting/watcher/condition.md - children: - - page: docs-content://explore-analyze/alerting/watcher/condition-always.md - title: Always condition - - page: docs-content://explore-analyze/alerting/watcher/condition-never.md - title: Never condition - - page: docs-content://explore-analyze/alerting/watcher/condition-compare.md - title: Compare condition - - page: docs-content://explore-analyze/alerting/watcher/condition-array-compare.md - title: Array compare condition - - page: docs-content://explore-analyze/alerting/watcher/condition-script.md - title: Script condition - - group: Actions - page: docs-content://explore-analyze/alerting/watcher/actions.md - children: - - page: docs-content://explore-analyze/alerting/watcher/action-foreach.md - title: Running an action for each element in an array - - page: docs-content://explore-analyze/alerting/watcher/action-conditions.md - title: Adding conditions to actions - - page: docs-content://explore-analyze/alerting/watcher/actions-email.md - title: Email action - - page: docs-content://explore-analyze/alerting/watcher/actions-webhook.md - title: Webhook action - - page: docs-content://explore-analyze/alerting/watcher/actions-index.md - title: Index action - - page: docs-content://explore-analyze/alerting/watcher/actions-logging.md - title: Logging action - - page: docs-content://explore-analyze/alerting/watcher/actions-slack.md - title: Slack action - - page: docs-content://explore-analyze/alerting/watcher/actions-pagerduty.md - title: PagerDuty action - - page: docs-content://explore-analyze/alerting/watcher/actions-jira.md - title: Jira action - - group: Transform - page: docs-content://explore-analyze/alerting/watcher/transform.md - children: - - page: docs-content://explore-analyze/alerting/watcher/transform-search.md - title: Search payload transform - - page: docs-content://explore-analyze/alerting/watcher/transform-script.md - title: Script payload transform - - page: docs-content://explore-analyze/alerting/watcher/transform-chain.md - title: Chain payload transform - - page: docs-content://explore-analyze/alerting/watcher/managing-watches.md - title: Managing watches - - group: Example watches - page: docs-content://explore-analyze/alerting/watcher/example-watches.md - children: - - page: docs-content://explore-analyze/alerting/watcher/watch-cluster-status.md - title: Watching the status of an Elasticsearch cluster - - page: docs-content://explore-analyze/alerting/watcher/execute-watch.md - title: Execute a watch - - page: docs-content://explore-analyze/alerting/watcher/watcher-limitations.md - title: Limitations - - group: Cases - page: docs-content://explore-analyze/cases.md - children: - - page: docs-content://explore-analyze/cases/control-case-access.md - title: Control access - - page: docs-content://explore-analyze/cases/create-cases.md - title: Create cases - - page: docs-content://explore-analyze/cases/manage-cases.md - title: Manage cases - - page: docs-content://explore-analyze/cases/attach-objects-to-cases.md - title: Attach objects - - page: docs-content://explore-analyze/cases/search-share-cases.md - title: Search and share - - page: docs-content://explore-analyze/cases/configure-case-settings.md - title: Configure settings - - page: docs-content://explore-analyze/cases/cases-as-data.md - title: Cases as data - - label: Automate - children: - - group: Workflows - page: docs-content://explore-analyze/workflows.md - children: - - page: docs-content://explore-analyze/workflows/setup.md - title: Set up workflows - - page: docs-content://explore-analyze/workflows/get-started.md - title: Get started with workflows - - group: Core components - page: docs-content://explore-analyze/workflows/core-components.md - children: - - group: Triggers - page: docs-content://explore-analyze/workflows/triggers.md - children: - - page: docs-content://explore-analyze/workflows/triggers/manual-triggers.md - title: Manual triggers - - page: docs-content://explore-analyze/workflows/triggers/scheduled-triggers.md - title: Scheduled triggers - - page: docs-content://explore-analyze/workflows/triggers/alert-triggers.md - title: Alert triggers - - group: Steps - page: docs-content://explore-analyze/workflows/steps.md - children: - - group: Action steps - page: docs-content://explore-analyze/workflows/steps/action-steps.md - children: - - page: docs-content://explore-analyze/workflows/steps/elasticsearch.md - title: Elasticsearch - - page: docs-content://explore-analyze/workflows/steps/kibana.md - title: Kibana - - page: docs-content://explore-analyze/workflows/steps/external-systems-apps.md - title: External systems and apps - - group: Flow control steps - page: docs-content://explore-analyze/workflows/steps/flow-control-steps.md - children: - - page: docs-content://explore-analyze/workflows/steps/if.md - title: If - - page: docs-content://explore-analyze/workflows/steps/foreach.md - title: Foreach - - page: docs-content://explore-analyze/workflows/steps/wait.md - title: Wait - - page: docs-content://explore-analyze/workflows/steps/ai-steps.md - title: AI steps - - group: Data and error handling - page: docs-content://explore-analyze/workflows/data.md - children: - - page: docs-content://explore-analyze/workflows/data/templating.md - title: Templating engine - - page: docs-content://explore-analyze/workflows/author-workflows.md - title: Author workflows - - page: docs-content://explore-analyze/workflows/monitor-troubleshoot.md - title: Monitor and troubleshoot workflows - - page: docs-content://explore-analyze/workflows/manage-workflows.md - title: Manage workflows - - page: docs-content://explore-analyze/workflows/templates.md - title: Workflow templates - - label: AI and machine learning - children: - - group: Machine Learning and NLP - page: docs-content://explore-analyze/machine-learning.md - children: - - page: docs-content://explore-analyze/machine-learning/setting-up-machine-learning.md - title: Setup and security - - group: Anomaly detection - page: docs-content://explore-analyze/machine-learning/anomaly-detection.md - children: - - group: Finding anomalies - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-finding-anomalies.md - children: - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-plan.md - title: Plan your analysis - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs.md - title: Run a job - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-view-results.md - title: View the results - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-forecast.md - title: Forecast future behavior - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-getting-started.md - title: Tutorial - - group: Concepts - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-concepts.md - children: - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-algorithms.md - title: Anomaly detection algorithms - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-explain.md - title: Anomaly score explanation - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-anomaly-detection-job-types.md - title: Job types - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/anomaly-detection-scale.md - title: Working with anomaly detection at scale - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-delayed-data-detection.md - title: Handling delayed data - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-api-quickref.md - title: API quick reference - - group: How-tos - page: docs-content://explore-analyze/machine-learning/anomaly-detection/anomaly-how-tos.md - children: - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-alerts.md - title: Generating alerts for anomaly detection jobs - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-aggregation.md - title: Aggregating data for faster performance - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-transform.md - title: Altering data in your datafeed with runtime fields - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-detector-custom-rules.md - title: Customizing detectors with custom rules - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-categories.md - title: Detecting anomalous categories of data - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-populations.md - title: Performing population analysis - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-reverting-model-snapshot.md - title: Reverting to a model snapshot - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/geographic-anomalies.md - title: Detecting anomalous locations in geographic data - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/mapping-anomalies.md - title: Mapping anomalies by location - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-configuring-url.md - title: Adding custom URLs to machine learning results - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-jobs-from-lens.md - title: Anomaly detection jobs from visualizations - - group: Resources - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-resources.md - children: - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-limitations.md - title: Limitations - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-functions.md - title: Analysis function reference - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ootb-ml-jobs.md - title: Supplied configurations - - page: docs-content://explore-analyze/machine-learning/anomaly-detection/ml-ad-troubleshooting.md - title: Troubleshooting and FAQ - - group: Data frame analytics - page: docs-content://explore-analyze/machine-learning/data-frame-analytics.md - children: - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-overview.md - title: Overview - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-finding-outliers.md - title: Finding outliers - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-regression.md - title: Predicting numerical values with regression - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-classification.md - title: Predicting classes with classification - - group: Concepts - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-concepts.md - children: - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-phases.md - title: How data frame analytics jobs work - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-scale.md - title: Working with data frame analytics at scale - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-custom-urls.md - title: Adding custom URLs to data frame analytics jobs - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-feature-encoding.md - title: Feature encoding - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-feature-processors.md - title: Feature processors - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-feature-importance.md - title: Feature importance - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/dfa-regression-lossfunction.md - title: Loss functions for regression analyses - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/hyperparameters.md - title: Hyperparameter optimization - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-trained-models.md - title: Trained models - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfanalytics-apis.md - title: API quick reference - - group: Resources - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-resources.md - children: - - page: docs-content://explore-analyze/machine-learning/data-frame-analytics/ml-dfa-limitations.md - title: Limitations - - group: NLP - page: docs-content://explore-analyze/machine-learning/nlp.md - children: - - group: Overview - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-overview.md - children: - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-extract-info.md - title: Extract information - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-classify-text.md - title: Classify text - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-search-compare.md - title: Search and compare text - - group: Deploy models - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-deploy-models.md - children: - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-select-model.md - title: Select a trained model - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-import-model.md - title: Import the trained model and vocabulary - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-deploy-model.md - title: Deploy the model in your cluster - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-test-inference.md - title: Try it out - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-inference.md - title: Add NLP inference to ingest pipelines - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-apis.md - title: API quick reference - - group: Built-in models - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-built-in-models.md - children: - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-elser.md - title: ELSER - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-jina.md - title: Jina - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-rerank.md - title: Elastic Rerank - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-e5.md - title: E5 - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-lang-ident.md - title: Language identification - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-model-ref.md - title: Compatible third party models - - group: Examples - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-examples.md - children: - - page: docs-content://explore-analyze/machine-learning/nlp/nlp-end-to-end-tutorial.md - title: End-to-end tutorial - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-ner-example.md - title: Named entity recognition - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-text-emb-vector-search-example.md - title: Text embedding and semantic search - - page: docs-content://explore-analyze/machine-learning/nlp/ml-nlp-limitations.md - title: Limitations - - group: Machine learning in Kibana - page: docs-content://explore-analyze/machine-learning/machine-learning-in-kibana.md - children: - - page: docs-content://explore-analyze/machine-learning/machine-learning-in-kibana/xpack-ml-aiops.md - title: AIOps Labs - - page: docs-content://explore-analyze/machine-learning/machine-learning-in-kibana/inference-processing.md - title: Inference processing - - group: Agent builder - page: docs-content://explore-analyze/ai-features/elastic-agent-builder.md - children: - - page: docs-content://explore-analyze/ai-features/agent-builder/get-started.md - title: Get started - - page: docs-content://explore-analyze/ai-features/agent-builder/models.md - title: Models - - group: Chat - page: docs-content://explore-analyze/ai-features/agent-builder/chat.md - children: - - page: docs-content://explore-analyze/ai-features/agent-builder/standalone-and-flyout-modes.md - title: Chat UI modes - - group: Agents - page: docs-content://explore-analyze/ai-features/agent-builder/agent-builder-agents.md - children: - - page: docs-content://explore-analyze/ai-features/agent-builder/custom-agents.md - title: Custom agents - - page: docs-content://explore-analyze/ai-features/agent-builder/builtin-agents-reference.md - title: Built-in agents - - page: docs-content://explore-analyze/ai-features/agent-builder/prompt-engineering.md - title: Prompting best practices - - page: docs-content://explore-analyze/ai-features/agent-builder/agents-and-workflows.md - title: Call agents from workflows - - group: Tools - page: docs-content://explore-analyze/ai-features/agent-builder/tools.md - children: - - page: docs-content://explore-analyze/ai-features/agent-builder/tools/builtin-tools-reference.md - title: Built-in tools - - group: Custom tools - page: docs-content://explore-analyze/ai-features/agent-builder/tools/custom-tools.md - children: - - page: docs-content://explore-analyze/ai-features/agent-builder/tools/esql-tools.md - title: "ES|QL tools" - - page: docs-content://explore-analyze/ai-features/agent-builder/tools/index-search-tools.md - title: Index search tools - - page: docs-content://explore-analyze/ai-features/agent-builder/tools/mcp-tools.md - title: MCP tools - - page: docs-content://explore-analyze/ai-features/agent-builder/tools/workflow-tools.md - title: Workflow tools - - group: Programmatic access - page: docs-content://explore-analyze/ai-features/agent-builder/programmatic-access.md - children: - - group: Kibana API - page: docs-content://explore-analyze/ai-features/agent-builder/kibana-api.md - children: - - page: docs-content://explore-analyze/ai-features/agent-builder/agent-builder-api-tutorial.md - title: Kibana API tutorial - - page: docs-content://explore-analyze/ai-features/agent-builder/a2a-server.md - title: A2A server - - page: docs-content://explore-analyze/ai-features/agent-builder/mcp-server.md - title: MCP server - - page: docs-content://explore-analyze/ai-features/agent-builder/monitor-usage.md - title: Monitor token usage - - page: docs-content://explore-analyze/ai-features/agent-builder/permissions.md - title: Permissions - - group: Troubleshooting - page: docs-content://explore-analyze/ai-features/agent-builder/troubleshooting.md - children: - - page: docs-content://explore-analyze/ai-features/agent-builder/troubleshooting/context-length-exceeded.md - title: Context length exceeded - - page: docs-content://explore-analyze/ai-features/agent-builder/troubleshooting/api-calls-return-403-forbidden.md - title: 403 Forbidden - - page: docs-content://explore-analyze/ai-features/agent-builder/limitations-known-issues.md - title: Limitations - - group: Elastic Inference Service - page: docs-content://explore-analyze/elastic-inference.md - children: - - group: Elastic Inference Service - page: docs-content://explore-analyze/elastic-inference/eis.md - children: - - page: docs-content://explore-analyze/elastic-inference/connect-self-managed-cluster-to-eis.md - title: EIS for self-managed clusters - - page: docs-content://explore-analyze/elastic-inference/inference-api.md - title: Inference integrations - - group: AI chat and LLM configuration - page: docs-content://explore-analyze/ai-features.md - children: - - group: AI chat experiences - page: docs-content://explore-analyze/ai-features/ai-chat-experiences.md - children: - - page: docs-content://explore-analyze/ai-features/ai-chat-experiences/ai-agent-or-ai-assistant.md - title: Compare Agent Builder and AI Assistant - - page: docs-content://explore-analyze/ai-features/ai-chat-experiences/ai-assistant.md - title: AI assistants - - group: LLM providers - page: docs-content://explore-analyze/ai-features/llm-guides/llm-connectors.md - children: - - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-azure-openai.md - title: Connect to Azure OpenAI - - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-amazon-bedrock.md - title: Connect to Amazon Bedrock - - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-openai.md - title: Connect to OpenAI - - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-google-vertex.md - title: Connect to Google Vertex - - group: Local LLMs - page: docs-content://explore-analyze/ai-features/llm-guides/local-llms-overview.md - children: - - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-lmstudio-observability.md - title: Connect to LM Studio for Observability - - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-lmstudio-security.md - title: Connect to LM Studio for Elastic Security - - page: docs-content://explore-analyze/ai-features/llm-guides/connect-to-vLLM.md - title: Connect to vLLM for Elastic Security - - page: docs-content://explore-analyze/ai-features/manage-access-to-ai-assistant.md - title: Manage access to AI features - - page: docs-content://explore-analyze/ai-features/agent-skills.md - title: AI agent skills for Elastic - - label: Solutions and project types - children: - - page: docs-content://solutions/index.md - title: Solutions overview - - group: Elasticsearch solution - page: docs-content://solutions/elasticsearch-solution-project.md - children: - - group: Get started - page: docs-content://solutions/elasticsearch-solution-project/get-started.md - children: - - page: docs-content://solutions/elasticsearch-solution-project/search-connection-details.md - title: Find connection details - - group: Playground - page: docs-content://solutions/elasticsearch-solution-project/playground.md - children: - - page: docs-content://solutions/elasticsearch-solution-project/playground-context.md - title: Optimize model context - - page: docs-content://solutions/elasticsearch-solution-project/playground-query.md - title: View and modify queries - - page: docs-content://solutions/elasticsearch-solution-project/playground-troubleshooting.md - title: Troubleshooting - - page: docs-content://solutions/elasticsearch-solution-project/ai-assistant.md - title: AI Assistant - - page: docs-content://solutions/elasticsearch-solution-project/query-rules-ui.md - title: Query rules UI - - group: Search Applications - page: docs-content://solutions/elasticsearch-solution-project/search-applications.md - children: - - page: docs-content://solutions/elasticsearch-solution-project/search-applications/search-application-api.md - title: Search API and templates - - page: docs-content://solutions/elasticsearch-solution-project/search-applications/search-application-security.md - title: Security - - page: docs-content://solutions/elasticsearch-solution-project/search-applications/search-application-client.md - title: Search Application client guide - - page: docs-content://solutions/elasticsearch-solution-project/es-serverless-add-ons.md - title: Add-ons - - group: Observability solution - page: docs-content://solutions/observability.md - children: - - group: Get started - page: docs-content://solutions/observability/get-started.md - children: - - group: Elastic Observability quickstarts - page: docs-content://solutions/observability/get-started/quickstarts.md - children: - - page: docs-content://solutions/observability/get-started/quickstart-monitor-hosts-with-opentelemetry.md - title: "Quickstart: Monitor hosts with OpenTelemetry" - - page: docs-content://solutions/observability/get-started/quickstart-monitor-your-application-performance.md - title: "Quickstart: Monitor your application performance" - - page: docs-content://solutions/observability/get-started/quickstart-unified-kubernetes-observability-with-elastic-distributions-of-opentelemetry-edot.md - title: "Quickstart: Unified Kubernetes Observability with Elastic Distributions of OpenTelemetry (EDOT)" - - page: docs-content://solutions/observability/get-started/quickstart-elastic-cloud-otel-endpoint.md - title: "Quickstart: Send OTLP data to Elastic Serverless or Elastic Cloud Hosted" - - page: docs-content://solutions/observability/get-started/quickstart-create-synthetic-monitor.md - title: "Quickstart: Create a Synthetic Monitor" - - page: docs-content://solutions/observability/get-started/quickstart-monitor-hosts-with-elastic-agent.md - title: "Quickstart: Monitor hosts with Elastic Agent" - - page: docs-content://solutions/observability/get-started/quickstart-monitor-kubernetes-cluster-with-elastic-agent.md - title: "Quickstart: Monitor your Kubernetes cluster with Elastic Agent" - - page: docs-content://solutions/observability/get-started/quickstart-collect-data-with-aws-firehose.md - title: "Quickstart: Collect data with AWS Firehose" - - group: OpenTelemetry quickstarts - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/index.md - children: - - page: docs-content://solutions/observability/get-started/opentelemetry/custom-metrics-quickstart.md - title: Ingest custom metrics with EDOT - - group: Self-managed - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/self-managed/index.md - children: - - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/self-managed/k8s.md - title: Kubernetes - - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/self-managed/hosts_vms.md - title: Hosts / VMs - - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/self-managed/docker.md - title: Docker - - group: Elastic Cloud Serverless - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/serverless/index.md - children: - - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/serverless/k8s.md - title: Kubernetes - - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/serverless/hosts_vms.md - title: Hosts and VMs - - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/serverless/docker.md - title: Docker - - group: Elastic Cloud Hosted - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/ech/index.md - children: - - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/ech/k8s.md - title: Kubernetes - - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/ech/hosts_vms.md - title: Hosts and VMs - - page: docs-content://solutions/observability/get-started/opentelemetry/quickstart/ech/docker.md - title: Docker - - group: OpenTelemetry use cases - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/index.md - children: - - group: Kubernetes observability - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/index.md - children: - - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/prerequisites-compatibility.md - title: Prerequisites and compatibility - - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/components.md - title: Components description - - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/deployment.md - title: Deployment - - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/instrumenting-applications.md - title: Instrumenting Applications - - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/upgrade.md - title: Upgrade - - page: docs-content://solutions/observability/get-started/opentelemetry/use-cases/kubernetes/customization.md - title: Customization - - group: Other Observability tutorials - page: docs-content://solutions/observability/get-started/other-tutorials/index.md - children: - - page: docs-content://solutions/observability/get-started/other-tutorials/tutorial-monitor-java-application.md - title: "Tutorial: Monitor a Java application" - - page: docs-content://solutions/observability/get-started/logs-essentials.md - title: Logs Essentials - - group: Applications and services - page: docs-content://solutions/observability/applications/index.md - children: - - group: Application performance monitoring (APM) - page: docs-content://solutions/observability/apm/index.md - children: - - page: docs-content://solutions/observability/apm/get-started.md - title: Get started with traces and APM - - group: Application data types - page: docs-content://solutions/observability/apm/data-types.md - children: - - page: docs-content://solutions/observability/apm/spans.md - title: Spans - - group: Transactions - page: docs-content://solutions/observability/apm/transactions.md - children: - - page: docs-content://solutions/observability/apm/transaction-sampling.md - title: Transaction sampling - - page: docs-content://solutions/observability/apm/traces.md - title: Traces - - page: docs-content://solutions/observability/apm/errors.md - title: Errors - - page: docs-content://solutions/observability/apm/metrics.md - title: Metrics - - page: docs-content://solutions/observability/apm/metadata.md - title: Metadata - - group: Collect application data - page: docs-content://solutions/observability/apm/ingest/index.md - children: - - group: OpenTelemetry - page: docs-content://solutions/observability/apm/opentelemetry/index.md - children: - - page: docs-content://solutions/observability/apm/opentelemetry/upstream-opentelemetry-collectors-language-sdks.md - title: Contrib OpenTelemetry Collectors and language SDKs - - page: docs-content://solutions/observability/apm/opentelemetry/collect-metrics.md - title: Collect metrics - - page: docs-content://solutions/observability/apm/opentelemetry/create-apm-agent-key-for-edot-sdks.md - title: Create APM agent key for EDOT SDKs - - page: docs-content://solutions/observability/apm/opentelemetry/edot-sdks-central-configuration.md - title: Centrally configure EDOT SDKs - - page: docs-content://solutions/observability/apm/opentelemetry/limitations.md - title: Limitations - - page: docs-content://solutions/observability/apm/opentelemetry/attributes.md - title: Attributes and labels - - page: docs-content://solutions/observability/apm/opentelemetry/data-stream-routing.md - title: Data stream routing - - group: APM agents - page: docs-content://solutions/observability/apm/apm-agents/index.md - children: - - page: docs-content://solutions/observability/apm/apm-agents/central-configuration.md - title: Centrally configure APM agents - - page: docs-content://solutions/observability/apm/apm-agents/real-user-monitoring-rum.md - title: Real User Monitoring (RUM) - - page: docs-content://solutions/observability/apm/apm-agents/create-upload-source-maps-rum.md - title: Create and upload source maps (RUM) - - page: docs-content://solutions/observability/apm/ingest/apm-k8s-attacher.md - title: Kubernetes - - page: docs-content://solutions/observability/apm/ingest/monitor-aws-lambda-functions.md - title: AWS Lambda Functions - - page: docs-content://solutions/observability/apm/ingest/jaeger.md - title: Jaeger (deprecated) - - group: View and analyze data - page: docs-content://solutions/observability/apm/view-analyze-data.md - children: - - group: Overviews - page: docs-content://solutions/observability/apm/overviews.md - children: - - page: docs-content://solutions/observability/apm/services.md - title: Services - - page: docs-content://solutions/observability/apm/traces-ui.md - title: Traces UI - - page: docs-content://solutions/observability/apm/dependencies.md - title: Dependencies - - page: docs-content://solutions/observability/apm/service-map.md - title: Service Map - - page: docs-content://solutions/observability/apm/service-overview.md - title: Service overview - - page: docs-content://solutions/observability/apm/mobile-service-overview.md - title: Mobile service overview - - group: Drill down into data - page: docs-content://solutions/observability/apm/drill-down-into-data.md - children: - - page: docs-content://solutions/observability/apm/transactions-ui.md - title: Transactions UI - - page: docs-content://solutions/observability/apm/trace-sample-timeline.md - title: Trace sample timeline - - page: docs-content://solutions/observability/apm/errors-ui.md - title: Errors UI - - page: docs-content://solutions/observability/apm/metrics-ui.md - title: Metrics UI - - page: docs-content://solutions/observability/apm/infrastructure.md - title: Infrastructure - - page: docs-content://solutions/observability/apm/logs.md - title: Logs - - group: Filter and search data - page: docs-content://solutions/observability/apm/filter-search-data.md - children: - - page: docs-content://solutions/observability/apm/filter-data.md - title: Filters - - page: docs-content://solutions/observability/apm/advanced-queries.md - title: Advanced queries - - page: docs-content://solutions/observability/apm/cross-cluster-search.md - title: Cross-cluster search - - group: Interpret data - page: docs-content://solutions/observability/apm/interpret-data.md - children: - - page: docs-content://solutions/observability/apm/find-transaction-latency-failure-correlations.md - title: Find transaction latency and failure correlations - - page: docs-content://solutions/observability/apm/track-deployments-with-annotations.md - title: Track deployments with annotations - - page: docs-content://solutions/observability/apm/explore-mobile-sessions.md - title: Explore mobile sessions with Discover - - page: docs-content://solutions/observability/apm/observe-lambda-functions.md - title: Observe Lambda functions - - page: docs-content://solutions/observability/apm/machine-learning.md - title: Integrate with machine learning - - page: docs-content://solutions/observability/apm/apm-agent-explorer.md - title: APM Agent explorer - - page: docs-content://solutions/observability/apm/applications-ui-settings.md - title: Settings - - group: Act on data - page: docs-content://solutions/observability/apm/act-on-data.md - children: - - page: docs-content://solutions/observability/apm/create-apm-rules-alerts.md - title: Create rules and alerts - - page: docs-content://solutions/observability/apm/create-custom-links.md - title: Create custom links - - group: Use APM securely - page: docs-content://solutions/observability/apm/use-apm-securely.md - children: - - group: Secure data - page: docs-content://solutions/observability/apm/secure-data.md - children: - - page: docs-content://solutions/observability/apm/control-access-to-apm-data.md - title: Control access to APM data - - page: docs-content://solutions/observability/apm/built-in-data-filters.md - title: Built-in data filters - - page: docs-content://solutions/observability/apm/custom-filters.md - title: Custom filters - - page: docs-content://solutions/observability/apm/delete-sensitive-data.md - title: Delete sensitive data - - group: Secure communication with APM agents - page: docs-content://solutions/observability/apm/secure-communication-with-apm-agents.md - children: - - page: docs-content://solutions/observability/apm/apm-agent-tls-communication.md - title: APM agent TLS communication - - page: docs-content://solutions/observability/apm/api-keys.md - title: API keys - - page: docs-content://solutions/observability/apm/secret-token.md - title: Secret token - - page: docs-content://solutions/observability/apm/anonymous-authentication.md - title: Anonymous authentication - - group: Secure communication with the Elastic Stack - page: docs-content://solutions/observability/apm/secure-communication-with-elastic-stack.md - children: - - page: docs-content://solutions/observability/apm/create-assign-feature-roles-to-apm-server-users.md - title: Use feature roles - - page: docs-content://solutions/observability/apm/grant-access-using-api-keys.md - title: Grant access using API keys - - group: Secure access to the Applications UI - page: docs-content://solutions/observability/apm/secure-access-to-applications-ui.md - children: - - page: docs-content://solutions/observability/apm/ui-user-reader.md - title: Create an APM reader user - - page: docs-content://solutions/observability/apm/ui-user-annotation.md - title: Create an annotation user - - page: docs-content://solutions/observability/apm/ui-user-api.md - title: Create an API user - - page: docs-content://solutions/observability/apm/ui-user-central-config.md - title: Create a central config user - - page: docs-content://solutions/observability/apm/ui-user-storage-explorer.md - title: Create a storage explorer user - - group: Manage storage - page: docs-content://solutions/observability/apm/manage-storage.md - children: - - page: docs-content://solutions/observability/apm/storage-explorer.md - title: Storage Explorer - - page: docs-content://solutions/observability/apm/data-streams.md - title: Data streams - - page: docs-content://solutions/observability/apm/index-lifecycle-management.md - title: Index lifecycle management - - page: docs-content://solutions/observability/apm/view-elasticsearch-index-template.md - title: View the Elasticsearch index template - - page: docs-content://solutions/observability/apm/parse-data-using-ingest-pipelines.md - title: Parse data using ingest pipelines - - page: docs-content://solutions/observability/apm/storage-sizing-guide.md - title: Storage and sizing guide - - page: docs-content://solutions/observability/apm/reduce-storage.md - title: Reduce storage - - page: docs-content://solutions/observability/apm/explore-data-in-elasticsearch.md - title: Explore data in Elasticsearch - - group: "Work with APM Server" - page: docs-content://solutions/observability/apm/apm-server/index.md - children: - - group: Set up - page: docs-content://solutions/observability/apm/apm-server/setup.md - children: - - page: docs-content://solutions/observability/apm/apm-server/fleet-managed.md - title: Fleet-managed APM Server - - page: docs-content://solutions/observability/apm/apm-server/binary.md - title: APM Server binary - - group: Configure - page: docs-content://solutions/observability/apm/apm-server/configure.md - children: - - page: docs-content://solutions/observability/apm/apm-server/general-configuration-options.md - title: General configuration options - - page: docs-content://solutions/observability/apm/apm-server/configure-anonymous-authentication.md - title: Anonymous authentication - - page: docs-content://solutions/observability/apm/apm-server/apm-agent-authorization.md - title: APM agent authorization - - page: docs-content://solutions/observability/apm/apm-server/apm-agent-central-configuration.md - title: Configure APM Agent Central Configuration - - page: docs-content://solutions/observability/apm/apm-server/configure-apm-instrumentation.md - title: Instrumentation - - page: docs-content://solutions/observability/apm/apm-server/configure-kibana-endpoint.md - title: Kibana endpoint - - page: docs-content://solutions/observability/apm/apm-server/configure-logging.md - title: Logging - - group: Output - page: docs-content://solutions/observability/apm/apm-server/configure-output.md - children: - - page: docs-content://solutions/observability/apm/apm-server/configure-output-for-elasticsearch-service-on-elastic-cloud.md - title: Elastic Cloud Hosted - - page: docs-content://solutions/observability/apm/apm-server/configure-elasticsearch-output.md - title: Elasticsearch - - page: docs-content://solutions/observability/apm/apm-server/configure-logstash-output.md - title: "Logstash" - - page: docs-content://solutions/observability/apm/apm-server/configure-kafka-output.md - title: Kafka - - page: docs-content://solutions/observability/apm/apm-server/configure-redis-output.md - title: Redis - - page: docs-content://solutions/observability/apm/apm-server/configure-console-output.md - title: Console - - page: docs-content://solutions/observability/apm/apm-server/configure-project-paths.md - title: Project paths - - page: docs-content://solutions/observability/apm/apm-server/configure-real-user-monitoring-rum.md - title: Real User Monitoring (RUM) - - group: SSL/TLS settings - page: docs-content://solutions/observability/apm/apm-server/ssl-tls-settings.md - children: - - page: docs-content://solutions/observability/apm/apm-server/ssl-tls-output-settings.md - title: SSL/TLS output settings - - page: docs-content://solutions/observability/apm/apm-server/ssl-tls-input-settings.md - title: SSL/TLS input settings - - page: docs-content://solutions/observability/apm/apm-server/tail-based-sampling.md - title: Tail-based sampling - - page: docs-content://solutions/observability/apm/apm-server/use-environment-variables-in-configuration.md - title: Use environment variables in the configuration - - group: Advanced setup - page: docs-content://solutions/observability/apm/apm-server/advanced-setup.md - children: - - page: docs-content://solutions/observability/apm/apm-server/installation-layout.md - title: Installation layout - - page: docs-content://solutions/observability/apm/apm-server/secrets-keystore-for-secure-settings.md - title: Secrets keystore - - page: docs-content://solutions/observability/apm/apm-server/command-reference.md - title: Command reference - - page: docs-content://solutions/observability/apm/apm-server/tune-data-ingestion.md - title: Tune data ingestion - - page: docs-content://solutions/observability/apm/apm-server/high-availability.md - title: High Availability - - page: docs-content://solutions/observability/apm/apm-server/systemd.md - title: APM Server and systemd - - group: Monitor - page: docs-content://solutions/observability/apm/apm-server/monitor.md - children: - - page: docs-content://solutions/observability/apm/apm-server/monitor-fleet-managed.md - title: Fleet-managed - - group: APM Server binary - page: docs-content://solutions/observability/apm/apm-server/monitor-binary.md - children: - - page: docs-content://solutions/observability/apm/apm-server/use-internal-collection-to-send-monitoring-data.md - title: Use internal collection - - page: docs-content://solutions/observability/apm/apm-server/use-metricbeat-to-send-monitoring-data.md - title: "Use Metricbeat collection" - - page: docs-content://solutions/observability/apm/apm-server/use-select-metrics-emitted-directly-to-monitoring-cluster.md - title: Use local collection - - group: APM APIs - page: docs-content://solutions/observability/apm/apis.md - children: - - page: docs-content://solutions/observability/apm/apm-ui-api.md - title: APM UI API - - group: "APM Server API" - page: docs-content://solutions/observability/apm/apm-server/api.md - children: - - page: docs-content://solutions/observability/apm/apm-server/information-api.md - title: APM Server information API - - page: docs-content://solutions/observability/apm/elastic-apm-events-intake-api.md - title: Elastic APM events intake API - - page: docs-content://solutions/observability/apm/elastic-apm-agent-configuration-api.md - title: Elastic APM agent configuration API - - page: docs-content://solutions/observability/apm/opentelemetry-intake-api.md - title: OpenTelemetry intake API - - page: docs-content://solutions/observability/apm/jaeger-event-intake.md - title: Jaeger event intake - - page: docs-content://solutions/observability/apm/managed-intake-service-event-api.md - title: Managed intake service event API - - group: Upgrade - page: docs-content://solutions/observability/apm/upgrade.md - children: - - page: docs-content://solutions/observability/apm/apm-agent-compatibility.md - title: APM agent compatibility - - group: "Upgrade to version 9.0 [apm-upgrading-to-9.0]" - page: docs-content://solutions/observability/apm/upgrade-to-version-9.md - children: - - page: docs-content://solutions/observability/apm/upgrade-self-installation-of-apm-server-standalone-to-9.md - title: Self-installation standalone - - page: docs-content://solutions/observability/apm/upgrade-self-installation-of-apm-integration-to-9.md - title: Self-installation APM integration - - page: docs-content://solutions/observability/apm/upgrade-elastic-cloud-apm-server-standalone-to-9.md - title: "Elastic Cloud standalone" - - page: docs-content://solutions/observability/apm/upgrade-elastic-cloud-with-apm-integration-to-9.md - title: "Elastic Cloud APM integration" - - group: Switch to the Elastic APM integration - page: docs-content://solutions/observability/apm/switch-to-elastic-apm-integration.md - children: - - page: docs-content://solutions/observability/apm/switch-self-installation-to-apm-integration.md - title: Switch a self-installation - - page: docs-content://solutions/observability/apm/switch-an-elastic-cloud-cluster-to-apm-integration.md - title: "Switch an Elastic Cloud cluster" - - group: Synthetic monitoring - page: docs-content://solutions/observability/synthetics/index.md - children: - - group: Get started - page: docs-content://solutions/observability/synthetics/get-started.md - children: - - page: docs-content://solutions/observability/synthetics/create-monitors-with-projects.md - title: Use a Synthetics project - - page: docs-content://solutions/observability/synthetics/create-monitors-ui.md - title: Use the Synthetics UI - - group: Scripting browser monitors - page: docs-content://solutions/observability/synthetics/scripting-browser-monitors.md - children: - - page: docs-content://solutions/observability/synthetics/write-synthetic-test.md - title: Write a synthetic test - - page: docs-content://solutions/observability/synthetics/configure-individual-browser-monitors.md - title: Configure individual monitors - - page: docs-content://solutions/observability/synthetics/use-synthetics-recorder.md - title: Use the Synthetics Recorder - - page: docs-content://solutions/observability/synthetics/configure-lightweight-monitors.md - title: Configure lightweight monitors - - page: docs-content://solutions/observability/synthetics/manage-monitors.md - title: Manage monitors - - page: docs-content://solutions/observability/synthetics/work-with-params-secrets.md - title: Work with params and secrets - - page: docs-content://solutions/observability/synthetics/analyze-data.md - title: Analyze monitor data - - page: docs-content://solutions/observability/synthetics/monitor-resources-on-private-networks.md - title: Monitor resources on private networks - - page: docs-content://solutions/observability/synthetics/cli.md - title: Use the CLI - - page: docs-content://solutions/observability/synthetics/configure-projects.md - title: Configure a Synthetics project - - page: docs-content://solutions/observability/synthetics/mfa-for-browser-monitors.md - title: Multi-factor Authentication - - page: docs-content://solutions/observability/synthetics/configure-settings.md - title: Configure Synthetics settings - - group: Grant users access to secured resources - page: docs-content://solutions/observability/synthetics/grant-access-to-secured-resources.md - children: - - page: docs-content://solutions/observability/synthetics/setup-role.md - title: Setup role - - page: docs-content://solutions/observability/synthetics/writer-role.md - title: Writer role - - page: docs-content://solutions/observability/synthetics/reader-role.md - title: Reader role - - page: docs-content://solutions/observability/synthetics/manage-data-retention.md - title: Manage data retention - - page: docs-content://solutions/observability/synthetics/network-security.md - title: Use Synthetics with network security - - page: docs-content://solutions/observability/synthetics/migrate-from-elastic-synthetics-integration.md - title: Migrate from the Elastic Synthetics integration - - page: docs-content://solutions/observability/synthetics/scale-architect-synthetics-deployment.md - title: Scale and architect a deployment - - page: docs-content://solutions/observability/synthetics/support-matrix.md - title: Synthetics support matrix - - page: docs-content://solutions/observability/synthetics/encryption-security.md - title: Synthetics Encryption and Security - - group: Real user monitoring - page: docs-content://solutions/observability/applications/user-experience.md - children: - - page: docs-content://solutions/observability/applications/otel-rum.md - title: OpenTelemetry for Real User Monitoring (RUM) - - page: docs-content://solutions/observability/applications/llm-observability.md - title: LLM and agentic AI observability - - group: Uptime monitoring (deprecated) - page: docs-content://solutions/observability/uptime/index.md - children: - - page: docs-content://solutions/observability/uptime/get-started.md - title: Get started - - group: Analyze - page: docs-content://solutions/observability/uptime/analyze.md - children: - - page: docs-content://solutions/observability/uptime/view-monitor-status.md - title: View monitor status - - page: docs-content://solutions/observability/uptime/analyze-monitors.md - title: Analyze monitors - - page: docs-content://solutions/observability/uptime/inspect-duration-anomalies.md - title: Inspect uptime duration anomalies - - page: docs-content://solutions/observability/uptime/configure-settings.md - title: Configure settings - - page: docs-content://solutions/observability/otlp-visualize.md - title: Visualize OpenTelemetry data - - page: docs-content://solutions/observability/cicd.md - title: CI/CD - - group: Cloud - page: docs-content://solutions/observability/cloud.md - children: - - group: AWS - page: docs-content://solutions/observability/cloud/amazon-web-services-aws-monitoring.md - children: - - page: docs-content://solutions/observability/cloud/ingestion-options.md - title: Ingestion options - - group: "Monitor AWS with Elastic Agent" - page: docs-content://solutions/observability/cloud/monitor-amazon-web-services-aws-with-elastic-agent.md - children: - - page: docs-content://solutions/observability/cloud/monitor-amazon-cloud-compute-ec2.md - title: EC2 - - page: docs-content://solutions/observability/cloud/monitor-amazon-kinesis-data-streams.md - title: Kinesis data streams - - page: docs-content://solutions/observability/cloud/monitor-amazon-simple-storage-service-s3.md - title: S3 - - page: docs-content://solutions/observability/cloud/monitor-amazon-simple-queue-service-sqs.md - title: SQS - - page: docs-content://solutions/observability/cloud/monitor-amazon-web-services-aws-with-beats.md - title: "Monitor AWS with Beats" - - group: "Monitor AWS with Amazon Data Firehose" - page: docs-content://solutions/observability/cloud/monitor-amazon-web-services-aws-with-amazon-data-firehose.md - children: - - page: docs-content://solutions/observability/cloud/monitor-virtual-private-cloud-vpc-flow-logs.md - title: VPC Flow Logs - - page: docs-content://solutions/observability/cloud/monitor-cloudtrail-logs.md - title: CloudTrail logs - - page: docs-content://solutions/observability/cloud/monitor-aws-network-firewall-logs.md - title: Network Firewall logs - - page: docs-content://solutions/observability/cloud/monitor-web-application-firewall-waf-logs.md - title: WAF logs - - page: docs-content://solutions/observability/cloud/monitor-cloudwatch-logs.md - title: CloudWatch logs - - page: docs-content://solutions/observability/cloud/monitor-amazon-web-services-aws-with-elastic-serverless-forwarder.md - title: "Monitor AWS with Elastic Serverless Forwarder" - - group: Azure - page: docs-content://solutions/observability/cloud/azure-monitoring.md - children: - - page: docs-content://solutions/observability/cloud/monitor-microsoft-azure-with-elastic-agent.md - title: Monitor Microsoft Azure with Elastic Agent - - page: docs-content://solutions/observability/cloud/monitor-microsoft-azure-with-beats.md - title: Monitor Microsoft Azure with Beats - - page: docs-content://solutions/observability/cloud/multi-tenant-data-ingestion-with-beats.md - title: Ingest multi-tenant Azure Event Hub logs with Filebeat - - page: docs-content://solutions/observability/cloud/monitor-microsoft-azure-with-azure-native-isv-service.md - title: Monitor Microsoft Azure with the Azure Native ISV Service - - page: docs-content://solutions/observability/cloud/monitor-microsoft-azure-openai.md - title: Monitor Microsoft Azure OpenAI - - group: GCP - page: docs-content://solutions/observability/cloud/monitor-google-cloud-platform-gcp.md - children: - - page: docs-content://solutions/observability/cloud/gcp-dataflow-templates.md - title: GCP Dataflow templates - - group: Infrastructure and hosts - page: docs-content://solutions/observability/infra-and-hosts.md - children: - - group: Analyze infrastructure and host metrics - page: docs-content://solutions/observability/infra-and-hosts/analyze-infrastructure-host-metrics.md - children: - - page: docs-content://solutions/observability/infra-and-hosts/get-started-with-system-metrics.md - title: Get started with system metrics - - page: docs-content://solutions/observability/infra-and-hosts/view-infrastructure-metrics-by-resource-type.md - title: View infrastructure metrics by resource type - - page: docs-content://solutions/observability/infra-and-hosts/discover-metrics.md - title: Explore metrics data with Discover in Kibana - - page: docs-content://solutions/observability/infra-and-hosts/explore-infrastructure-metrics-over-time.md - title: Explore infrastructure metrics over time - - page: docs-content://solutions/observability/infra-and-hosts/analyze-compare-hosts.md - title: Analyze and compare hosts - - page: docs-content://solutions/observability/infra-and-hosts/detect-metric-anomalies.md - title: Detect metric anomalies - - page: docs-content://solutions/observability/infra-and-hosts/configure-settings.md - title: Configure settings - - group: Universal Profiling - page: docs-content://solutions/observability/infra-and-hosts/universal-profiling.md - children: - - page: docs-content://solutions/observability/infra-and-hosts/get-started-with-universal-profiling.md - title: Get started - - group: Manage data storage - page: docs-content://solutions/observability/infra-and-hosts/manage-data-storage.md - children: - - page: docs-content://solutions/observability/infra-and-hosts/universal-profiling-index-life-cycle-management.md - title: Index lifecycle management - - page: docs-content://solutions/observability/infra-and-hosts/configure-probabilistic-profiling.md - title: Configure probabilistic profiling - - group: Advanced configuration - page: docs-content://solutions/observability/infra-and-hosts/advanced-configuration.md - children: - - page: docs-content://solutions/observability/infra-and-hosts/tag-data-for-querying.md - title: Tag data for querying - - page: docs-content://solutions/observability/infra-and-hosts/add-symbols-for-native-frames.md - title: Add symbols for native frames - - page: docs-content://solutions/observability/infra-and-hosts/use-proxy-with-universal-profiling-agent.md - title: Use a proxy - - page: docs-content://solutions/observability/infra-and-hosts/override-kernel-version-check.md - title: Override kernel version check - - page: docs-content://solutions/observability/infra-and-hosts/environment-variables-to-configure-universal-profiling-agent.md - title: Environment variables to configure the Universal Profiling Agent - - page: docs-content://solutions/observability/infra-and-hosts/configuration-file-of-universal-profiling-agent.md - title: Configuration file of the Universal Profiling Agent - - page: docs-content://solutions/observability/infra-and-hosts/upgrade-universal-profiling.md - title: Upgrade - - page: docs-content://solutions/observability/infra-and-hosts/run-universal-profiling-on-self-hosted-elastic-stack.md - title: Self-hosted infrastructure - - group: Install the backend - page: docs-content://solutions/observability/infra-and-hosts/install-backend.md - children: - - page: docs-content://solutions/observability/infra-and-hosts/step-1-update-stack.md - title: "Step 1: Update the stack" - - page: docs-content://solutions/observability/infra-and-hosts/step-2-enable-universal-profiling-in-kibana.md - title: "Step 2: Enable Universal Profiling in Kibana" - - page: docs-content://solutions/observability/infra-and-hosts/step-3-set-up-universal-profiling-in-kibana.md - title: "Step 3: Set up Universal Profiling in Kibana" - - page: docs-content://solutions/observability/infra-and-hosts/step-4-run-backend-applications.md - title: "Step 4: Run the backend applications" - - page: docs-content://solutions/observability/infra-and-hosts/step-5-next-steps.md - title: "Step 5: Next steps" - - page: docs-content://solutions/observability/infra-and-hosts/operate-universal-profiling-backend.md - title: Operate the backend - - page: docs-content://solutions/observability/infra-and-hosts/tutorial-observe-kubernetes-deployments.md - title: "Tutorial: Observe your Kubernetes deployments" - - group: "Tutorial: Observe your nginx instances" - page: docs-content://solutions/observability/infra-and-hosts/tutorial-observe-nginx-instances.md - children: - - page: docs-content://solutions/observability/infra-and-hosts/understanding-no-results-found-message.md - title: Understanding "no results found" message - - page: docs-content://solutions/observability/infra-and-hosts/collect-nginx-data-otel-integration-fleet-managed.md - title: Collect NGINX data with OpenTelemetry integrations (Fleet-managed) - - page: docs-content://solutions/observability/infra-and-hosts/collect-nginx-data-otel-integration-standalone.md - title: Collect NGINX data with OpenTelemetry integrations (standalone) - - group: Logs - page: docs-content://solutions/observability/logs.md - children: - - page: docs-content://solutions/observability/logs/get-started-with-system-logs.md - title: Get started with system logs - - page: docs-content://solutions/observability/logs/stream-any-log-file.md - title: Send any log file using Elastic Agent - - page: docs-content://solutions/observability/logs/stream-any-log-file-using-edot-collector.md - title: Send any log file using OTel Collector - - group: Send application log data - page: docs-content://solutions/observability/logs/stream-application-logs.md - children: - - page: docs-content://solutions/observability/logs/plaintext-application-logs.md - title: Plaintext application logs - - page: docs-content://solutions/observability/logs/ecs-formatted-application-logs.md - title: ECS formatted application logs - - page: docs-content://solutions/observability/logs/apm-agent-log-sending.md - title: APM agent log sending - - page: docs-content://solutions/observability/logs/parse-route-logs.md - title: Parse and route logs using ingest pipelines - - page: docs-content://solutions/observability/logs/filter-aggregate-logs.md - title: Filter and aggregate logs - - group: Explore logs - page: docs-content://solutions/observability/logs/explore-logs.md - children: - - page: docs-content://solutions/observability/logs/discover-logs.md - title: Explore logs in Discover - - page: docs-content://solutions/observability/logs/categorize-log-entries.md - title: Categorize log entries - - page: docs-content://solutions/observability/logs/inspect-log-anomalies.md - title: Inspect log anomalies - - page: docs-content://solutions/observability/logs/run-pattern-analysis-on-log-data.md - title: Run a pattern analysis on log data - - page: docs-content://solutions/observability/logs/log-data-sources.md - title: Configure log data sources - - page: docs-content://solutions/observability/logs/logs-data-retention.md - title: Configure log data retention - - page: docs-content://solutions/observability/logs/add-service-name-to-logs.md - title: Add a service name to logs - - group: Logs index template reference - page: docs-content://solutions/observability/logs/logs-index-template-reference.md - children: - - page: docs-content://solutions/observability/logs/logs-index-template-defaults.md - title: Default `logs` index template - - page: docs-content://solutions/observability/streams/streams.md - title: Streams - - page: docs-content://solutions/observability/streams/management/retention.md - title: Manage data retention - - group: Process documents - page: docs-content://solutions/observability/streams/management/extract.md - children: - - page: docs-content://solutions/observability/streams/management/extract/drop.md - title: Drop document processor - - page: docs-content://solutions/observability/streams/management/extract/remove.md - title: Remove processor - - page: docs-content://solutions/observability/streams/management/extract/date.md - title: Date processor - - page: docs-content://solutions/observability/streams/management/extract/convert.md - title: Convert processor - - page: docs-content://solutions/observability/streams/management/extract/replace.md - title: Replace processor - - page: docs-content://solutions/observability/streams/management/extract/dissect.md - title: Dissect processor - - page: docs-content://solutions/observability/streams/management/extract/grok.md - title: Grok processor - - page: docs-content://solutions/observability/streams/management/extract/set.md - title: Set processor - - page: docs-content://solutions/observability/streams/management/extract/math.md - title: Math processor - - page: docs-content://solutions/observability/streams/management/extract/rename.md - title: Rename processor - - page: docs-content://solutions/observability/streams/management/extract/append.md - title: Append processor - - page: docs-content://solutions/observability/streams/management/extract/manual-pipeline-configuration.md - title: Manual pipeline configuration - - page: docs-content://solutions/observability/streams/management/partitioning.md - title: Partition data into child streams - - page: docs-content://solutions/observability/streams/management/schema.md - title: Map fields - - page: docs-content://solutions/observability/streams/management/data-quality.md - title: Manage data quality - - page: docs-content://solutions/observability/streams/management/advanced.md - title: Configure advanced settings - - page: docs-content://solutions/observability/streams/wired-streams.md - title: Wired streams - - group: Incident management - page: docs-content://solutions/observability/incident-management.md - children: - - group: Alerting - page: docs-content://solutions/observability/incident-management/alerting.md - children: - - group: Create and manage rules - page: docs-content://solutions/observability/incident-management/create-manage-rules.md + - page: docs-content://solutions/observability/incident-management/create-an-error-count-threshold-rule.md + title: Error count threshold + - page: docs-content://solutions/observability/incident-management/create-failed-transaction-rate-threshold-rule.md + title: Failed transaction rate threshold + - page: docs-content://solutions/observability/incident-management/create-a-failed-docs-rule.md + title: Failed docs + - page: docs-content://solutions/observability/incident-management/create-an-inventory-rule.md + title: Inventory + - page: docs-content://solutions/observability/incident-management/create-latency-threshold-rule.md + title: Latency threshold + - page: docs-content://solutions/observability/incident-management/create-log-threshold-rule.md + title: Log threshold + - page: docs-content://solutions/observability/incident-management/create-metric-threshold-rule.md + title: Metric threshold + - page: docs-content://solutions/observability/incident-management/create-monitor-status-rule.md + title: Monitor Status + - page: docs-content://solutions/observability/incident-management/create-tls-certificate-rule.md + title: TLS certificate + - page: docs-content://solutions/observability/incident-management/create-an-uptime-duration-anomaly-rule.md + title: Uptime duration anomaly + - page: docs-content://solutions/observability/incident-management/create-an-slo-burn-rate-rule.md + title: SLO burn rate + - group: Aggregation options + page: docs-content://solutions/observability/incident-management/aggregation-options.md + children: + - page: docs-content://solutions/observability/incident-management/rate-aggregation.md + title: Rate aggregation + - group: View and manage alerts + page: docs-content://solutions/observability/incident-management/view-alerts.md + children: + - page: docs-content://solutions/observability/incident-management/triage-slo-burn-rate-breaches.md + title: SLO burn rate breaches + - page: docs-content://solutions/observability/incident-management/triage-threshold-breaches.md + title: Threshold breaches + - page: docs-content://solutions/observability/incident-management/observability-cases.md + title: Cases + - group: Service-level objectives (SLOs) + page: docs-content://solutions/observability/incident-management/service-level-objectives-slos.md children: - - page: docs-content://solutions/observability/incident-management/create-an-anomaly-detection-rule.md - title: Anomaly detection - - page: docs-content://solutions/observability/incident-management/create-an-apm-anomaly-rule.md - title: APM anomaly - - page: docs-content://solutions/observability/incident-management/create-custom-threshold-rule.md - title: Custom threshold - - page: docs-content://solutions/observability/incident-management/create-a-degraded-docs-rule.md - title: Degraded docs - - page: docs-content://solutions/observability/incident-management/create-an-elasticsearch-query-rule.md - title: Elasticsearch query - - page: docs-content://solutions/observability/incident-management/create-an-error-count-threshold-rule.md - title: Error count threshold - - page: docs-content://solutions/observability/incident-management/create-failed-transaction-rate-threshold-rule.md - title: Failed transaction rate threshold - - page: docs-content://solutions/observability/incident-management/create-a-failed-docs-rule.md - title: Failed docs - - page: docs-content://solutions/observability/incident-management/create-an-inventory-rule.md - title: Inventory - - page: docs-content://solutions/observability/incident-management/create-latency-threshold-rule.md - title: Latency threshold - - page: docs-content://solutions/observability/incident-management/create-log-threshold-rule.md - title: Log threshold - - page: docs-content://solutions/observability/incident-management/create-metric-threshold-rule.md - title: Metric threshold - - page: docs-content://solutions/observability/incident-management/create-monitor-status-rule.md - title: Monitor Status - - page: docs-content://solutions/observability/incident-management/create-tls-certificate-rule.md - title: TLS certificate - - page: docs-content://solutions/observability/incident-management/create-an-uptime-duration-anomaly-rule.md - title: Uptime duration anomaly - - page: docs-content://solutions/observability/incident-management/create-an-slo-burn-rate-rule.md - title: SLO burn rate - - group: Aggregation options - page: docs-content://solutions/observability/incident-management/aggregation-options.md - children: - - page: docs-content://solutions/observability/incident-management/rate-aggregation.md - title: Rate aggregation - - group: View and manage alerts - page: docs-content://solutions/observability/incident-management/view-alerts.md - children: - - page: docs-content://solutions/observability/incident-management/triage-slo-burn-rate-breaches.md - title: SLO burn rate breaches - - page: docs-content://solutions/observability/incident-management/triage-threshold-breaches.md - title: Threshold breaches - - page: docs-content://solutions/observability/incident-management/observability-cases.md - title: Cases - - group: Service-level objectives (SLOs) - page: docs-content://solutions/observability/incident-management/service-level-objectives-slos.md + - page: docs-content://solutions/observability/incident-management/configure-service-level-objective-slo-access.md + title: Configure SLO access + - page: docs-content://solutions/observability/incident-management/create-an-slo.md + title: Create an SLO + - page: docs-content://solutions/observability/incident-management/slo-management.md + title: View and manage SLOs + - page: docs-content://solutions/observability/incident-management/configure-slo-settings.md + title: Configure SLOs settings + - page: docs-content://solutions/observability/data-set-quality-monitoring.md + title: Data set quality + - group: AI for Observability + page: docs-content://solutions/observability/ai/observability-ai.md children: - - page: docs-content://solutions/observability/incident-management/configure-service-level-objective-slo-access.md - title: Configure SLO access - - page: docs-content://solutions/observability/incident-management/create-an-slo.md - title: Create an SLO - - page: docs-content://solutions/observability/incident-management/slo-management.md - title: View and manage SLOs - - page: docs-content://solutions/observability/incident-management/configure-slo-settings.md - title: Configure SLOs settings - - page: docs-content://solutions/observability/data-set-quality-monitoring.md - title: Data set quality - - group: AI for Observability - page: docs-content://solutions/observability/ai/observability-ai.md - children: - - page: docs-content://solutions/observability/ai/observability-ai-assistant.md - title: AI Assistant - - page: docs-content://solutions/observability/ai/agent-builder-observability.md - title: Agent Builder for Observability - - page: docs-content://solutions/observability/ai/llm-performance-matrix.md - title: Large language model performance matrix - - page: docs-content://solutions/observability/observability-serverless-feature-tiers.md - title: Serverless feature tiers - - page: docs-content://solutions/observability/apis.md - title: APIs - - group: Security solution - page: docs-content://solutions/security.md - children: - - group: Get started - page: docs-content://solutions/security/get-started.md - children: - - group: Elastic Security quickstarts - page: docs-content://solutions/security/get-started/quickstarts.md - children: - - page: docs-content://solutions/security/get-started/get-started-detect-with-siem.md - title: Detect and respond to threats with SIEM - - page: docs-content://solutions/security/get-started/get-started-endpoint-security.md - title: Protect your hosts with endpoint security - - page: docs-content://solutions/security/get-started/get-started-cloud-security.md - title: Secure your cloud assets with cloud security posture management - - page: docs-content://solutions/security/get-started/elastic-security-requirements.md - title: Elastic Security requirements - - page: docs-content://solutions/security/get-started/elastic-security-ui.md - title: Elastic Security UI - - group: Ingest data to Elastic Security - page: docs-content://solutions/security/get-started/ingest-data-to-elastic-security.md - children: - - page: docs-content://solutions/security/get-started/enable-threat-intelligence-integrations.md - title: Enable threat intelligence integrations - - page: docs-content://solutions/security/get-started/automatic-migration.md - title: Automatic migration - - page: docs-content://solutions/security/get-started/automatic-import.md - title: Automatic import - - page: docs-content://solutions/security/get-started/content-connectors.md - title: Content connectors - - group: Spaces and Elastic Security - page: docs-content://solutions/security/get-started/spaces-elastic-security.md - children: - - page: docs-content://solutions/security/get-started/spaces-defend-faq.md - title: "Spaces and Elastic Defend FAQ" - - page: docs-content://solutions/security/get-started/data-views-elastic-security.md - title: "Data views and Elastic Security" - - page: docs-content://solutions/security/get-started/create-runtime-fields-in-elastic-security.md - title: Create runtime fields in Elastic Security - - page: docs-content://solutions/security/get-started/configure-advanced-settings.md - title: Configure advanced settings - - group: "ES|QL for security" - page: docs-content://solutions/security/esql-for-security.md + - page: docs-content://solutions/observability/ai/observability-ai-assistant.md + title: AI Assistant + - page: docs-content://solutions/observability/ai/agent-builder-observability.md + title: Agent Builder for Observability + - page: docs-content://solutions/observability/ai/llm-performance-matrix.md + title: Large language model performance matrix + - page: docs-content://solutions/observability/observability-serverless-feature-tiers.md + title: Serverless feature tiers + - page: docs-content://solutions/observability/apis.md + title: APIs + - group: Security solution + page: docs-content://solutions/security.md children: - - page: docs-content://solutions/security/esql-for-security/esql-threat-hunting-tutorial.md - title: "Tutorial: Threat hunting with ES|QL" - - group: AI for security - page: docs-content://solutions/security/ai.md - children: - - group: Elastic AI SOC Engine - page: docs-content://solutions/security/ai/ease/ease-intro.md - children: - - page: docs-content://solutions/security/ai/ease/ease-alerts.md - title: Triage alerts - - page: docs-content://solutions/security/ai/ease/ease-upgrade.md - title: Upgrade from EASE to Elastic Security - - group: AI Assistant for Security - page: docs-content://solutions/security/ai/ai-assistant.md + - group: Get started + page: docs-content://solutions/security/get-started.md children: - - page: docs-content://solutions/security/ai/ai-assistant-knowledge-base.md - title: AI Assistant Knowledge Base - - page: docs-content://solutions/security/ai/usecase-knowledge-base-walkthrough.md - title: Use AI Assistant's Knowledge Base to improve response quality - - page: docs-content://solutions/security/ai/agent-builder/agent-builder.md - title: Agent Builder for Elastic Security - - page: docs-content://solutions/security/ai/attack-discovery.md - title: Attack Discovery - - page: docs-content://solutions/security/ai/large-language-model-performance-matrix.md - title: Large language model performance matrix - - group: AI use cases - page: docs-content://solutions/security/ai/use-cases.md - children: - - page: docs-content://solutions/security/ai/triage-alerts.md - title: Triage alerts - - page: docs-content://solutions/security/ai/identify-investigate-document-threats.md - title: Identify, investigate, and document threats - - page: docs-content://solutions/security/ai/generate-customize-learn-about-esorql-queries.md - title: "Generate, customize, and learn about ES|QL queries" - - page: docs-content://solutions/security/ai/ease/ease-value-report.md - title: Value report - - group: Detections and alerts - page: docs-content://solutions/security/detect-and-alert.md - children: - - group: Before you begin - page: docs-content://solutions/security/detect-and-alert/before-you-begin.md + - group: Elastic Security quickstarts + page: docs-content://solutions/security/get-started/quickstarts.md + children: + - page: docs-content://solutions/security/get-started/get-started-detect-with-siem.md + title: Detect and respond to threats with SIEM + - page: docs-content://solutions/security/get-started/get-started-endpoint-security.md + title: Protect your hosts with endpoint security + - page: docs-content://solutions/security/get-started/get-started-cloud-security.md + title: Secure your cloud assets with cloud security posture management + - page: docs-content://solutions/security/get-started/elastic-security-requirements.md + title: Elastic Security requirements + - page: docs-content://solutions/security/get-started/elastic-security-ui.md + title: Elastic Security UI + - group: Ingest data to Elastic Security + page: docs-content://solutions/security/get-started/ingest-data-to-elastic-security.md + children: + - page: docs-content://solutions/security/get-started/enable-threat-intelligence-integrations.md + title: Enable threat intelligence integrations + - page: docs-content://solutions/security/get-started/automatic-migration.md + title: Automatic migration + - page: docs-content://solutions/security/get-started/automatic-import.md + title: Automatic import + - page: docs-content://solutions/security/get-started/content-connectors.md + title: Content connectors + - group: Spaces and Elastic Security + page: docs-content://solutions/security/get-started/spaces-elastic-security.md + children: + - page: docs-content://solutions/security/get-started/spaces-defend-faq.md + title: "Spaces and Elastic Defend FAQ" + - page: docs-content://solutions/security/get-started/data-views-elastic-security.md + title: "Data views and Elastic Security" + - page: docs-content://solutions/security/get-started/create-runtime-fields-in-elastic-security.md + title: Create runtime fields in Elastic Security + - page: docs-content://solutions/security/get-started/configure-advanced-settings.md + title: Configure advanced settings + - group: "ES|QL for security" + page: docs-content://solutions/security/esql-for-security.md children: - - page: docs-content://solutions/security/detect-and-alert/turn-on-detections.md - title: Turn on detections - - page: docs-content://solutions/security/detect-and-alert/detections-privileges.md - title: Detections privileges - - page: docs-content://solutions/security/detect-and-alert/detection-rule-concepts.md - title: Detection rule concepts - - group: Advanced data source configuration - page: docs-content://solutions/security/detect-and-alert/advanced-data-source-configuration.md - children: - - page: docs-content://solutions/security/detect-and-alert/cross-cluster-search-detection-rules.md - title: Cross-cluster search and detection rules - - page: docs-content://solutions/security/detect-and-alert/using-logsdb-index-mode-with-elastic-security.md - title: Using logsdb index mode with Elastic Security - - page: docs-content://solutions/security/detect-and-alert/mitre-attack-coverage.md - title: "MITRE ATT&CK coverage" - - group: Prebuilt rules - page: docs-content://solutions/security/detect-and-alert/prebuilt-rules.md + - page: docs-content://solutions/security/esql-for-security/esql-threat-hunting-tutorial.md + title: "Tutorial: Threat hunting with ES|QL" + - group: AI for security + page: docs-content://solutions/security/ai.md children: - - page: docs-content://solutions/security/detect-and-alert/prebuilt-rule-components.md - title: Prebuilt rule components - - page: docs-content://solutions/security/detect-and-alert/install-prebuilt-rules.md - title: Install prebuilt rules - - page: docs-content://solutions/security/detect-and-alert/update-prebuilt-rules.md - title: Update prebuilt rules - - page: docs-content://solutions/security/detect-and-alert/prebuilt-rules-airgapped.md - title: Prebuilt rules in air-gapped environments - - page: docs-content://solutions/security/detect-and-alert/customize-prebuilt-rules.md - title: Customize prebuilt rules - - group: Author rules - page: docs-content://solutions/security/detect-and-alert/author-rules.md + - group: Elastic AI SOC Engine + page: docs-content://solutions/security/ai/ease/ease-intro.md + children: + - page: docs-content://solutions/security/ai/ease/ease-alerts.md + title: Triage alerts + - page: docs-content://solutions/security/ai/ease/ease-upgrade.md + title: Upgrade from EASE to Elastic Security + - group: AI Assistant for Security + page: docs-content://solutions/security/ai/ai-assistant.md + children: + - page: docs-content://solutions/security/ai/ai-assistant-knowledge-base.md + title: AI Assistant Knowledge Base + - page: docs-content://solutions/security/ai/usecase-knowledge-base-walkthrough.md + title: Use AI Assistant's Knowledge Base to improve response quality + - page: docs-content://solutions/security/ai/agent-builder/agent-builder.md + title: Agent Builder for Elastic Security + - page: docs-content://solutions/security/ai/attack-discovery.md + title: Attack Discovery + - page: docs-content://solutions/security/ai/large-language-model-performance-matrix.md + title: Large language model performance matrix + - group: AI use cases + page: docs-content://solutions/security/ai/use-cases.md + children: + - page: docs-content://solutions/security/ai/triage-alerts.md + title: Triage alerts + - page: docs-content://solutions/security/ai/identify-investigate-document-threats.md + title: Identify, investigate, and document threats + - page: docs-content://solutions/security/ai/generate-customize-learn-about-esorql-queries.md + title: "Generate, customize, and learn about ES|QL queries" + - page: docs-content://solutions/security/ai/ease/ease-value-report.md + title: Value report + - group: Detections and alerts + page: docs-content://solutions/security/detect-and-alert.md children: - - group: Choose the right rule type - page: docs-content://solutions/security/detect-and-alert/choose-the-right-rule-type.md - children: - - page: docs-content://solutions/security/detect-and-alert/about-building-block-rules.md - title: About building block rules - - group: Rule type guides - page: docs-content://solutions/security/detect-and-alert/rule-types.md - children: - - page: docs-content://solutions/security/detect-and-alert/esql.md - title: "ES|QL rules" - - page: docs-content://solutions/security/detect-and-alert/custom-query.md - title: Custom query rules - - page: docs-content://solutions/security/detect-and-alert/eql.md - title: Event correlation (EQL) rules - - page: docs-content://solutions/security/detect-and-alert/indicator-match.md - title: Indicator match rules - - page: docs-content://solutions/security/detect-and-alert/threshold.md - title: Threshold rules - - page: docs-content://solutions/security/detect-and-alert/machine-learning.md - title: "Machine learning rules" - - page: docs-content://solutions/security/detect-and-alert/new-terms.md - title: New terms rules - - page: docs-content://solutions/security/detect-and-alert/using-the-rule-ui.md - title: Using the UI - - page: docs-content://solutions/security/detect-and-alert/using-the-api.md - title: Using the API - - page: docs-content://solutions/security/detect-and-alert/common-rule-settings.md - title: Common rule settings - - page: docs-content://solutions/security/detect-and-alert/set-rule-data-sources.md - title: Set rule data sources - - page: docs-content://solutions/security/detect-and-alert/write-investigation-guides.md - title: Write investigation guides - - page: docs-content://solutions/security/detect-and-alert/validate-and-test-rules.md - title: Validate and test rules - - page: docs-content://solutions/security/detect-and-alert/manage-detection-rules.md - title: Manage detection rules - - group: Monitor rule executions - page: docs-content://solutions/security/detect-and-alert/monitor-rule-executions.md + - group: Before you begin + page: docs-content://solutions/security/detect-and-alert/before-you-begin.md + children: + - page: docs-content://solutions/security/detect-and-alert/turn-on-detections.md + title: Turn on detections + - page: docs-content://solutions/security/detect-and-alert/detections-privileges.md + title: Detections privileges + - page: docs-content://solutions/security/detect-and-alert/detection-rule-concepts.md + title: Detection rule concepts + - group: Advanced data source configuration + page: docs-content://solutions/security/detect-and-alert/advanced-data-source-configuration.md + children: + - page: docs-content://solutions/security/detect-and-alert/cross-cluster-search-detection-rules.md + title: Cross-cluster search and detection rules + - page: docs-content://solutions/security/detect-and-alert/using-logsdb-index-mode-with-elastic-security.md + title: Using logsdb index mode with Elastic Security + - page: docs-content://solutions/security/detect-and-alert/mitre-attack-coverage.md + title: "MITRE ATT&CK coverage" + - group: Prebuilt rules + page: docs-content://solutions/security/detect-and-alert/prebuilt-rules.md + children: + - page: docs-content://solutions/security/detect-and-alert/prebuilt-rule-components.md + title: Prebuilt rule components + - page: docs-content://solutions/security/detect-and-alert/install-prebuilt-rules.md + title: Install prebuilt rules + - page: docs-content://solutions/security/detect-and-alert/update-prebuilt-rules.md + title: Update prebuilt rules + - page: docs-content://solutions/security/detect-and-alert/prebuilt-rules-airgapped.md + title: Prebuilt rules in air-gapped environments + - page: docs-content://solutions/security/detect-and-alert/customize-prebuilt-rules.md + title: Customize prebuilt rules + - group: Author rules + page: docs-content://solutions/security/detect-and-alert/author-rules.md + children: + - group: Choose the right rule type + page: docs-content://solutions/security/detect-and-alert/choose-the-right-rule-type.md + children: + - page: docs-content://solutions/security/detect-and-alert/about-building-block-rules.md + title: About building block rules + - group: Rule type guides + page: docs-content://solutions/security/detect-and-alert/rule-types.md + children: + - page: docs-content://solutions/security/detect-and-alert/esql.md + title: "ES|QL rules" + - page: docs-content://solutions/security/detect-and-alert/custom-query.md + title: Custom query rules + - page: docs-content://solutions/security/detect-and-alert/eql.md + title: Event correlation (EQL) rules + - page: docs-content://solutions/security/detect-and-alert/indicator-match.md + title: Indicator match rules + - page: docs-content://solutions/security/detect-and-alert/threshold.md + title: Threshold rules + - page: docs-content://solutions/security/detect-and-alert/machine-learning.md + title: "Machine learning rules" + - page: docs-content://solutions/security/detect-and-alert/new-terms.md + title: New terms rules + - page: docs-content://solutions/security/detect-and-alert/using-the-rule-ui.md + title: Using the UI + - page: docs-content://solutions/security/detect-and-alert/using-the-api.md + title: Using the API + - page: docs-content://solutions/security/detect-and-alert/common-rule-settings.md + title: Common rule settings + - page: docs-content://solutions/security/detect-and-alert/set-rule-data-sources.md + title: Set rule data sources + - page: docs-content://solutions/security/detect-and-alert/write-investigation-guides.md + title: Write investigation guides + - page: docs-content://solutions/security/detect-and-alert/validate-and-test-rules.md + title: Validate and test rules + - page: docs-content://solutions/security/detect-and-alert/manage-detection-rules.md + title: Manage detection rules + - group: Monitor rule executions + page: docs-content://solutions/security/detect-and-alert/monitor-rule-executions.md + children: + - page: docs-content://solutions/security/detect-and-alert/fill-rule-gaps.md + title: Fill rule execution gaps + - group: Reduce noise and false positives + page: docs-content://solutions/security/detect-and-alert/reduce-noise-and-false-positives.md + children: + - page: docs-content://solutions/security/detect-and-alert/tune-detection-rules.md + title: Tune detection rules + - group: Rule exceptions + page: docs-content://solutions/security/detect-and-alert/rule-exceptions.md + children: + - page: docs-content://solutions/security/detect-and-alert/create-manage-value-lists.md + title: Create and manage value lists + - page: docs-content://solutions/security/detect-and-alert/add-manage-exceptions.md + title: Add and manage exceptions + - page: docs-content://solutions/security/detect-and-alert/create-manage-shared-exception-lists.md + title: Create and manage shared exception lists + - page: docs-content://solutions/security/detect-and-alert/alert-suppression.md + title: Suppress detection alerts + - group: Manage detection alerts + page: docs-content://solutions/security/detect-and-alert/manage-detection-alerts.md + children: + - page: docs-content://solutions/security/detect-and-alert/visualize-detection-alerts.md + title: Visualize detection alerts + - page: docs-content://solutions/security/detect-and-alert/view-detection-alert-details.md + title: View detection alert details + - page: docs-content://solutions/security/detect-and-alert/query-alert-indices.md + title: Query alert indices + - group: "Configure endpoint protection with Elastic Defend" + page: docs-content://solutions/security/configure-elastic-defend.md children: - - page: docs-content://solutions/security/detect-and-alert/fill-rule-gaps.md - title: Fill rule execution gaps - - group: Reduce noise and false positives - page: docs-content://solutions/security/detect-and-alert/reduce-noise-and-false-positives.md + - page: docs-content://solutions/security/configure-elastic-defend/elastic-defend-requirements.md + title: "Elastic Defend requirements" + - group: "Install Elastic Defend" + page: docs-content://solutions/security/configure-elastic-defend/install-elastic-defend.md + children: + - page: docs-content://solutions/security/configure-elastic-defend/enable-access-for-macos.md + title: Enable access on macOS + - page: docs-content://solutions/security/configure-elastic-defend/deploy-on-macos-with-mdm.md + title: Deploy on macOS with MDM + - page: docs-content://solutions/security/configure-elastic-defend/prevent-elastic-agent-uninstallation.md + title: Prevent Elastic Agent uninstallation + - page: docs-content://solutions/security/configure-elastic-defend/elastic-defend-feature-privileges.md + title: "Elastic Defend feature privileges" + - group: "Configure an integration policy for Elastic Defend" + page: docs-content://solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md + children: + - page: docs-content://solutions/security/configure-elastic-defend/configure-updates-for-protection-artifacts.md + title: Configure updates for protection artifacts + - page: docs-content://solutions/security/configure-elastic-defend/turn-off-diagnostic-data-for-elastic-defend.md + title: "Turn off diagnostic data for Elastic Defend" + - page: docs-content://solutions/security/configure-elastic-defend/configure-self-healing-rollback-for-windows-endpoints.md + title: Configure self-healing rollback for Windows endpoints + - page: docs-content://solutions/security/configure-elastic-defend/configure-linux-file-system-monitoring.md + title: Configure Linux file system monitoring + - page: docs-content://solutions/security/configure-elastic-defend/configure-data-volume-for-elastic-endpoint.md + title: Configure data volume + - page: docs-content://solutions/security/configure-elastic-defend/create-an-elastic-defend-policy-using-api.md + title: Create an Elastic Defend policy using API + - page: docs-content://solutions/security/configure-elastic-defend/configure-offline-endpoints-air-gapped-environments.md + title: Configure offline endpoints and air-gapped environments + - page: docs-content://solutions/security/configure-elastic-defend/uninstall-elastic-agent.md + title: Uninstall Elastic Agent + - group: "Manage Elastic Defend" + page: docs-content://solutions/security/manage-elastic-defend.md children: - - page: docs-content://solutions/security/detect-and-alert/tune-detection-rules.md - title: Tune detection rules - - group: Rule exceptions - page: docs-content://solutions/security/detect-and-alert/rule-exceptions.md - children: - - page: docs-content://solutions/security/detect-and-alert/create-manage-value-lists.md - title: Create and manage value lists - - page: docs-content://solutions/security/detect-and-alert/add-manage-exceptions.md - title: Add and manage exceptions - - page: docs-content://solutions/security/detect-and-alert/create-manage-shared-exception-lists.md - title: Create and manage shared exception lists - - page: docs-content://solutions/security/detect-and-alert/alert-suppression.md - title: Suppress detection alerts - - group: Manage detection alerts - page: docs-content://solutions/security/detect-and-alert/manage-detection-alerts.md + - page: docs-content://solutions/security/manage-elastic-defend/endpoints.md + title: Endpoints + - page: docs-content://solutions/security/manage-elastic-defend/policies.md + title: Policies + - page: docs-content://solutions/security/manage-elastic-defend/trusted-applications.md + title: Trusted applications + - page: docs-content://solutions/security/manage-elastic-defend/trusted-devices.md + title: Trusted devices + - page: docs-content://solutions/security/manage-elastic-defend/event-filters.md + title: Event filters + - page: docs-content://solutions/security/manage-elastic-defend/host-isolation-exceptions.md + title: Host isolation exceptions + - page: docs-content://solutions/security/manage-elastic-defend/blocklist.md + title: Blocklist + - page: docs-content://solutions/security/manage-elastic-defend/optimize-elastic-defend.md + title: "Optimize Elastic Defend" + - page: docs-content://solutions/security/manage-elastic-defend/event-capture-elastic-defend.md + title: "Event capture and Elastic Defend" + - page: docs-content://solutions/security/manage-elastic-defend/endpoint-protection-rules.md + title: Endpoint protection rules + - page: docs-content://solutions/security/manage-elastic-defend/automatic-troubleshooting.md + title: Automatic troubleshooting + - page: docs-content://solutions/security/manage-elastic-defend/allowlist-elastic-endpoint-in-third-party-antivirus-apps.md + title: "Allowlist Elastic Endpoint in third-party antivirus apps" + - page: docs-content://solutions/security/manage-elastic-defend/elastic-endpoint-self-protection-features.md + title: "Elastic Endpoint self-protection features" + - group: Endpoint response actions + page: docs-content://solutions/security/endpoint-response-actions.md children: - - page: docs-content://solutions/security/detect-and-alert/visualize-detection-alerts.md - title: Visualize detection alerts - - page: docs-content://solutions/security/detect-and-alert/view-detection-alert-details.md - title: View detection alert details - - page: docs-content://solutions/security/detect-and-alert/query-alert-indices.md - title: Query alert indices - - group: "Configure endpoint protection with Elastic Defend" - page: docs-content://solutions/security/configure-elastic-defend.md - children: - - page: docs-content://solutions/security/configure-elastic-defend/elastic-defend-requirements.md - title: "Elastic Defend requirements" - - group: "Install Elastic Defend" - page: docs-content://solutions/security/configure-elastic-defend/install-elastic-defend.md + - page: docs-content://solutions/security/endpoint-response-actions/automated-response-actions.md + title: Automated response actions + - page: docs-content://solutions/security/endpoint-response-actions/isolate-host.md + title: Isolate a host + - page: docs-content://solutions/security/endpoint-response-actions/response-actions-history.md + title: Response actions history + - page: docs-content://solutions/security/endpoint-response-actions/third-party-response-actions.md + title: Third-party response actions + - page: docs-content://solutions/security/endpoint-response-actions/configure-third-party-response-actions.md + title: Configure third-party response actions + - group: Cloud Security + page: docs-content://solutions/security/cloud.md children: - - page: docs-content://solutions/security/configure-elastic-defend/enable-access-for-macos.md - title: Enable access on macOS - - page: docs-content://solutions/security/configure-elastic-defend/deploy-on-macos-with-mdm.md - title: Deploy on macOS with MDM - - page: docs-content://solutions/security/configure-elastic-defend/prevent-elastic-agent-uninstallation.md - title: Prevent Elastic Agent uninstallation - - page: docs-content://solutions/security/configure-elastic-defend/elastic-defend-feature-privileges.md - title: "Elastic Defend feature privileges" - - group: "Configure an integration policy for Elastic Defend" - page: docs-content://solutions/security/configure-elastic-defend/configure-an-integration-policy-for-elastic-defend.md + - page: docs-content://solutions/security/cloud/security-posture-management-overview.md + title: Security posture management overview + - page: docs-content://solutions/security/cloud/enable-cloud-security-features.md + title: "Enable cloud security features in Serverless" + - group: Cloud security posture management + page: docs-content://solutions/security/cloud/cloud-security-posture-management.md + children: + - page: docs-content://solutions/security/cloud/get-started-with-cspm-for-aws.md + title: Get started with CSPM for AWS + - page: docs-content://solutions/security/cloud/get-started-with-cspm-for-gcp.md + title: Get started with CSPM for GCP + - page: docs-content://solutions/security/cloud/get-started-with-cspm-for-azure.md + title: Get started with CSPM for Azure + - page: docs-content://solutions/security/cloud/cspm-privilege-requirements.md + title: CSPM privilege requirements + - page: docs-content://solutions/security/cloud/findings-page.md + title: CSPM Findings + - page: docs-content://solutions/security/cloud/benchmarks.md + title: CSPM benchmarks + - page: docs-content://solutions/security/cloud/cspm-dashboard.md + title: Cloud Security Posture dashboard + - page: docs-content://solutions/security/cloud/cspm-frequently-asked-questions-faq.md + title: Frequently asked questions (FAQ) + - group: Kubernetes security posture management + page: docs-content://solutions/security/cloud/kubernetes-security-posture-management.md + children: + - page: docs-content://solutions/security/cloud/get-started-with-kspm.md + title: Get started with KSPM + - page: docs-content://solutions/security/cloud/findings-page-2.md + title: KSPM Findings + - page: docs-content://solutions/security/cloud/kspm-benchmarks.md + title: KSPM benchmarks + - page: docs-content://solutions/security/cloud/kspm-dashboard.md + title: Cloud Security Posture dashboard + - page: docs-content://solutions/security/cloud/kspm-frequently-asked-questions.md + title: Frequently asked questions (FAQ) + - group: Cloud Asset Discovery + page: docs-content://solutions/security/cloud/asset-disc.md + children: + - page: docs-content://solutions/security/cloud/asset-disc-aws.md + title: Set up Cloud Asset Discovery for AWS + - page: docs-content://solutions/security/cloud/asset-disc-gcp.md + title: Set up Cloud Asset Discovery for GCP + - page: docs-content://solutions/security/cloud/asset-disc-azure.md + title: Set up Cloud Asset Discovery for Azure + - group: Cloud native vulnerability management + page: docs-content://solutions/security/cloud/cloud-native-vulnerability-management.md + children: + - page: docs-content://solutions/security/cloud/get-started-with-cnvm.md + title: Get started with CNVM + - page: docs-content://solutions/security/cloud/cnvm-privilege-requirements.md + title: CNVM privilege requirements + - page: docs-content://solutions/security/cloud/findings-page-3.md + title: CNVM Findings + - page: docs-content://solutions/security/cloud/cnvm-dashboard.md + title: CNVM dashboard + - page: docs-content://solutions/security/cloud/cnvm-frequently-asked-questions-faq.md + title: Frequently asked questions (FAQ) + - group: Cloud workload protection for VMs + page: docs-content://solutions/security/cloud/cloud-workload-protection-for-vms.md + children: + - page: docs-content://solutions/security/cloud/capture-environment-variables.md + title: Capture environment variables + - group: Cloud workload protection for Kubernetes + page: docs-content://solutions/security/cloud/d4c/d4c-overview.md + children: + - page: docs-content://solutions/security/cloud/d4c/get-started-with-d4c.md + title: Get started with Defend for Containers for Kubernetes + - page: docs-content://solutions/security/cloud/d4c/d4c-policies.md + title: Container workload protection policies + - page: docs-content://solutions/security/cloud/d4c/kubernetes-dashboard.md + title: Kubernetes dashboard + - group: Ingest third-party security data + page: docs-content://solutions/security/integrations/ingest-third-party-security-data.md children: - - page: docs-content://solutions/security/configure-elastic-defend/configure-updates-for-protection-artifacts.md - title: Configure updates for protection artifacts - - page: docs-content://solutions/security/configure-elastic-defend/turn-off-diagnostic-data-for-elastic-defend.md - title: "Turn off diagnostic data for Elastic Defend" - - page: docs-content://solutions/security/configure-elastic-defend/configure-self-healing-rollback-for-windows-endpoints.md - title: Configure self-healing rollback for Windows endpoints - - page: docs-content://solutions/security/configure-elastic-defend/configure-linux-file-system-monitoring.md - title: Configure Linux file system monitoring - - page: docs-content://solutions/security/configure-elastic-defend/configure-data-volume-for-elastic-endpoint.md - title: Configure data volume - - page: docs-content://solutions/security/configure-elastic-defend/create-an-elastic-defend-policy-using-api.md - title: Create an Elastic Defend policy using API - - page: docs-content://solutions/security/configure-elastic-defend/configure-offline-endpoints-air-gapped-environments.md - title: Configure offline endpoints and air-gapped environments - - page: docs-content://solutions/security/configure-elastic-defend/uninstall-elastic-agent.md - title: Uninstall Elastic Agent - - group: "Manage Elastic Defend" - page: docs-content://solutions/security/manage-elastic-defend.md - children: - - page: docs-content://solutions/security/manage-elastic-defend/endpoints.md - title: Endpoints - - page: docs-content://solutions/security/manage-elastic-defend/policies.md - title: Policies - - page: docs-content://solutions/security/manage-elastic-defend/trusted-applications.md - title: Trusted applications - - page: docs-content://solutions/security/manage-elastic-defend/trusted-devices.md - title: Trusted devices - - page: docs-content://solutions/security/manage-elastic-defend/event-filters.md - title: Event filters - - page: docs-content://solutions/security/manage-elastic-defend/host-isolation-exceptions.md - title: Host isolation exceptions - - page: docs-content://solutions/security/manage-elastic-defend/blocklist.md - title: Blocklist - - page: docs-content://solutions/security/manage-elastic-defend/optimize-elastic-defend.md - title: "Optimize Elastic Defend" - - page: docs-content://solutions/security/manage-elastic-defend/event-capture-elastic-defend.md - title: "Event capture and Elastic Defend" - - page: docs-content://solutions/security/manage-elastic-defend/endpoint-protection-rules.md - title: Endpoint protection rules - - page: docs-content://solutions/security/manage-elastic-defend/automatic-troubleshooting.md - title: Automatic troubleshooting - - page: docs-content://solutions/security/manage-elastic-defend/allowlist-elastic-endpoint-in-third-party-antivirus-apps.md - title: "Allowlist Elastic Endpoint in third-party antivirus apps" - - page: docs-content://solutions/security/manage-elastic-defend/elastic-endpoint-self-protection-features.md - title: "Elastic Endpoint self-protection features" - - group: Endpoint response actions - page: docs-content://solutions/security/endpoint-response-actions.md - children: - - page: docs-content://solutions/security/endpoint-response-actions/automated-response-actions.md - title: Automated response actions - - page: docs-content://solutions/security/endpoint-response-actions/isolate-host.md - title: Isolate a host - - page: docs-content://solutions/security/endpoint-response-actions/response-actions-history.md - title: Response actions history - - page: docs-content://solutions/security/endpoint-response-actions/third-party-response-actions.md - title: Third-party response actions - - page: docs-content://solutions/security/endpoint-response-actions/configure-third-party-response-actions.md - title: Configure third-party response actions - - group: Cloud Security - page: docs-content://solutions/security/cloud.md - children: - - page: docs-content://solutions/security/cloud/security-posture-management-overview.md - title: Security posture management overview - - page: docs-content://solutions/security/cloud/enable-cloud-security-features.md - title: "Enable cloud security features in Serverless" - - group: Cloud security posture management - page: docs-content://solutions/security/cloud/cloud-security-posture-management.md + - page: docs-content://solutions/security/integrations/aws-config.md + title: AWS Config + - page: docs-content://solutions/security/integrations/aws-inspector.md + title: AWS Inspector + - page: docs-content://solutions/security/integrations/aws-sec-hub.md + title: AWS Security Hub + - page: docs-content://solutions/security/integrations/aws-security-hub-cspm.md + title: AWS Security Hub CSPM + - page: docs-content://solutions/security/integrations/cncf-falco.md + title: CNCF Falco + - page: docs-content://solutions/security/integrations/google-security-command-center.md + title: Google Security Command Center + - page: docs-content://solutions/security/integrations/microsoft-defender-for-cloud.md + title: Microsoft Defender for Cloud + - page: docs-content://solutions/security/integrations/microsoft-defender-for-endpoint.md + title: Microsoft Defender for Endpoint + - page: docs-content://solutions/security/integrations/microsoft-defender-xdr.md + title: Microsoft Defender XDR + - page: docs-content://solutions/security/integrations/prisma-cloud.md + title: Prisma Cloud + - page: docs-content://solutions/security/integrations/qualys.md + title: Qualys VMDR + - page: docs-content://solutions/security/integrations/rapid7.md + title: Rapid7 InsightVM + - page: docs-content://solutions/security/integrations/tenablevm.md + title: Tenable VM + - page: docs-content://solutions/security/integrations/wiz.md + title: Wiz + - group: Investigation tools + page: docs-content://solutions/security/investigate.md children: - - page: docs-content://solutions/security/cloud/get-started-with-cspm-for-aws.md - title: Get started with CSPM for AWS - - page: docs-content://solutions/security/cloud/get-started-with-cspm-for-gcp.md - title: Get started with CSPM for GCP - - page: docs-content://solutions/security/cloud/get-started-with-cspm-for-azure.md - title: Get started with CSPM for Azure - - page: docs-content://solutions/security/cloud/cspm-privilege-requirements.md - title: CSPM privilege requirements - - page: docs-content://solutions/security/cloud/findings-page.md - title: CSPM Findings - - page: docs-content://solutions/security/cloud/benchmarks.md - title: CSPM benchmarks - - page: docs-content://solutions/security/cloud/cspm-dashboard.md - title: Cloud Security Posture dashboard - - page: docs-content://solutions/security/cloud/cspm-frequently-asked-questions-faq.md - title: Frequently asked questions (FAQ) - - group: Kubernetes security posture management - page: docs-content://solutions/security/cloud/kubernetes-security-posture-management.md + - group: Timeline + page: docs-content://solutions/security/investigate/timeline.md + children: + - page: docs-content://solutions/security/investigate/timeline-templates.md + title: Timeline templates + - page: docs-content://solutions/security/investigate/visual-event-analyzer.md + title: Visual event analyzer + - page: docs-content://solutions/security/investigate/session-view.md + title: Session View + - group: Osquery + page: docs-content://solutions/security/investigate/osquery.md + children: + - page: docs-content://solutions/security/investigate/manage-integration.md + title: Osquery manager integration + - page: docs-content://solutions/security/investigate/osquery-faq.md + title: Osquery FAQ + - page: docs-content://solutions/security/investigate/add-osquery-response-actions.md + title: Add Osquery Response Actions + - page: docs-content://solutions/security/investigate/run-osquery-from-investigation-guides.md + title: Run Osquery from investigation guides + - page: docs-content://solutions/security/investigate/run-osquery-from-alerts.md + title: Run Osquery from alerts + - page: docs-content://solutions/security/investigate/examine-osquery-results.md + title: Examine Osquery results + - page: docs-content://solutions/security/investigate/use-placeholder-fields-in-osquery-queries.md + title: Use placeholder fields in Osquery queries + - page: docs-content://solutions/security/investigate/notes.md + title: Notes + - page: docs-content://solutions/security/investigate/indicators-of-compromise.md + title: Indicators of compromise + - page: docs-content://solutions/security/investigate/security-cases.md + title: Cases + - group: Dashboards + page: docs-content://solutions/security/dashboards.md children: - - page: docs-content://solutions/security/cloud/get-started-with-kspm.md - title: Get started with KSPM - - page: docs-content://solutions/security/cloud/findings-page-2.md - title: KSPM Findings - - page: docs-content://solutions/security/cloud/kspm-benchmarks.md - title: KSPM benchmarks - - page: docs-content://solutions/security/cloud/kspm-dashboard.md + - page: docs-content://solutions/security/dashboards/overview-dashboard.md + title: Overview dashboard + - page: docs-content://solutions/security/dashboards/detection-response-dashboard.md + title: "Detection & Response dashboard" + - page: docs-content://solutions/security/dashboards/cloud-security-posture-dashboard.md title: Cloud Security Posture dashboard - - page: docs-content://solutions/security/cloud/kspm-frequently-asked-questions.md - title: Frequently asked questions (FAQ) - - group: Cloud Asset Discovery - page: docs-content://solutions/security/cloud/asset-disc.md - children: - - page: docs-content://solutions/security/cloud/asset-disc-aws.md - title: Set up Cloud Asset Discovery for AWS - - page: docs-content://solutions/security/cloud/asset-disc-gcp.md - title: Set up Cloud Asset Discovery for GCP - - page: docs-content://solutions/security/cloud/asset-disc-azure.md - title: Set up Cloud Asset Discovery for Azure - - group: Cloud native vulnerability management - page: docs-content://solutions/security/cloud/cloud-native-vulnerability-management.md - children: - - page: docs-content://solutions/security/cloud/get-started-with-cnvm.md - title: Get started with CNVM - - page: docs-content://solutions/security/cloud/cnvm-privilege-requirements.md - title: CNVM privilege requirements - - page: docs-content://solutions/security/cloud/findings-page-3.md - title: CNVM Findings - - page: docs-content://solutions/security/cloud/cnvm-dashboard.md - title: CNVM dashboard - - page: docs-content://solutions/security/cloud/cnvm-frequently-asked-questions-faq.md - title: Frequently asked questions (FAQ) - - group: Cloud workload protection for VMs - page: docs-content://solutions/security/cloud/cloud-workload-protection-for-vms.md - children: - - page: docs-content://solutions/security/cloud/capture-environment-variables.md - title: Capture environment variables - - group: Cloud workload protection for Kubernetes - page: docs-content://solutions/security/cloud/d4c/d4c-overview.md - children: - - page: docs-content://solutions/security/cloud/d4c/get-started-with-d4c.md - title: Get started with Defend for Containers for Kubernetes - - page: docs-content://solutions/security/cloud/d4c/d4c-policies.md - title: Container workload protection policies - - page: docs-content://solutions/security/cloud/d4c/kubernetes-dashboard.md + - page: docs-content://solutions/security/dashboards/kubernetes-dashboard.md title: Kubernetes dashboard - - group: Ingest third-party security data - page: docs-content://solutions/security/integrations/ingest-third-party-security-data.md - children: - - page: docs-content://solutions/security/integrations/aws-config.md - title: AWS Config - - page: docs-content://solutions/security/integrations/aws-inspector.md - title: AWS Inspector - - page: docs-content://solutions/security/integrations/aws-sec-hub.md - title: AWS Security Hub - - page: docs-content://solutions/security/integrations/aws-security-hub-cspm.md - title: AWS Security Hub CSPM - - page: docs-content://solutions/security/integrations/cncf-falco.md - title: CNCF Falco - - page: docs-content://solutions/security/integrations/google-security-command-center.md - title: Google Security Command Center - - page: docs-content://solutions/security/integrations/microsoft-defender-for-cloud.md - title: Microsoft Defender for Cloud - - page: docs-content://solutions/security/integrations/microsoft-defender-for-endpoint.md - title: Microsoft Defender for Endpoint - - page: docs-content://solutions/security/integrations/microsoft-defender-xdr.md - title: Microsoft Defender XDR - - page: docs-content://solutions/security/integrations/prisma-cloud.md - title: Prisma Cloud - - page: docs-content://solutions/security/integrations/qualys.md - title: Qualys VMDR - - page: docs-content://solutions/security/integrations/rapid7.md - title: Rapid7 InsightVM - - page: docs-content://solutions/security/integrations/tenablevm.md - title: Tenable VM - - page: docs-content://solutions/security/integrations/wiz.md - title: Wiz - - group: Investigation tools - page: docs-content://solutions/security/investigate.md - children: - - group: Timeline - page: docs-content://solutions/security/investigate/timeline.md - children: - - page: docs-content://solutions/security/investigate/timeline-templates.md - title: Timeline templates - - page: docs-content://solutions/security/investigate/visual-event-analyzer.md - title: Visual event analyzer - - page: docs-content://solutions/security/investigate/session-view.md - title: Session View - - group: Osquery - page: docs-content://solutions/security/investigate/osquery.md - children: - - page: docs-content://solutions/security/investigate/manage-integration.md - title: Osquery manager integration - - page: docs-content://solutions/security/investigate/osquery-faq.md - title: Osquery FAQ - - page: docs-content://solutions/security/investigate/add-osquery-response-actions.md - title: Add Osquery Response Actions - - page: docs-content://solutions/security/investigate/run-osquery-from-investigation-guides.md - title: Run Osquery from investigation guides - - page: docs-content://solutions/security/investigate/run-osquery-from-alerts.md - title: Run Osquery from alerts - - page: docs-content://solutions/security/investigate/examine-osquery-results.md - title: Examine Osquery results - - page: docs-content://solutions/security/investigate/use-placeholder-fields-in-osquery-queries.md - title: Use placeholder fields in Osquery queries - - page: docs-content://solutions/security/investigate/notes.md - title: Notes - - page: docs-content://solutions/security/investigate/indicators-of-compromise.md - title: Indicators of compromise - - page: docs-content://solutions/security/investigate/security-cases.md - title: Cases - - group: Dashboards - page: docs-content://solutions/security/dashboards.md - children: - - page: docs-content://solutions/security/dashboards/overview-dashboard.md - title: Overview dashboard - - page: docs-content://solutions/security/dashboards/detection-response-dashboard.md - title: "Detection & Response dashboard" - - page: docs-content://solutions/security/dashboards/cloud-security-posture-dashboard.md - title: Cloud Security Posture dashboard - - page: docs-content://solutions/security/dashboards/kubernetes-dashboard.md - title: Kubernetes dashboard - - page: docs-content://solutions/security/dashboards/entity-analytics-dashboard.md - title: Entity Analytics dashboard - - page: docs-content://solutions/security/dashboards/data-quality-dashboard.md - title: Data Quality dashboard - - page: docs-content://solutions/security/dashboards/cloud-native-vulnerability-management-dashboard.md - title: Cloud Native Vulnerability Management Dashboard - - page: docs-content://solutions/security/dashboards/detection-rule-monitoring-dashboard.md - title: Detection rule monitoring dashboard - - page: docs-content://solutions/security/dashboards/endpoint-detection-response-dashboard.md - title: Endpoint Detection and Response dashboard - - group: Entity analytics - page: docs-content://solutions/security/advanced-entity-analytics.md - children: - - page: docs-content://solutions/security/advanced-entity-analytics/overview.md - title: Entity analytics overview - - group: Entity risk scoring - page: docs-content://solutions/security/advanced-entity-analytics/entity-risk-scoring.md - children: - - page: docs-content://solutions/security/advanced-entity-analytics/entity-risk-scoring-requirements.md - title: Entity risk scoring requirements - - page: docs-content://solutions/security/advanced-entity-analytics/turn-on-risk-scoring-engine.md - title: Turn on the risk scoring engine - - page: docs-content://solutions/security/advanced-entity-analytics/view-entity-details.md - title: View entity details - - page: docs-content://solutions/security/advanced-entity-analytics/asset-criticality.md - title: Asset criticality - - page: docs-content://solutions/security/advanced-entity-analytics/entity-store.md - title: Entity store - - page: docs-content://solutions/security/advanced-entity-analytics/view-analyze-risk-score-data.md - title: View and analyze risk score data - - group: Advanced behavioral detections - page: docs-content://solutions/security/advanced-entity-analytics/advanced-behavioral-detections.md + - page: docs-content://solutions/security/dashboards/entity-analytics-dashboard.md + title: Entity Analytics dashboard + - page: docs-content://solutions/security/dashboards/data-quality-dashboard.md + title: Data Quality dashboard + - page: docs-content://solutions/security/dashboards/cloud-native-vulnerability-management-dashboard.md + title: Cloud Native Vulnerability Management Dashboard + - page: docs-content://solutions/security/dashboards/detection-rule-monitoring-dashboard.md + title: Detection rule monitoring dashboard + - page: docs-content://solutions/security/dashboards/endpoint-detection-response-dashboard.md + title: Endpoint Detection and Response dashboard + - group: Entity analytics + page: docs-content://solutions/security/advanced-entity-analytics.md children: - - page: docs-content://solutions/security/advanced-entity-analytics/machine-learning-job-rule-requirements.md - title: Machine learning job and rule requirements - - page: docs-content://solutions/security/advanced-entity-analytics/anomaly-detection.md - title: Anomaly detection - - page: docs-content://solutions/security/advanced-entity-analytics/optimizing-anomaly-results.md - title: Optimizing anomaly results - - page: docs-content://solutions/security/advanced-entity-analytics/behavioral-detection-use-cases.md - title: Behavioral detection use cases - - group: Privileged user monitoring - page: docs-content://solutions/security/advanced-entity-analytics/privileged-user-monitoring.md - children: - - page: docs-content://solutions/security/advanced-entity-analytics/privileged-user-monitoring-requirements.md - title: Privileged user monitoring requirements - - page: docs-content://solutions/security/advanced-entity-analytics/privileged-user-monitoring-setup.md - title: Set up privileged user monitoring - - page: docs-content://solutions/security/advanced-entity-analytics/monitor-privileged-user-activitites.md - title: Monitor privileged user activities - - group: Explore - page: docs-content://solutions/security/advanced-entity-analytics/explore.md - children: - - page: docs-content://solutions/security/advanced-entity-analytics/hosts-page.md - title: Hosts page - - group: Network page - page: docs-content://solutions/security/advanced-entity-analytics/network-page.md - children: - - page: docs-content://solutions/security/advanced-entity-analytics/configure-network-map-data.md - title: Configure network map data - - page: docs-content://solutions/security/advanced-entity-analytics/configure-dns-histogram.md - title: Configure the DNS histogram - - page: docs-content://solutions/security/advanced-entity-analytics/users-page.md - title: Users page - - page: docs-content://solutions/security/security-serverless-feature-tiers.md - title: Serverless feature tiers - - page: docs-content://solutions/security/apis.md - title: APIs - - label: Reference + - page: docs-content://solutions/security/advanced-entity-analytics/overview.md + title: Entity analytics overview + - group: Entity risk scoring + page: docs-content://solutions/security/advanced-entity-analytics/entity-risk-scoring.md + children: + - page: docs-content://solutions/security/advanced-entity-analytics/entity-risk-scoring-requirements.md + title: Entity risk scoring requirements + - page: docs-content://solutions/security/advanced-entity-analytics/turn-on-risk-scoring-engine.md + title: Turn on the risk scoring engine + - page: docs-content://solutions/security/advanced-entity-analytics/view-entity-details.md + title: View entity details + - page: docs-content://solutions/security/advanced-entity-analytics/asset-criticality.md + title: Asset criticality + - page: docs-content://solutions/security/advanced-entity-analytics/entity-store.md + title: Entity store + - page: docs-content://solutions/security/advanced-entity-analytics/view-analyze-risk-score-data.md + title: View and analyze risk score data + - group: Advanced behavioral detections + page: docs-content://solutions/security/advanced-entity-analytics/advanced-behavioral-detections.md + children: + - page: docs-content://solutions/security/advanced-entity-analytics/machine-learning-job-rule-requirements.md + title: Machine learning job and rule requirements + - page: docs-content://solutions/security/advanced-entity-analytics/anomaly-detection.md + title: Anomaly detection + - page: docs-content://solutions/security/advanced-entity-analytics/optimizing-anomaly-results.md + title: Optimizing anomaly results + - page: docs-content://solutions/security/advanced-entity-analytics/behavioral-detection-use-cases.md + title: Behavioral detection use cases + - group: Privileged user monitoring + page: docs-content://solutions/security/advanced-entity-analytics/privileged-user-monitoring.md + children: + - page: docs-content://solutions/security/advanced-entity-analytics/privileged-user-monitoring-requirements.md + title: Privileged user monitoring requirements + - page: docs-content://solutions/security/advanced-entity-analytics/privileged-user-monitoring-setup.md + title: Set up privileged user monitoring + - page: docs-content://solutions/security/advanced-entity-analytics/monitor-privileged-user-activitites.md + title: Monitor privileged user activities + - group: Explore + page: docs-content://solutions/security/advanced-entity-analytics/explore.md + children: + - page: docs-content://solutions/security/advanced-entity-analytics/hosts-page.md + title: Hosts page + - group: Network page + page: docs-content://solutions/security/advanced-entity-analytics/network-page.md + children: + - page: docs-content://solutions/security/advanced-entity-analytics/configure-network-map-data.md + title: Configure network map data + - page: docs-content://solutions/security/advanced-entity-analytics/configure-dns-histogram.md + title: Configure the DNS histogram + - page: docs-content://solutions/security/advanced-entity-analytics/users-page.md + title: Users page + - page: docs-content://solutions/security/security-serverless-feature-tiers.md + title: Serverless feature tiers + - page: docs-content://solutions/security/apis.md + title: APIs + + - section: APIs + url: https://www.elastic.co/docs/api + + - section: Reference + url: /reference/ children: - toc: docs-content://reference - toc: elasticsearch://reference/elasticsearch @@ -3963,7 +4370,13 @@ nav: - page: docs-content://explore-analyze/numeral-formatting.md title: Numeral formatting - toc: elasticsearch://reference/text-analysis - - label: Release notes + - island: Logstash plugins + toc: logstash-docs-md://lsr + - island: Logstash versioned plugins + toc: logstash-docs-md://vpr + + - section: Release notes + url: /release-notes/ children: - toc: docs-content://release-notes/intro children: @@ -4030,6 +4443,28 @@ nav: # ECCTL - toc: ecctl://release-notes - - label: Troubleshoot + - section: Troubleshoot + url: /troubleshoot/ children: - toc: docs-content://troubleshoot + + - section: Extension points + url: /extend/ + isolated: true + children: + - toc: docs-content://extend + children: + - toc: kibana://extend + - toc: logstash://extend + - toc: beats://extend + - toc: elasticsearch://extend + - toc: integrations://extend + + # Disabled pending a decision on whether to keep the contribute-docs + # content in the public site. Re-enable to resurface ~35 pages. + # - section: Contribute + # url: /contribute-docs/ + # isolated: true + # children: + # - toc: docs-content://contribute-docs + From 500e5e624f65a39fef80c79a59db87d6012f2740 Mon Sep 17 00:00:00 2001 From: Alex Cerezo Date: Tue, 12 May 2026 14:47:38 +0200 Subject: [PATCH 174/226] Fix isolated preview header visibility with fixed chrome + flow spacer Sticky preview chrome could sit under Nav V2 layout/stacking on serve. Use fixed top bar with z-[60] and an in-flow h-12 spacer so content clears the preview header reliably. Co-Authored-By: Claude Sonnet 4.6 (1M context) Co-authored-by: Cursor --- src/Elastic.Documentation.Site/Assets/isolated.css | 3 +-- src/Elastic.Documentation.Site/Layout/_IsolatedHeader.cshtml | 4 +++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Elastic.Documentation.Site/Assets/isolated.css b/src/Elastic.Documentation.Site/Assets/isolated.css index 6dd8e90079..b2e32ccf12 100644 --- a/src/Elastic.Documentation.Site/Assets/isolated.css +++ b/src/Elastic.Documentation.Site/Assets/isolated.css @@ -6,8 +6,7 @@ } /* - * Preview chrome must stack above the pages sidebar (z-40 on small screens) and the - * mobile drawer overlay (z-30). The host uses z-50 in _IsolatedHeader.cshtml. + * Preview chrome: fixed bar uses z-[60] in _IsolatedHeader.cshtml (above sidebar z-40 / overlay z-30). * Until the custom element upgrades, keep a visible bar so the strip is not mistaken for “missing”. */ elastic-docs-header:not(:defined) { diff --git a/src/Elastic.Documentation.Site/Layout/_IsolatedHeader.cshtml b/src/Elastic.Documentation.Site/Layout/_IsolatedHeader.cshtml index 2774f5eb1c..24b2706bb1 100644 --- a/src/Elastic.Documentation.Site/Layout/_IsolatedHeader.cshtml +++ b/src/Elastic.Documentation.Site/Layout/_IsolatedHeader.cshtml @@ -1,5 +1,6 @@ @inherits RazorSlice -
+@* Fixed chrome + in-flow spacer: sticky was losing the strip under Nav V2 / grid stacking on isolated serve. *@ +
+ From db5f8ee20c95a98656c13d4c2b175188a0dbed1b Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 12 May 2026 14:49:26 +0200 Subject: [PATCH 175/226] Remove landing sidebar gutter Keep the docs landing background flush with the Guide sidebar so the home page reads as part of the section shell. Co-Authored-By: GPT-5.5 Co-authored-by: Cursor --- src/Elastic.Markdown/_Layout.cshtml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Elastic.Markdown/_Layout.cshtml b/src/Elastic.Markdown/_Layout.cshtml index 1c5aa95411..aafed15025 100644 --- a/src/Elastic.Markdown/_Layout.cshtml +++ b/src/Elastic.Markdown/_Layout.cshtml @@ -74,7 +74,7 @@ {
-
+
@await RenderPartialAsync(_PagesNav.Create(Model))
From 2b43d6a96641f4bd06f0a078b7ac0a14e3c9c5ef Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 12 May 2026 14:59:12 +0200 Subject: [PATCH 176/226] Render nav search shell without preview API Keep the sidebar jump-to-page field visible in remote previews even when the docs API is unavailable, while disabling interaction instead of unmounting the component. Co-Authored-By: GPT-5.5 Co-authored-by: Cursor --- .../NavigationSearch/NavigationSearch.tsx | 24 ++++++++++++++----- .../NavigationSearchComponent.tsx | 12 +++++++--- .../NavigationSearch/SearchInput.tsx | 13 ++++++++++ 3 files changed, 40 insertions(+), 9 deletions(-) diff --git a/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearch.tsx b/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearch.tsx index ad7c966abf..90a7c8b7d4 100644 --- a/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearch.tsx +++ b/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearch.tsx @@ -27,11 +27,13 @@ import { useRef, useState, useEffect } from 'react' interface Props { placeholder?: string size?: 's' | 'm' | 'l' + disabled?: boolean } export const NavigationSearch = ({ placeholder = 'Jump to page', size = 'm', + disabled = false, }: Props) => { const { euiTheme } = useEuiTheme() const isMobile = useIsWithinMaxBreakpoint('s') @@ -114,6 +116,9 @@ export const NavigationSearch = ({ } useGlobalKeyboardShortcut('k', () => { + if (disabled) { + return + } trackOpened('keyboard_shortcut') inputRef.current?.focus() inputRef.current?.select() @@ -154,9 +159,13 @@ export const NavigationSearch = ({ panelProps={{ css: css` border-radius: ${euiTheme.size.s}; - visibility: ${isPopoverOpen ? 'visible' : 'hidden'}; - opacity: ${isPopoverOpen ? 1 : 0}; - pointer-events: ${isPopoverOpen ? 'auto' : 'none'}; + visibility: ${isPopoverOpen && !disabled + ? 'visible' + : 'hidden'}; + opacity: ${isPopoverOpen && !disabled ? 1 : 0}; + pointer-events: ${isPopoverOpen && !disabled + ? 'auto' + : 'none'}; `, onMouseDown: (e: React.MouseEvent) => { // Prevent input blur when clicking anywhere inside the popover panel @@ -172,6 +181,9 @@ export const NavigationSearch = ({ value={searchTerm} onChange={handleChange} onFocus={() => { + if (disabled) { + return + } trackOpened('focus') if (hasContent) { setIsPopoverOpen(true) @@ -179,13 +191,13 @@ export const NavigationSearch = ({ }} onBlur={handleBlur} onKeyDown={handleKeyDown} - disabled={isSearchCooldownActive} - isLoading={isSearching} + disabled={disabled || isSearchCooldownActive} + isLoading={!disabled && isSearching} /> } > - {hasContent && ( + {hasContent && !disabled && (
{ + const shouldCheckApi = config.buildType !== 'codex' && !config.airGapped const { data: isApiAvailable } = useQuery({ queryKey: ['api-health'], queryFn: async () => { @@ -23,13 +24,15 @@ const NavigationSearchInner = ({ placeholder }: NavigationSearchProps) => { }, staleTime: 60 * 60 * 1000, // 60 minutes retry: false, - enabled: config.buildType !== 'codex' && !config.airGapped, + enabled: shouldCheckApi, }) - if (config.airGapped || (!isApiAvailable && config.buildType !== 'codex')) { + if (config.airGapped) { return null } + const isSearchUnavailable = shouldCheckApi && isApiAvailable === false + return (
{ padding-left: 0; `} > - +
) } diff --git a/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/SearchInput.tsx b/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/SearchInput.tsx index f2ceedb077..cc52ad6b46 100644 --- a/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/SearchInput.tsx +++ b/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/SearchInput.tsx @@ -140,6 +140,19 @@ export const SearchInput = ({ outline: none; box-shadow: none; } + + &:disabled { + cursor: not-allowed; + opacity: 1; + color: ${euiTheme.colors.textSubdued}; + -webkit-text-fill-color: ${euiTheme.colors.textSubdued}; + background: #ffffff; + } + + &:disabled::placeholder { + color: ${navSearchMuted}; + opacity: 1; + } `} /> From 13ed1dd2493d9eecaa52074235e263e10d46a534 Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 12 May 2026 15:06:28 +0200 Subject: [PATCH 177/226] fix(nav-v2): resolve islands via parent chain for nested-toc islands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Island lookup keyed off currentRootNavigation.Id, which always returns the outermost toc root. Islands that wrap a nested toc (where the page's NavigationRoot is the enclosing toc, not the wrapped toc) never matched and were rendered as part of their parent section instead — missing the focused sidebar and back arrow. For example, navigation.yml nests logstash-docs-md://lsr inside docs-content://reference, so /reference/logstash/plugins pages have currentRootNavigation.Id = the Reference root. The lsr-keyed entry in _tocRootToIsland was never found, and the page rendered as a Reference section page with no back arrow. Replace GetIslandForTocRoot with GetIslandForNavigationItem, which walks up the page's Parent chain and returns the first ancestor whose Id is registered as an island. Update GlobalNavigationHtmlWriter to use the current page item instead of its outermost root. Verified with assembler build --environment dev: - /docs/reference/logstash/plugins/ → back arrow + island sidebar - /docs/reference/logstash/plugins/plugins-codecs-rubydebug/ → back arrow - /docs/reference/logstash/versioned-plugins/ → back arrow + island sidebar - /docs/extend/ → isolated section sidebar, no back arrow (unchanged) Co-Authored-By: Claude Opus 4.7 (1M context) --- .../V2/SiteNavigationV2.cs | 19 +++++++++++++++---- .../Navigation/GlobalNavigationHtmlWriter.cs | 7 +++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs b/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs index 1f6057df51..3c904287c3 100644 --- a/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs +++ b/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs @@ -59,11 +59,22 @@ public SiteNavigationV2( public IReadOnlyList Islands { get; } /// - /// Resolves which island a page belongs to by its toc root. - /// Uses the nav ownership model — the toc root that owns the page determines the island. + /// Resolves which island a page belongs to by walking up its parent chain. + /// Returns the innermost registered toc root, so islands that wrap nested tocs + /// (whose pages have an outer toc as their NavigationRoot) still resolve correctly. /// - public NavigationIsland? GetIslandForTocRoot(IRootNavigationItem tocRoot) => - _tocRootToIsland.GetValueOrDefault(tocRoot.Id); + public NavigationIsland? GetIslandForNavigationItem(INavigationItem item) + { + var current = item; + while (current is not null) + { + if (current is INodeNavigationItem node + && _tocRootToIsland.TryGetValue(node.Id, out var island)) + return island; + current = current.Parent; + } + return null; + } /// /// Resolves which section a page belongs to by its URL. diff --git a/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs b/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs index 1f93a310ff..11737f4cec 100644 --- a/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs +++ b/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs @@ -29,7 +29,7 @@ public async Task RenderNavigation( { // V2 nav: render per-section sidebar based on current page if (globalNavigation is SiteNavigationV2 navV2) - return await RenderSectionNavigation(navV2, currentRootNavigation, currentNavigationItem, ctx); + return await RenderSectionNavigation(navV2, currentNavigationItem, ctx); if (currentRootNavigation is SiteNavigation) return NavigationRenderResult.Empty; @@ -69,13 +69,12 @@ public async Task RenderNavigation( private async Task RenderSectionNavigation( SiteNavigationV2 navV2, - IRootNavigationItem currentRootNavigation, INavigationItem currentNavigationItem, Cancel ctx ) { - // Islands take priority: if the current toc root is an island, render the island sidebar - var island = navV2.GetIslandForTocRoot(currentRootNavigation); + // Islands take priority: if any ancestor toc root of the current page is an island, render the island sidebar + var island = navV2.GetIslandForNavigationItem(currentNavigationItem); if (island is not null) return await RenderIslandNavigation(island, navV2, ctx); From c732b16e4ed5c401cbdeab8bca1c13c35bead61b Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 12 May 2026 15:06:28 +0200 Subject: [PATCH 178/226] fix(nav-v2): resolve islands via parent chain for nested-toc islands MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Island lookup keyed off currentRootNavigation.Id, which always returns the outermost toc root. Islands that wrap a nested toc (where the page's NavigationRoot is the enclosing toc, not the wrapped toc) never matched and were rendered as part of their parent section instead — missing the focused sidebar and back arrow. For example, navigation.yml nests logstash-docs-md://lsr inside docs-content://reference, so /reference/logstash/plugins pages have currentRootNavigation.Id = the Reference root. The lsr-keyed entry in _tocRootToIsland was never found, and the page rendered as a Reference section page with no back arrow. Replace GetIslandForTocRoot with GetIslandForNavigationItem, which walks up the page's Parent chain and returns the first ancestor whose Id is registered as an island. Update GlobalNavigationHtmlWriter to use the current page item instead of its outermost root. Verified with assembler build --environment dev: - /docs/reference/logstash/plugins/ → back arrow + island sidebar - /docs/reference/logstash/plugins/plugins-codecs-rubydebug/ → back arrow - /docs/reference/logstash/versioned-plugins/ → back arrow + island sidebar - /docs/extend/ → isolated section sidebar, no back arrow (unchanged) Co-Authored-By: Claude Opus 4.7 (1M context) --- .../V2/SiteNavigationV2.cs | 19 +++++++++++++++---- .../Navigation/GlobalNavigationHtmlWriter.cs | 7 +++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs b/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs index 9c2310e9c3..c33dbed9a3 100644 --- a/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs +++ b/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs @@ -63,11 +63,22 @@ public SiteNavigationV2( public IReadOnlyList Islands { get; } /// - /// Resolves which island a page belongs to by its toc root. - /// Uses the nav ownership model — the toc root that owns the page determines the island. + /// Resolves which island a page belongs to by walking up its parent chain. + /// Returns the innermost registered toc root, so islands that wrap nested tocs + /// (whose pages have an outer toc as their NavigationRoot) still resolve correctly. /// - public NavigationIsland? GetIslandForTocRoot(IRootNavigationItem tocRoot) => - _tocRootToIsland.GetValueOrDefault(tocRoot.Id); + public NavigationIsland? GetIslandForNavigationItem(INavigationItem item) + { + var current = item; + while (current is not null) + { + if (current is INodeNavigationItem node + && _tocRootToIsland.TryGetValue(node.Id, out var island)) + return island; + current = current.Parent; + } + return null; + } INavigationItem? INavigationTraversable.GetPrevious(IDocumentationFile current) { diff --git a/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs b/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs index caef5c711d..5c15386d0d 100644 --- a/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs +++ b/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs @@ -29,7 +29,7 @@ public async Task RenderNavigation( { // V2 nav: render per-section sidebar based on current page if (globalNavigation is SiteNavigationV2 navV2) - return await RenderSectionNavigation(navV2, currentRootNavigation, currentNavigationItem, ctx); + return await RenderSectionNavigation(navV2, currentNavigationItem, ctx); if (currentRootNavigation is SiteNavigation) return NavigationRenderResult.Empty; @@ -69,13 +69,12 @@ public async Task RenderNavigation( private async Task RenderSectionNavigation( SiteNavigationV2 navV2, - IRootNavigationItem currentRootNavigation, INavigationItem currentNavigationItem, Cancel ctx ) { - // Islands take priority: if the current toc root is an island, render the island sidebar - var island = navV2.GetIslandForTocRoot(currentRootNavigation); + // Islands take priority: if any ancestor toc root of the current page is an island, render the island sidebar + var island = navV2.GetIslandForNavigationItem(currentNavigationItem); if (island is not null) return await RenderIslandNavigation(island, navV2, ctx); From dba171799e3af3ccfb505bd62002a3fe09b006e3 Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 12 May 2026 15:37:52 +0200 Subject: [PATCH 179/226] feat(nav-v2): wire Account and preferences as island under Deployment tools MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cloud-account is a top-level toc in docs-content (9 pages on user account/preferences settings, project: "Cloud account") and is wired in V1 navigation.yml as a top-level toc, but had no entry in V2 — pages rendered with the default Guides sidebar and no entry point. Add it as an island under the existing "Deployment and administration tools" group inside the "Install, deploy, and administer" label, following the prior design intent from 1e4da5a3e. Users get a focused sidebar and back arrow when in account pages, and the entry point is visible in the main Guides sidebar. Verified with assembler build --environment dev: - Build logs "Rendering V2 island navigation: Account and preferences" - /docs/cloud-account/ now shows back-arrow SVG + island sidebar Co-Authored-By: Claude Opus 4.7 (1M context) --- config/navigation-v2.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/navigation-v2.yml b/config/navigation-v2.yml index 5eb90e98f7..730206c69c 100644 --- a/config/navigation-v2.yml +++ b/config/navigation-v2.yml @@ -1641,6 +1641,8 @@ nav: - toc: ecctl://reference - page: elasticsearch://reference/elasticsearch/command-line-tools/index.md title: Command-line tools + - island: Account and preferences + toc: docs-content://cloud-account - label: The Elasticsearch platform children: - label: Ingest and manage data From e7dde7290c7a0e4487f8fc107936adbb1e99f47d Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 12 May 2026 15:37:52 +0200 Subject: [PATCH 180/226] feat(nav-v2): wire Account and preferences as island under Deployment tools MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cloud-account is a top-level toc in docs-content (9 pages on user account/preferences settings, project: "Cloud account") and is wired in V1 navigation.yml as a top-level toc, but had no entry in V2 — pages rendered with the default Guides sidebar and no entry point. Add it as an island under the existing "Deployment and administration tools" group inside the "Install, deploy, and administer" label, following the prior design intent from 1e4da5a3e. Users get a focused sidebar and back arrow when in account pages, and the entry point is visible in the main Guides sidebar. Verified with assembler build --environment dev: - Build logs "Rendering V2 island navigation: Account and preferences" - /docs/cloud-account/ now shows back-arrow SVG + island sidebar Co-Authored-By: Claude Opus 4.7 (1M context) --- config/navigation-v2.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/navigation-v2.yml b/config/navigation-v2.yml index b0c86962ed..df68cea89d 100644 --- a/config/navigation-v2.yml +++ b/config/navigation-v2.yml @@ -1641,6 +1641,8 @@ nav: - toc: ecctl://reference - page: elasticsearch://reference/elasticsearch/command-line-tools/index.md title: Command-line tools + - island: Account and preferences + toc: docs-content://cloud-account - label: The Elasticsearch platform children: - label: Ingest and manage data From a3464963b344a4a3977b6f6ae43e0e170ca89a3f Mon Sep 17 00:00:00 2001 From: Alex Cerezo Date: Tue, 12 May 2026 15:56:21 +0200 Subject: [PATCH 181/226] Guard deployment header links when githubRepository is unset r2wc can pass undefined for optional attrs; getDeploymentLinks must not call .includes on undefined or the header React tree crashes on serve. Co-Authored-By: Claude Sonnet 4.6 (1M context) Co-authored-by: Cursor --- .../web-components/Header/DeploymentInfo.tsx | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/Elastic.Documentation.Site/Assets/web-components/Header/DeploymentInfo.tsx b/src/Elastic.Documentation.Site/Assets/web-components/Header/DeploymentInfo.tsx index e2f83a464b..a54259d898 100644 --- a/src/Elastic.Documentation.Site/Assets/web-components/Header/DeploymentInfo.tsx +++ b/src/Elastic.Documentation.Site/Assets/web-components/Header/DeploymentInfo.tsx @@ -270,23 +270,29 @@ function getDeploymentSubtitle(githubRef?: string): string { const GITHUB_BASE = 'https://github.com' function getDeploymentLinks( - githubRepository: string, - gitBranch: string, - gitCommit: string, + githubRepository: string | undefined, + gitBranch: string | undefined, + gitCommit: string | undefined, githubRef?: string ): { ref?: string; branch: string; commit: string; repository: string } { - // Backend passes full org/repo; fallback only fires for bare names (shouldn't occur) - const repo = githubRepository.includes('/') - ? githubRepository - : `elastic/${githubRepository}` + // Web component attrs can be missing at runtime; avoid throwing on .includes(). + const raw = (githubRepository ?? '').trim() + const repo = raw.includes('/') + ? raw + : raw.length > 0 + ? `elastic/${raw}` + : 'elastic/docs-builder' const base = `${GITHUB_BASE}/${repo}` + const branchName = (gitBranch ?? '').trim() || 'main' + const commitSha = (gitCommit ?? '').trim() const pull = githubRef != null ? parseGitHubRef(githubRef) : undefined const pullUrl = pull?.kind === 'pull' ? `${base}/pull/${pull.number}` : undefined return { ref: pullUrl, - branch: `${base}/tree/${gitBranch}`, - commit: `${base}/commit/${gitCommit}`, + branch: `${base}/tree/${encodeURIComponent(branchName)}`, + commit: + commitSha.length > 0 ? `${base}/commit/${commitSha}` : `${base}/commits`, repository: base, } } From cbeb5e86581ce4034d14fb471c5e247c6b602efd Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 12 May 2026 16:10:34 +0200 Subject: [PATCH 182/226] fix(nav-v2): swap full chrome when entering an island from parent sidebar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The body has hx-boost="true", so clicking an island entry-point from its parent section's sidebar gets intercepted by HTMX. Island links used the default nav swap (#content-container,#toc-nav), which updates the page content + right-hand TOC but leaves the left-hand sidebar on the parent section's tree. Result: clicking "Account and preferences" from the Guides sidebar took users to /cloud-account/ with the Guides sidebar still showing — the island appeared "not to open" even though a hard refresh would render the island view correctly. Add an IslandNavigationNode branch in _TocTreeNavV2.cshtml that uses hx-select-oob=#main-container,#secondary-nav (the same swap as section tabs and the island's own back arrow), and propagate an IsIslandSubtree flag down so the island's descendants rendered inline in the parent sidebar also use the full-chrome swap. Once inside the island view, sibling navigation uses the regular content+TOC swap (IsIslandSubtree is false in the island's own NavigationTreeItem), so the island sidebar persists across page-to-page navigation within the island — that part already worked. Verified locally: - Guides sidebar → "Account and preferences" link: full-chrome swap - Reference sidebar → "Logstash plugins" (island entry): full-chrome - Inside /cloud-account/, sibling page links: regular nav swap Co-Authored-By: Claude Opus 4.7 (1M context) --- .../Navigation/NavigationTreeItem.cs | 5 ++ .../Navigation/_TocTreeNavV2.cshtml | 86 +++++++++++++++++-- 2 files changed, 83 insertions(+), 8 deletions(-) diff --git a/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs b/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs index 85c15e23d5..dfc09e2e40 100644 --- a/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs +++ b/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs @@ -16,4 +16,9 @@ public class NavigationTreeItem public required bool IsGlobalAssemblyBuild { get; init; } public required string RootNavigationId { get; set; } public required IHtmxAttributeProvider Htmx { get; init; } + + /// True when this subtree renders inside an island (entry-point + descendants). + /// Links here must swap the full page chrome so clicking from a parent section's sidebar + /// switches into the island's focused sidebar. + public bool IsIslandSubtree { get; init; } } diff --git a/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml b/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml index 63f263298a..fbd0b9ccc0 100644 --- a/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml +++ b/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml @@ -6,6 +6,11 @@ @inherits RazorSlice @{ var isTopLevel = Model.Level == 0 && Model.SubTree is not LabelNavigationNode; + // Inside an island subtree, every link must swap the full page chrome so the sidebar + // switches from the parent section's tree to the island's focused tree. + var navHxAttrs = Model.IsIslandSubtree + ? Model.Htmx.GetHxAttributes(hxSwapOob: "#main-container,#secondary-nav", preload: null) + : Model.Htmx.GetNavHxAttributes(true, null); } @foreach (var item in Model.SubTree.NavigationItems) { @@ -44,7 +49,8 @@ Level = Model.Level, SubTree = label, RootNavigationId = Model.RootNavigationId, - Htmx = Model.Htmx + Htmx = Model.Htmx, + IsIslandSubtree = Model.IsIslandSubtree })) } @@ -55,7 +61,7 @@
  • @@ -79,7 +85,7 @@ } @if (!allHidden) @@ -115,7 +121,70 @@ Level = Model.Level + 1, SubTree = placeholderGroup, RootNavigationId = Model.RootNavigationId, - Htmx = Model.Htmx + Htmx = Model.Htmx, + IsIslandSubtree = Model.IsIslandSubtree + })) + +
  • +
    + } + + } + else if (item is IslandNavigationNode island) + { + var islandHxAttrs = Model.Htmx.GetHxAttributes(hxSwapOob: "#main-container,#secondary-nav", preload: null); + var islandAllHidden = island.NavigationItems.All(n => n.Hidden); +
  • + + @if (island.NavigationItems.Count > 0) + { +
    +
    +
      + @await RenderPartialAsync(_TocTreeNavV2.Create(new NavigationTreeItem + { + IsPrimaryNavEnabled = Model.IsPrimaryNavEnabled, + IsGlobalAssemblyBuild = Model.IsGlobalAssemblyBuild, + Level = Model.Level + 1, + SubTree = island, + RootNavigationId = Model.RootNavigationId, + Htmx = Model.Htmx, + IsIslandSubtree = true }))
    @@ -128,7 +197,7 @@
  • @@ -153,7 +222,7 @@ } @if (!allHidden) @@ -189,7 +258,8 @@ Level = Model.Level + 1, SubTree = folder, RootNavigationId = Model.RootNavigationId, - Htmx = Model.Htmx + Htmx = Model.Htmx, + IsIslandSubtree = Model.IsIslandSubtree }))
  • @@ -202,7 +272,7 @@
  • From 76e274034ca6a5912ee313294c0568d95ae5343d Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 12 May 2026 16:10:34 +0200 Subject: [PATCH 183/226] fix(nav-v2): swap full chrome when entering an island from parent sidebar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The body has hx-boost="true", so clicking an island entry-point from its parent section's sidebar gets intercepted by HTMX. Island links used the default nav swap (#content-container,#toc-nav), which updates the page content + right-hand TOC but leaves the left-hand sidebar on the parent section's tree. Result: clicking "Account and preferences" from the Guides sidebar took users to /cloud-account/ with the Guides sidebar still showing — the island appeared "not to open" even though a hard refresh would render the island view correctly. Add an IslandNavigationNode branch in _TocTreeNavV2.cshtml that uses hx-select-oob=#main-container,#secondary-nav (the same swap as section tabs and the island's own back arrow), and propagate an IsIslandSubtree flag down so the island's descendants rendered inline in the parent sidebar also use the full-chrome swap. Once inside the island view, sibling navigation uses the regular content+TOC swap (IsIslandSubtree is false in the island's own NavigationTreeItem), so the island sidebar persists across page-to-page navigation within the island — that part already worked. Verified locally: - Guides sidebar → "Account and preferences" link: full-chrome swap - Reference sidebar → "Logstash plugins" (island entry): full-chrome - Inside /cloud-account/, sibling page links: regular nav swap Co-Authored-By: Claude Opus 4.7 (1M context) --- .../Navigation/NavigationTreeItem.cs | 5 ++ .../Navigation/_TocTreeNavV2.cshtml | 86 +++++++++++++++++-- 2 files changed, 83 insertions(+), 8 deletions(-) diff --git a/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs b/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs index 85c15e23d5..dfc09e2e40 100644 --- a/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs +++ b/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs @@ -16,4 +16,9 @@ public class NavigationTreeItem public required bool IsGlobalAssemblyBuild { get; init; } public required string RootNavigationId { get; set; } public required IHtmxAttributeProvider Htmx { get; init; } + + /// True when this subtree renders inside an island (entry-point + descendants). + /// Links here must swap the full page chrome so clicking from a parent section's sidebar + /// switches into the island's focused sidebar. + public bool IsIslandSubtree { get; init; } } diff --git a/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml b/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml index 63f263298a..fbd0b9ccc0 100644 --- a/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml +++ b/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml @@ -6,6 +6,11 @@ @inherits RazorSlice @{ var isTopLevel = Model.Level == 0 && Model.SubTree is not LabelNavigationNode; + // Inside an island subtree, every link must swap the full page chrome so the sidebar + // switches from the parent section's tree to the island's focused tree. + var navHxAttrs = Model.IsIslandSubtree + ? Model.Htmx.GetHxAttributes(hxSwapOob: "#main-container,#secondary-nav", preload: null) + : Model.Htmx.GetNavHxAttributes(true, null); } @foreach (var item in Model.SubTree.NavigationItems) { @@ -44,7 +49,8 @@ Level = Model.Level, SubTree = label, RootNavigationId = Model.RootNavigationId, - Htmx = Model.Htmx + Htmx = Model.Htmx, + IsIslandSubtree = Model.IsIslandSubtree })) } @@ -55,7 +61,7 @@
  • @@ -79,7 +85,7 @@ } @if (!allHidden) @@ -115,7 +121,70 @@ Level = Model.Level + 1, SubTree = placeholderGroup, RootNavigationId = Model.RootNavigationId, - Htmx = Model.Htmx + Htmx = Model.Htmx, + IsIslandSubtree = Model.IsIslandSubtree + })) + +
  • +
    + } + + } + else if (item is IslandNavigationNode island) + { + var islandHxAttrs = Model.Htmx.GetHxAttributes(hxSwapOob: "#main-container,#secondary-nav", preload: null); + var islandAllHidden = island.NavigationItems.All(n => n.Hidden); +
  • + + @if (island.NavigationItems.Count > 0) + { +
    +
    +
      + @await RenderPartialAsync(_TocTreeNavV2.Create(new NavigationTreeItem + { + IsPrimaryNavEnabled = Model.IsPrimaryNavEnabled, + IsGlobalAssemblyBuild = Model.IsGlobalAssemblyBuild, + Level = Model.Level + 1, + SubTree = island, + RootNavigationId = Model.RootNavigationId, + Htmx = Model.Htmx, + IsIslandSubtree = true }))
    @@ -128,7 +197,7 @@
  • @@ -153,7 +222,7 @@ } @if (!allHidden) @@ -189,7 +258,8 @@ Level = Model.Level + 1, SubTree = folder, RootNavigationId = Model.RootNavigationId, - Htmx = Model.Htmx + Htmx = Model.Htmx, + IsIslandSubtree = Model.IsIslandSubtree }))
  • @@ -202,7 +272,7 @@
  • From ffda3ab3ffd0a4fe2a7475dff398281cb70fb85b Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Wed, 13 May 2026 16:28:46 +0200 Subject: [PATCH 184/226] fix(nav-v2): address CodeRabbit nav-v2 contract + assembler comments MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tighten the nullable-parent contract across V2 navigation node types and fix two nav-v2 assembler issues flagged by CodeRabbit on PR #3256: V2 navigation nodes — make constructor parent non-nullable so the NavigationRoot property (which is typed non-nullable) is never silently populated with null via parent?.NavigationRoot!. All call sites already pass a non-null parent. - IslandNavigationNode - LabelNavigationNode - PageCrossLinkLeaf - PageFolderNavigationNode - PlaceholderNavigationLeaf - PlaceholderNavigationNode - SectionNavigationNode AssemblerBuildService — fail fast when nav-v2 is enabled but config/navigation-v2.yml is missing instead of silently falling back to V1 navigation. Flagged builds should never produce the wrong navigation model. GlobalNavigationHtmlWriter — prefix TitleUrl with the site path through CombineWithSitePrefix (it was previously raw section.Url), so the sidebar title link works under non-root prefixes like /docs/3256/. CodeRabbit threads addressed: 3200139602, 3200139625, 3200139627, 3200139630, 3200139633, 3200139677, 3200139683. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../V2/IslandNavigationNode.cs | 4 ++-- .../V2/LabelNavigationNode.cs | 4 ++-- .../V2/PageCrossLinkLeaf.cs | 4 ++-- .../V2/PageFolderNavigationNode.cs | 4 ++-- .../V2/PlaceholderNavigationLeaf.cs | 4 ++-- .../V2/PlaceholderNavigationNode.cs | 4 ++-- .../V2/SectionNavigationNode.cs | 4 ++-- .../Building/AssemblerBuildService.cs | 7 ++++++- .../Navigation/GlobalNavigationHtmlWriter.cs | 2 +- 9 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/Elastic.Documentation.Navigation/V2/IslandNavigationNode.cs b/src/Elastic.Documentation.Navigation/V2/IslandNavigationNode.cs index 619aceac7f..2770d5cf7c 100644 --- a/src/Elastic.Documentation.Navigation/V2/IslandNavigationNode.cs +++ b/src/Elastic.Documentation.Navigation/V2/IslandNavigationNode.cs @@ -14,7 +14,7 @@ namespace Elastic.Documentation.Navigation.V2; public class IslandNavigationNode( string label, IRootNavigationItem source, - INodeNavigationItem? parent + INodeNavigationItem parent ) : INodeNavigationItem { /// The Id of the wrapped toc root, used for island lookup by nav ownership. @@ -30,7 +30,7 @@ public class IslandNavigationNode( public string NavigationTitle { get; } = label; /// - public IRootNavigationItem NavigationRoot { get; } = parent?.NavigationRoot!; + public IRootNavigationItem NavigationRoot { get; } = parent.NavigationRoot; /// public INodeNavigationItem? Parent { get; set; } = parent; diff --git a/src/Elastic.Documentation.Navigation/V2/LabelNavigationNode.cs b/src/Elastic.Documentation.Navigation/V2/LabelNavigationNode.cs index 5588fd3206..0461d0a9b3 100644 --- a/src/Elastic.Documentation.Navigation/V2/LabelNavigationNode.cs +++ b/src/Elastic.Documentation.Navigation/V2/LabelNavigationNode.cs @@ -18,7 +18,7 @@ public LabelNavigationNode( string label, bool expandedByDefault, IReadOnlyCollection children, - INodeNavigationItem? parent + INodeNavigationItem parent ) { Id = ShortId.Create("label", label); @@ -26,7 +26,7 @@ public LabelNavigationNode( ExpandedByDefault = expandedByDefault; NavigationItems = children; Parent = parent; - NavigationRoot = parent?.NavigationRoot!; + NavigationRoot = parent.NavigationRoot; _index = new LabelIndexLeaf(this); } diff --git a/src/Elastic.Documentation.Navigation/V2/PageCrossLinkLeaf.cs b/src/Elastic.Documentation.Navigation/V2/PageCrossLinkLeaf.cs index 51927aaf14..e0cfb99835 100644 --- a/src/Elastic.Documentation.Navigation/V2/PageCrossLinkLeaf.cs +++ b/src/Elastic.Documentation.Navigation/V2/PageCrossLinkLeaf.cs @@ -12,7 +12,7 @@ public class PageCrossLinkLeaf( Uri page, string title, string sitePrefix, - INodeNavigationItem? parent + INodeNavigationItem parent ) : ILeafNavigationItem, INavigationModel { public Uri Page { get; } = page; @@ -27,7 +27,7 @@ public class PageCrossLinkLeaf( public string NavigationTitle { get; } = title; /// - public IRootNavigationItem NavigationRoot { get; } = parent?.NavigationRoot!; + public IRootNavigationItem NavigationRoot { get; } = parent.NavigationRoot; /// public INodeNavigationItem? Parent { get; set; } = parent; diff --git a/src/Elastic.Documentation.Navigation/V2/PageFolderNavigationNode.cs b/src/Elastic.Documentation.Navigation/V2/PageFolderNavigationNode.cs index b19b2994b4..df80c88f5f 100644 --- a/src/Elastic.Documentation.Navigation/V2/PageFolderNavigationNode.cs +++ b/src/Elastic.Documentation.Navigation/V2/PageFolderNavigationNode.cs @@ -20,7 +20,7 @@ public PageFolderNavigationNode( Uri page, string sitePrefix, IReadOnlyCollection children, - INodeNavigationItem? parent + INodeNavigationItem parent ) { Id = ShortId.Create("page-folder", title); @@ -29,7 +29,7 @@ public PageFolderNavigationNode( Url = ResolveUrl(page, sitePrefix); NavigationItems = children; Parent = parent; - NavigationRoot = parent?.NavigationRoot!; + NavigationRoot = parent.NavigationRoot; _index = new PageFolderIndexLeaf(this); } diff --git a/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationLeaf.cs b/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationLeaf.cs index e1213a7316..14fa23d387 100644 --- a/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationLeaf.cs +++ b/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationLeaf.cs @@ -14,7 +14,7 @@ namespace Elastic.Documentation.Navigation.V2; public class PlaceholderNavigationLeaf( string title, string sitePrefix, - INodeNavigationItem? parent + INodeNavigationItem parent ) : ILeafNavigationItem, INavigationModel { /// @@ -27,7 +27,7 @@ public class PlaceholderNavigationLeaf( public string NavigationTitle { get; } = title; /// - public IRootNavigationItem NavigationRoot { get; } = parent?.NavigationRoot!; + public IRootNavigationItem NavigationRoot { get; } = parent.NavigationRoot; /// public INodeNavigationItem? Parent { get; set; } = parent; diff --git a/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationNode.cs b/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationNode.cs index 5835f191ae..d0ef003345 100644 --- a/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationNode.cs +++ b/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationNode.cs @@ -19,7 +19,7 @@ public PlaceholderNavigationNode( string title, string sitePrefix, IReadOnlyCollection children, - INodeNavigationItem? parent + INodeNavigationItem parent ) { Id = ShortId.Create("placeholder-group", title); @@ -27,7 +27,7 @@ public PlaceholderNavigationNode( Url = ComputeUrl(title, sitePrefix); NavigationItems = children; Parent = parent; - NavigationRoot = parent?.NavigationRoot!; + NavigationRoot = parent.NavigationRoot; _index = new PlaceholderIndexLeaf(this); } diff --git a/src/Elastic.Documentation.Navigation/V2/SectionNavigationNode.cs b/src/Elastic.Documentation.Navigation/V2/SectionNavigationNode.cs index eb6f37ec2d..90cac5c047 100644 --- a/src/Elastic.Documentation.Navigation/V2/SectionNavigationNode.cs +++ b/src/Elastic.Documentation.Navigation/V2/SectionNavigationNode.cs @@ -21,7 +21,7 @@ public SectionNavigationNode( bool isolated, bool dropdown, IReadOnlyCollection children, - INodeNavigationItem? parent + INodeNavigationItem parent ) { Id = ShortId.Create("section", label); @@ -31,7 +31,7 @@ public SectionNavigationNode( Dropdown = dropdown; NavigationItems = children; Parent = parent; - NavigationRoot = parent?.NavigationRoot!; + NavigationRoot = parent.NavigationRoot; _index = new SectionIndexLeaf(this); } diff --git a/src/services/Elastic.Documentation.Assembler/Building/AssemblerBuildService.cs b/src/services/Elastic.Documentation.Assembler/Building/AssemblerBuildService.cs index 3dcb4ed477..4a78fc900d 100644 --- a/src/services/Elastic.Documentation.Assembler/Building/AssemblerBuildService.cs +++ b/src/services/Elastic.Documentation.Assembler/Building/AssemblerBuildService.cs @@ -118,8 +118,13 @@ Cancel ctx var navV2FileInfo = configurationContext.ConfigurationFileProvider.NavigationV2File; SiteNavigation navigation; - if (featureFlags.NavV2Enabled && navV2FileInfo is not null) + if (featureFlags.NavV2Enabled) { + if (navV2FileInfo is null) + { + assembleContext.Collector.EmitGlobalError("nav-v2 feature flag is enabled but config/navigation-v2.yml is missing — refusing to fall back to navigation.yml because that would silently produce the wrong sidebar."); + return false; + } _logger.LogInformation("nav-v2 feature flag enabled — loading navigation-v2.yml"); var v2File = NavigationV2File.Deserialize(await readFs.File.ReadAllTextAsync(navV2FileInfo.FullName, ctx)); navigation = new SiteNavigationV2(v2File, siteNavigationFile, assembleContext, documentationSets, assembleContext.Environment.PathPrefix); diff --git a/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs b/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs index 5c15386d0d..00f389fc1a 100644 --- a/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs +++ b/src/services/Elastic.Documentation.Assembler/Navigation/GlobalNavigationHtmlWriter.cs @@ -98,7 +98,7 @@ Cancel ctx var model = new NavigationViewModel { Title = section.Label, - TitleUrl = section.Url, + TitleUrl = CombineWithSitePrefix(navV2, section.Url), Tree = wrapper, IsPrimaryNavEnabled = true, IsUsingNavigationDropdown = false, From 307847b02f3e19f9f1f14b77911a644a70c77a6a Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Wed, 13 May 2026 16:31:34 +0200 Subject: [PATCH 185/226] fix: address CodeRabbit comments on tests, links, search, and rules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Four small CodeRabbit fixes that span tests + main-scope code: Test method names — follow the Method_Scenario_Expected convention: - SiteNavigationV2PageEntriesResolveFilesFromUnseenChildTocs → SiteNavigationV2_PageEntriesForUnseenChildTocs_ResolvesFiles - SiteNavigationV2PageEntriesUseV2OrderForPrevNext → SiteNavigationV2_PageEntriesWithV2Navigation_UseCorrectPrevNextOrder - SiteNavigationResolvesFilesFromUnseenChildTocs → SiteNavigation_FilesFromUnseenChildTocs_ResolvesCorrectly _TableOfContents.cshtml — add rel="noopener noreferrer" to all four target="_blank" anchors (View as Markdown, Report a docs issue, Edit this page, Learn how to contribute) for opener isolation. DetectionRuleFile.cs — stop surfacing raw exception messages in ForUnparsableSource. The thrown messages include absolute checkout paths and internal parser state which then render into the page. Use a sanitized generic note instead. NavigationSearchComponent.tsx — treat useQuery isError as "API unavailable" too. A network/timeout failure leaves data undefined, so the previous isApiAvailable === false check did not disable the search input on errors. CodeRabbit threads addressed: 3225182517, 3225182526, 3225182531, 3225182507, 3200139649, 3227146673. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../NavigationSearch/NavigationSearchComponent.tsx | 6 ++++-- .../Extensions/DetectionRules/DetectionRuleFile.cs | 7 +++++-- src/Elastic.Markdown/Layout/_TableOfContents.cshtml | 8 ++++---- tests/Navigation.Tests/Assembler/SiteNavigationTests.cs | 6 +++--- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearchComponent.tsx b/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearchComponent.tsx index e5f796a823..25889d8755 100644 --- a/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearchComponent.tsx +++ b/src/Elastic.Documentation.Site/Assets/web-components/NavigationSearch/NavigationSearchComponent.tsx @@ -14,7 +14,7 @@ interface NavigationSearchProps { const NavigationSearchInner = ({ placeholder }: NavigationSearchProps) => { const shouldCheckApi = config.buildType !== 'codex' && !config.airGapped - const { data: isApiAvailable } = useQuery({ + const { data: isApiAvailable, isError } = useQuery({ queryKey: ['api-health'], queryFn: async () => { const response = await fetch(`${config.apiBasePath}/v1/`, { @@ -31,7 +31,9 @@ const NavigationSearchInner = ({ placeholder }: NavigationSearchProps) => { return null } - const isSearchUnavailable = shouldCheckApi && isApiAvailable === false + // Treat network/timeout failures (isError) the same as a non-ok response — + // either way the search API is not reachable and the input should be disabled. + const isSearchUnavailable = shouldCheckApi && (isApiAvailable === false || isError) return (
  • - + @@ -51,7 +51,7 @@ @if (!string.IsNullOrEmpty(Model.GithubEditUrl)) {
  • - + @@ -62,7 +62,7 @@ @if (Model.Features.PrimaryNavEnabled && Model.BuildType != BuildType.Codex && Model.Branding is null) {
  • - - + + + + + + ` return document.querySelector('[data-nav-v2]')! @@ -85,6 +87,10 @@ function checkbox(id: string): HTMLInputElement { return document.getElementById(id) as HTMLInputElement } +function groupRow(id: string): HTMLElement { + return checkbox(id).closest('li.group-navigation') as HTMLElement +} + describe('initNavV2', () => { const originalRequestAnimationFrame = window.requestAnimationFrame @@ -132,4 +138,50 @@ describe('initNavV2', () => { expect(groupB.checked).toBe(true) expect(groupA.checked).toBe(false) }) + + it('scrolls the active branch into view when it opens below the viewport', () => { + window.history.pushState({}, '', '/guide/b/page') + + const nav = renderNav() + const container = document.querySelector( + '.pages-nav-menu' + ) as HTMLElement + const groupB = groupRow('group-b') + + Object.defineProperty(container, 'scrollTop', { + value: 0, + writable: true, + configurable: true, + }) + Object.defineProperty(container, 'clientHeight', { + value: 120, + configurable: true, + }) + container.getBoundingClientRect = jest.fn(() => ({ + x: 0, + y: 0, + top: 0, + right: 280, + bottom: 120, + left: 0, + width: 280, + height: 120, + toJSON: () => ({}), + })) + groupB.getBoundingClientRect = jest.fn(() => ({ + x: 0, + y: 150, + top: 150, + right: 280, + bottom: 250, + left: 0, + width: 280, + height: 100, + toJSON: () => ({}), + })) + + initNavV2(nav) + + expect(container.scrollTop).toBe(142) + }) }) diff --git a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts index 221b4c9cc3..5f246e578c 100644 --- a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts +++ b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts @@ -8,6 +8,7 @@ let navV2FolderLinkToggleBound = false let navV2OptimisticNavigateBound = false let navV2TruncationTippyInstances: Instance[] = [] +const navV2ActiveBranchScrollTimeouts = new WeakMap() function readCollapsedFolderIds(): Set { try { @@ -227,6 +228,7 @@ function ensureNavV2OptimisticCurrentOnNavigate() { markCurrentPageForPath(nav, path) expandToCurrentPageForPath(nav, path) applyActiveSubtreeHighlight(nav) + scheduleActiveBranchScroll(nav) }, true ) @@ -298,6 +300,90 @@ function collapseInactiveFolders( }) } +function findNavV2ScrollContainer(nav: HTMLElement): HTMLElement | null { + return nav.closest('.pages-nav-menu') +} + +function pickActiveBranchScrollTarget( + nav: HTMLElement, + current: HTMLAnchorElement +): HTMLElement | null { + let target = current.closest('li') + let walk = target + while (walk && walk !== nav) { + if (walk.matches('li.group-navigation')) { + target = walk + } + + walk = walk.parentElement?.closest('li') ?? null + } + + return target +} + +function scrollActiveBranchIntoView(nav: HTMLElement) { + const container = findNavV2ScrollContainer(nav) + if (!container) { + return + } + + const current = deepestCurrentSidebarLink(nav) + if (!current) { + return + } + + const target = pickActiveBranchScrollTarget(nav, current) + if (!target) { + return + } + + const containerRect = container.getBoundingClientRect() + const targetRect = target.getBoundingClientRect() + const topPadding = 8 + const bottomPadding = 16 + const visibleTop = containerRect.top + topPadding + const visibleBottom = containerRect.bottom - bottomPadding + + if (targetRect.top >= visibleTop && targetRect.bottom <= visibleBottom) { + return + } + + const targetTop = + targetRect.top - containerRect.top + container.scrollTop - topPadding + container.scrollTop = Math.max(0, targetTop) +} + +function scheduleActiveBranchScroll(nav: HTMLElement) { + const existingTimeouts = navV2ActiveBranchScrollTimeouts.get(nav) + if (existingTimeouts !== undefined) { + existingTimeouts.forEach((timeoutId) => window.clearTimeout(timeoutId)) + } + + const run = () => { + if (!nav.isConnected) { + return + } + + scrollActiveBranchIntoView(nav) + } + + requestAnimationFrame(() => { + requestAnimationFrame(() => { + run() + }) + }) + + const timeoutIds = [260, 520].map((delay, index) => + window.setTimeout(() => { + run() + if (index === 1) { + navV2ActiveBranchScrollTimeouts.delete(nav) + } + }, delay) + ) + navV2ActiveBranchScrollTimeouts.set(nav, timeoutIds) +} + function warmFolderSubtreeLayoutFromPeer(peer: HTMLElement) { const li = peer.parentElement if (!li?.matches('li.group-navigation')) { @@ -720,6 +806,7 @@ export function initNavV2(nav: HTMLElement) { markCurrentPage(nav) expandToCurrentPage(nav) applyActiveSubtreeHighlight(nav) + scheduleActiveBranchScroll(nav) initNavV2FolderLayoutWarmup(nav) requestAnimationFrame(() => { requestAnimationFrame(() => initNavV2TruncationTooltips(nav)) From 829ec0d49cd025ea9fd46cb53fd09cffe6901159 Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 19 May 2026 19:06:31 +0200 Subject: [PATCH 217/226] Re-scroll nav-v2 after sidebar chrome resizes The Jump to page web component can alter the sidebar chrome after the active branch scroll is first calculated. Observing the sidebar chrome and scroll container makes the active branch scroll correction respond to those late layout changes. Co-Authored-By: OpenAI GPT-5.4 Co-authored-by: Cursor --- .../Assets/pages-nav-v2.ts | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts index 5f246e578c..845146c7e1 100644 --- a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts +++ b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts @@ -9,6 +9,7 @@ let navV2OptimisticNavigateBound = false let navV2TruncationTippyInstances: Instance[] = [] const navV2ActiveBranchScrollTimeouts = new WeakMap() +const navV2ActiveBranchScrollObservers = new WeakMap() function readCollapsedFolderIds(): Set { try { @@ -384,6 +385,39 @@ function scheduleActiveBranchScroll(nav: HTMLElement) { navV2ActiveBranchScrollTimeouts.set(nav, timeoutIds) } +function initActiveBranchScrollObserver(nav: HTMLElement) { + if ( + typeof ResizeObserver === 'undefined' || + navV2ActiveBranchScrollObservers.has(nav) + ) { + return + } + + const observer = new ResizeObserver(() => { + if (!nav.isConnected) { + observer.disconnect() + navV2ActiveBranchScrollObservers.delete(nav) + return + } + + scheduleActiveBranchScroll(nav) + }) + navV2ActiveBranchScrollObservers.set(nav, observer) + + const container = findNavV2ScrollContainer(nav) + const stickyChrome = + container?.previousElementSibling instanceof HTMLElement + ? container.previousElementSibling + : null + + if (container) { + observer.observe(container) + } + if (stickyChrome) { + observer.observe(stickyChrome) + } +} + function warmFolderSubtreeLayoutFromPeer(peer: HTMLElement) { const li = peer.parentElement if (!li?.matches('li.group-navigation')) { @@ -806,6 +840,7 @@ export function initNavV2(nav: HTMLElement) { markCurrentPage(nav) expandToCurrentPage(nav) applyActiveSubtreeHighlight(nav) + initActiveBranchScrollObserver(nav) scheduleActiveBranchScroll(nav) initNavV2FolderLayoutWarmup(nav) requestAnimationFrame(() => { From b3834e1d96c53a08c7d6ab8155b2691931692eee Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 19 May 2026 19:15:11 +0200 Subject: [PATCH 218/226] Format nav-v2 scroll observer Prettier wrapped the ResizeObserver map type so the npm formatting check passes in CI. Co-Authored-By: OpenAI GPT-5.4 Co-authored-by: Cursor --- src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts index 845146c7e1..daa86d6f32 100644 --- a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts +++ b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts @@ -9,7 +9,10 @@ let navV2OptimisticNavigateBound = false let navV2TruncationTippyInstances: Instance[] = [] const navV2ActiveBranchScrollTimeouts = new WeakMap() -const navV2ActiveBranchScrollObservers = new WeakMap() +const navV2ActiveBranchScrollObservers = new WeakMap< + HTMLElement, + ResizeObserver +>() function readCollapsedFolderIds(): Set { try { From 608a295ecd18f86817a96aa7027adf7dbb07c47c Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Tue, 19 May 2026 21:13:45 +0200 Subject: [PATCH 219/226] Fix inline code callouts with links Inline callouts can contain Markdown links, but the parser rejected slash characters and skipped those callouts. Allow slashes in inline callout text and render inline callout Markdown without splitting the list item body so the existing formatting expectation passes. Co-Authored-By: OpenAI GPT-5.4 Co-authored-by: Cursor --- src/Elastic.Markdown/Myst/CodeBlocks/CallOutParser.cs | 2 +- .../Myst/CodeBlocks/EnhancedCodeBlockHtmlRenderer.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Elastic.Markdown/Myst/CodeBlocks/CallOutParser.cs b/src/Elastic.Markdown/Myst/CodeBlocks/CallOutParser.cs index 5864c55dd4..b1fcb9fb2d 100644 --- a/src/Elastic.Markdown/Myst/CodeBlocks/CallOutParser.cs +++ b/src/Elastic.Markdown/Myst/CodeBlocks/CallOutParser.cs @@ -11,6 +11,6 @@ public static partial class CallOutParser [GeneratedRegex(@"^.+\S+.*?\s<\d+>$", RegexOptions.IgnoreCase, 2000)] public static partial Regex CallOutNumber(); - [GeneratedRegex(@"^.+\S+.*?\s(?:\/\/|#)\s[^""\/#]+$", RegexOptions.IgnoreCase, 2000)] + [GeneratedRegex(@"^.+\S+.*?\s(?:\/\/|#)\s[^""#]+$", RegexOptions.IgnoreCase, 2000)] public static partial Regex MathInlineAnnotation(); } diff --git a/src/Elastic.Markdown/Myst/CodeBlocks/EnhancedCodeBlockHtmlRenderer.cs b/src/Elastic.Markdown/Myst/CodeBlocks/EnhancedCodeBlockHtmlRenderer.cs index 4adf9f9d14..1af15968e6 100644 --- a/src/Elastic.Markdown/Myst/CodeBlocks/EnhancedCodeBlockHtmlRenderer.cs +++ b/src/Elastic.Markdown/Myst/CodeBlocks/EnhancedCodeBlockHtmlRenderer.cs @@ -239,8 +239,8 @@ protected override void Write(HtmlRenderer renderer, EnhancedCodeBlock block) _ = renderer.WriteLine("
      "); foreach (var c in block.UniqueCallOuts) { - _ = renderer.WriteLine("
    1. "); - _ = renderer.WriteLine(RenderCalloutMarkdown(block, c).Value ?? string.Empty); + _ = renderer.Write("
    2. "); + _ = renderer.Write(RenderCalloutMarkdown(block, c).Value ?? string.Empty); _ = renderer.WriteLine("
    3. "); } From e54dac522afa1832f61a80a5618279e33802d2fe Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Wed, 20 May 2026 10:22:25 +0200 Subject: [PATCH 220/226] Support default-expanded Nav V2 groups Allow selected Nav V2 folders to stay open by default without losing manual collapse behavior, so high-priority guide sections remain visible while deeper folders stay collapsed. Co-Authored-By: GPT-5.5 Co-authored-by: Cursor --- config/navigation-v2.yml | 3 + .../Toc/NavigationV2File.cs | 7 +- .../V2/PageFolderNavigationNode.cs | 5 ++ .../V2/PlaceholderNavigationNode.cs | 5 ++ .../V2/SiteNavigationV2.cs | 8 +-- .../Assets/pages-nav-v2.test.ts | 68 ++++++++++++++++--- .../Assets/pages-nav-v2.ts | 34 +++++++++- .../Navigation/_TocTreeNavV2.cshtml | 14 ++++ .../NavigationV2FileTests.cs | 40 +++++++++++ 9 files changed, 167 insertions(+), 17 deletions(-) create mode 100644 tests/Elastic.Documentation.Configuration.Tests/NavigationV2FileTests.cs diff --git a/config/navigation-v2.yml b/config/navigation-v2.yml index a34de76574..f19fa6aed9 100644 --- a/config/navigation-v2.yml +++ b/config/navigation-v2.yml @@ -1788,6 +1788,7 @@ nav: - page: docs-content://manage-data/migrate/migrate-internal-indices.md title: Migrate system indices - group: Ingest tools + expanded: true page: docs-content://reference/ingestion-tools/index.md children: - toc: opentelemetry://reference @@ -2086,6 +2087,7 @@ nav: # FTS is the foundation — everything else layers on top. # ----------------------------------------------------------------------- - group: Search approaches + expanded: true page: docs-content://solutions/search/search-approaches.md children: # Full-text is core to every deployment, not just one option @@ -2173,6 +2175,7 @@ nav: # Two dimensions: what language? what interface? # ----------------------------------------------------------------------- - group: Build search queries + expanded: true page: docs-content://solutions/search/querying-for-search.md children: - group: The search API diff --git a/src/Elastic.Documentation.Configuration/Toc/NavigationV2File.cs b/src/Elastic.Documentation.Configuration/Toc/NavigationV2File.cs index 71cbf85b70..570adea70b 100644 --- a/src/Elastic.Documentation.Configuration/Toc/NavigationV2File.cs +++ b/src/Elastic.Documentation.Configuration/Toc/NavigationV2File.cs @@ -57,6 +57,7 @@ Uri Source public record GroupNavV2Item( string Title, Uri? Page, + bool Expanded, IReadOnlyList Children ) : INavV2Item; @@ -181,6 +182,10 @@ private static IReadOnlyList ReadItemList(IParser parser, ObjectDese if (dict.TryGetValue("group", out var groupVal) && groupVal is string groupStr) { + var expanded = dict.TryGetValue("expanded", out var expVal) + && expVal is string expStr + && bool.TryParse(expStr, out var expBool) + && expBool; var groupChildren = dict.TryGetValue("children", out var gch) && gch is IReadOnlyList gChildList ? gChildList : []; @@ -190,7 +195,7 @@ private static IReadOnlyList ReadItemList(IParser parser, ObjectDese var gpUri = gpStr.Contains("://") ? gpStr : $"docs-content://{gpStr}"; _ = Uri.TryCreate(gpUri, UriKind.Absolute, out groupPage); } - return new GroupNavV2Item(groupStr, groupPage, groupChildren); + return new GroupNavV2Item(groupStr, groupPage, expanded, groupChildren); } if (dict.TryGetValue("page", out var pageVal) && pageVal is string pageStr) diff --git a/src/Elastic.Documentation.Navigation/V2/PageFolderNavigationNode.cs b/src/Elastic.Documentation.Navigation/V2/PageFolderNavigationNode.cs index a610f70a4b..962ab122ab 100644 --- a/src/Elastic.Documentation.Navigation/V2/PageFolderNavigationNode.cs +++ b/src/Elastic.Documentation.Navigation/V2/PageFolderNavigationNode.cs @@ -19,6 +19,7 @@ public PageFolderNavigationNode( string title, Uri page, string sitePrefix, + bool expandedByDefault, IReadOnlyCollection children, INodeNavigationItem? parent ) @@ -26,6 +27,7 @@ public PageFolderNavigationNode( Id = ShortId.Create("page-folder", title); NavigationTitle = title; Url = ResolveUrl(page, sitePrefix); + ExpandedByDefault = expandedByDefault; NavigationItems = children; Parent = parent; NavigationRoot = parent?.NavigationRoot!; @@ -41,6 +43,9 @@ public PageFolderNavigationNode( /// public string NavigationTitle { get; } + /// Whether this folder starts expanded by default. + public bool ExpandedByDefault { get; } + /// public IRootNavigationItem NavigationRoot { get; } diff --git a/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationNode.cs b/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationNode.cs index 5835f191ae..65b84b2f53 100644 --- a/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationNode.cs +++ b/src/Elastic.Documentation.Navigation/V2/PlaceholderNavigationNode.cs @@ -18,6 +18,7 @@ public class PlaceholderNavigationNode : INodeNavigationItem children, INodeNavigationItem? parent ) @@ -25,6 +26,7 @@ public PlaceholderNavigationNode( Id = ShortId.Create("placeholder-group", title); NavigationTitle = title; Url = ComputeUrl(title, sitePrefix); + ExpandedByDefault = expandedByDefault; NavigationItems = children; Parent = parent; NavigationRoot = parent?.NavigationRoot!; @@ -40,6 +42,9 @@ public PlaceholderNavigationNode( /// public string NavigationTitle { get; } + /// Whether this folder starts expanded by default. + public bool ExpandedByDefault { get; } + /// public IRootNavigationItem NavigationRoot { get; } diff --git a/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs b/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs index 3d6359755a..6e536c2018 100644 --- a/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs +++ b/src/Elastic.Documentation.Navigation/V2/SiteNavigationV2.cs @@ -318,12 +318,12 @@ string sitePrefix { if (group.Page is not null) { - var folderPlaceholder = new PageFolderNavigationNode(group.Title, group.Page, sitePrefix, [], parent); + var folderPlaceholder = new PageFolderNavigationNode(group.Title, group.Page, sitePrefix, group.Expanded, [], parent); var folderChildren = BuildV2Items(group.Children, nodes, folderPlaceholder, sitePrefix); - return new PageFolderNavigationNode(group.Title, group.Page, sitePrefix, folderChildren, parent); + return new PageFolderNavigationNode(group.Title, group.Page, sitePrefix, group.Expanded, folderChildren, parent); } - var placeholder = new PlaceholderNavigationNode(group.Title, sitePrefix, [], parent); + var placeholder = new PlaceholderNavigationNode(group.Title, sitePrefix, group.Expanded, [], parent); var children = BuildV2Items(group.Children, nodes, placeholder, sitePrefix); - return new PlaceholderNavigationNode(group.Title, sitePrefix, children, parent); + return new PlaceholderNavigationNode(group.Title, sitePrefix, group.Expanded, children, parent); } } diff --git a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.test.ts b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.test.ts index 9a37c59014..3b68691018 100644 --- a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.test.ts +++ b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.test.ts @@ -41,12 +41,27 @@ function renderNav() {
    4. +
    5. + +
      +
      + +
      +
      +
    6. @@ -110,7 +140,7 @@ describe('initNavV2', () => { window.requestAnimationFrame = originalRequestAnimationFrame }) - it('keeps only the active page branch expanded', () => { + it('keeps the active page branch and default-expanded folders expanded', () => { window.history.pushState({}, '', '/guide/a/topic-1/current-page') const nav = renderNav() @@ -119,11 +149,13 @@ describe('initNavV2', () => { expect(checkbox('group-a').checked).toBe(true) expect(checkbox('group-a-1').checked).toBe(true) - expect(checkbox('group-a-2').checked).toBe(false) - expect(checkbox('group-b').checked).toBe(false) + expect(checkbox('group-a-2').checked).toBe(true) + expect(checkbox('group-a-2-child').checked).toBe(false) + expect(checkbox('group-b').checked).toBe(true) + expect(checkbox('group-c').checked).toBe(false) }) - it('collapses sibling folders when a new folder is opened manually', () => { + it('collapses non-default sibling folders when a new folder is opened manually', () => { window.history.pushState({}, '', '/guide/a/topic-1/current-page') const nav = renderNav() @@ -132,11 +164,29 @@ describe('initNavV2', () => { const groupA = checkbox('group-a') const groupB = checkbox('group-b') - groupB.checked = true - groupB.dispatchEvent(new Event('change', { bubbles: true })) + const groupC = checkbox('group-c') + groupC.checked = true + groupC.dispatchEvent(new Event('change', { bubbles: true })) - expect(groupB.checked).toBe(true) + expect(groupC.checked).toBe(true) expect(groupA.checked).toBe(false) + expect(groupB.checked).toBe(true) + }) + + it('respects manually collapsed default-expanded folders', () => { + window.history.pushState({}, '', '/guide/a/topic-1/current-page') + sessionStorage.setItem( + 'docs-builder-nav-v2-collapsed-ids', + JSON.stringify(['group-b']) + ) + + const nav = renderNav() + + initNavV2(nav) + + const groupB = checkbox('group-b') + + expect(groupB.checked).toBe(false) }) it('scrolls the active branch into view when it opens below the viewport', () => { diff --git a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts index daa86d6f32..846947e348 100644 --- a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts +++ b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts @@ -261,9 +261,24 @@ function getSiblingAccordionCheckboxes( ).filter((c) => c !== checkbox) } +function isDefaultExpandedCheckbox(checkbox: HTMLInputElement) { + return checkbox.dataset.navV2ExpandedDefault === 'true' +} + +function shouldKeepDefaultExpanded( + checkbox: HTMLInputElement, + collapsedIds: Set +) { + return ( + isDefaultExpandedCheckbox(checkbox) && + (!checkbox.id || !collapsedIds.has(checkbox.id)) + ) +} + /** * Accordion behaviour: when a folder is opened, collapse its siblings so - * only one branch stays expanded at that nesting level. + * only one branch stays expanded at that nesting level. Default-expanded + * siblings stay open unless the user explicitly collapsed them this session. */ function initAccordion(nav: HTMLElement) { nav.querySelectorAll( @@ -277,7 +292,13 @@ function initAccordion(nav: HTMLElement) { cb.addEventListener('change', (e) => { const target = e.target as HTMLInputElement if (target.checked) { + const collapsedIds = readCollapsedFolderIds() getSiblingAccordionCheckboxes(target).forEach((sibling) => { + if (shouldKeepDefaultExpanded(sibling, collapsedIds)) { + sibling.checked = true + return + } + sibling.checked = false }) } @@ -297,10 +318,17 @@ function collapseInactiveFolders( nav: HTMLElement, activeCheckboxes: Set ) { + const collapsedIds = readCollapsedFolderIds() getAllFolderCheckboxes(nav).forEach((cb) => { - if (!activeCheckboxes.has(cb)) { - cb.checked = false + if ( + activeCheckboxes.has(cb) || + shouldKeepDefaultExpanded(cb, collapsedIds) + ) { + cb.checked = true + return } + + cb.checked = false }) } diff --git a/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml b/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml index 8ed4867eca..0edd892571 100644 --- a/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml +++ b/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml @@ -79,6 +79,10 @@ data-nav-v2-expanded-default="true" + } class="sr-only pointer-events-none" tabindex="-1" aria-hidden="true"> @@ -161,6 +165,12 @@ else if (item is INodeNavigationItem folder) { var allHidden = folder.NavigationItems.All(n => n.Hidden); + var expandedByDefault = folder switch + { + PageFolderNavigationNode pageFolder => pageFolder.ExpandedByDefault, + PlaceholderNavigationNode placeholderFolder => placeholderFolder.ExpandedByDefault, + _ => false + };
    7. +
    8. + +
      + +
      +
    9. +
    10. + +
      +
      + +
      +
      +
    11. @@ -121,6 +163,12 @@ function groupRow(id: string): HTMLElement { return checkbox(id).closest('li.group-navigation') as HTMLElement } +function currentLinks(nav: HTMLElement): string[] { + return Array.from(nav.querySelectorAll('a.sidebar-link.current')).map( + (a) => a.textContent?.trim() ?? '' + ) +} + describe('initNavV2', () => { const originalRequestAnimationFrame = window.requestAnimationFrame @@ -234,4 +282,35 @@ describe('initNavV2', () => { expect(container.scrollTop).toBe(142) }) + + it('focuses the canonical duplicate location on direct page load', () => { + window.history.pushState({}, '', '/guide/shared') + + const nav = renderNav() + + initNavV2(nav) + + expect(currentLinks(nav)).toEqual(['Shared page in fundamentals']) + expect(checkbox('duplicate-primary').checked).toBe(true) + expect(checkbox('duplicate-secondary').checked).toBe(false) + expect(checkbox('duplicate-secondary-child').checked).toBe(false) + }) + + it('focuses the clicked duplicate location after navigation', () => { + window.history.pushState({}, '', '/guide/start') + + const nav = renderNav() + const platformDuplicate = nav.querySelector( + 'a[data-nav-v2-location="4.0.0"]' + )! + + platformDuplicate.click() + window.history.pushState({}, '', '/guide/shared') + initNavV2(nav) + + expect(currentLinks(nav)).toEqual(['Shared page in platform']) + expect(checkbox('duplicate-primary').checked).toBe(false) + expect(checkbox('duplicate-secondary').checked).toBe(true) + expect(checkbox('duplicate-secondary-child').checked).toBe(true) + }) }) diff --git a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts index 846947e348..8a1333ca37 100644 --- a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts +++ b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts @@ -3,6 +3,8 @@ import tippy from 'tippy.js' import type { Instance } from 'tippy.js' const navV2CollapsedStorageKey = 'docs-builder-nav-v2-collapsed-ids' +const navV2SelectedLocationsStorageKey = + 'docs-builder-nav-v2-selected-locations' let navV2FolderLinkToggleBound = false let navV2OptimisticNavigateBound = false @@ -36,6 +38,47 @@ function writeCollapsedFolderIds(ids: Set) { sessionStorage.setItem(navV2CollapsedStorageKey, JSON.stringify([...ids])) } +function readSelectedNavLocations(): Record { + try { + const raw = sessionStorage.getItem(navV2SelectedLocationsStorageKey) + if (!raw) { + return {} + } + + const parsed = JSON.parse(raw) as unknown + if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) { + return {} + } + + return Object.fromEntries( + Object.entries(parsed).filter( + (entry): entry is [string, string] => + typeof entry[0] === 'string' && + typeof entry[1] === 'string' + ) + ) + } catch { + return {} + } +} + +function rememberSelectedNavLocation(pathnameRaw: string, location?: string) { + if (!location) { + return + } + + const locations = readSelectedNavLocations() + locations[normalizeDocPathname(pathnameRaw)] = location + sessionStorage.setItem( + navV2SelectedLocationsStorageKey, + JSON.stringify(locations) + ) +} + +function selectedNavLocationForPath(pathnameRaw: string): string | null { + return readSelectedNavLocations()[normalizeDocPathname(pathnameRaw)] ?? null +} + function persistFolderCheckboxCollapsedState(cb: HTMLInputElement) { if (!cb.id) { return @@ -223,9 +266,16 @@ function ensureNavV2OptimisticCurrentOnNavigate() { return } - const here = window.location.pathname.replace(/\/$/, '') - const pathStripped = path.replace(/\/$/, '') - if (pathStripped === here) { + const selectedLocation = a.dataset.navV2Location + const previousSelectedLocation = selectedNavLocationForPath(path) + rememberSelectedNavLocation(path, selectedLocation) + + const here = normalizeDocPathname(window.location.pathname) + const pathStripped = normalizeDocPathname(path) + if ( + pathStripped === here && + (!selectedLocation || selectedLocation === previousSelectedLocation) + ) { return } @@ -314,15 +364,33 @@ function getAllFolderCheckboxes(nav: HTMLElement): HTMLInputElement[] { ) } +function folderContainsMatchingPath( + checkbox: HTMLInputElement, + pathnameRaw: string +) { + const group = checkbox.closest('li.group-navigation') + if (!group) { + return false + } + + return getAnchorsMatchingPath(group, pathnameRaw).length > 0 +} + function collapseInactiveFolders( nav: HTMLElement, - activeCheckboxes: Set + activeCheckboxes: Set, + pathnameRaw?: string ) { const collapsedIds = readCollapsedFolderIds() getAllFolderCheckboxes(nav).forEach((cb) => { + if (activeCheckboxes.has(cb)) { + cb.checked = true + return + } + if ( - activeCheckboxes.has(cb) || - shouldKeepDefaultExpanded(cb, collapsedIds) + shouldKeepDefaultExpanded(cb, collapsedIds) && + (!pathnameRaw || !folderContainsMatchingPath(cb, pathnameRaw)) ) { cb.checked = true return @@ -593,30 +661,8 @@ function navListItemDepthFromAnchor(anchor: Element, nav: HTMLElement): number { return depth } -/** - * Prefer the deepest {@code a.sidebar-link.current} when several share the URL (folder index - * and child, or duplicate toc entries). Otherwise {@code querySelector} picks the first in DOM - * order (usually a parent folder) and subtree/ancestor classes apply to the wrong rows. - */ function deepestCurrentSidebarLink(nav: HTMLElement): HTMLAnchorElement | null { - const anchors = nav.querySelectorAll( - 'a.sidebar-link.current' - ) - if (anchors.length === 0) { - return null - } - - let best = anchors[0] - let bestDepth = navListItemDepthFromAnchor(best, nav) - for (let i = 1; i < anchors.length; i++) { - const candidate = anchors[i] - const d = navListItemDepthFromAnchor(candidate, nav) - if (d > bestDepth) { - bestDepth = d - best = candidate - } - } - return best + return nav.querySelector('a.sidebar-link.current') } /** @@ -680,16 +726,11 @@ function applyActiveSubtreeHighlight(nav: HTMLElement) { } } -/** - * Mark all nav links whose href matches {@code pathname} with the "current" CSS class. - */ function markCurrentPageForPath(nav: HTMLElement, pathnameRaw: string) { $$('.current', nav).forEach((el) => el.classList.remove('current')) - const pathname = stripTrailingSlashForNavHref(pathnameRaw) - $$(`a[href="${pathname}"], a[href="${pathname}/"]`, nav).forEach((el) => - el.classList.add('current') - ) + const current = pickAnchorMatchingPath(nav, pathnameRaw) + current?.classList.add('current') } /** @@ -704,37 +745,74 @@ function markCurrentPage(nav: HTMLElement) { markCurrentPageForPath(nav, window.location.pathname) } -function pickDeepestAnchorMatchingPath( - nav: HTMLElement, +function getAnchorsMatchingPath( + root: ParentNode, pathnameRaw: string -): HTMLElement | null { +): HTMLAnchorElement[] { const pathname = stripTrailingSlashForNavHref(pathnameRaw) - const matches = nav.querySelectorAll( - `a[href="${pathname}"], a[href="${pathname}/"]` + return Array.from( + root.querySelectorAll( + `a[href="${pathname}"], a[href="${pathname}/"]` + ) ) - if (matches.length === 0) { +} + +function pickCanonicalAnchor( + nav: HTMLElement, + anchors: HTMLAnchorElement[] +): HTMLAnchorElement | null { + if (anchors.length === 0) { return null } - let best = matches[0] + let best = anchors[0] let bestDepth = navListItemDepthFromAnchor(best, nav) - for (let i = 1; i < matches.length; i++) { - const m = matches[i] - const d = navListItemDepthFromAnchor(m, nav) + let bestLi = best.closest('li') + for (let i = 1; i < anchors.length; i++) { + const candidate = anchors[i] + const candidateLi = candidate.closest('li') + if (!bestLi || !candidateLi || !bestLi.contains(candidateLi)) { + continue + } + + const d = navListItemDepthFromAnchor(candidate, nav) if (d > bestDepth) { bestDepth = d - best = m + best = candidate + bestLi = candidateLi } } return best } +function pickAnchorMatchingPath( + nav: HTMLElement, + pathnameRaw: string +): HTMLAnchorElement | null { + const matches = getAnchorsMatchingPath(nav, pathnameRaw) + if (matches.length === 0) { + return null + } + + const selectedLocation = selectedNavLocationForPath(pathnameRaw) + if (selectedLocation) { + const selected = matches.find( + (m) => m.dataset.navV2Location === selectedLocation + ) + if (selected) { + return selected + } + } + + return pickCanonicalAnchor(nav, matches) +} + /** * Expand all ancestor collapsible sections that contain the link for {@code pathnameRaw}. - * Uses the deepest matching anchor when several share the URL. + * Uses the selected nav occurrence when available; direct loads fall back to the canonical occurrence. */ function expandToCurrentPageForPath(nav: HTMLElement, pathnameRaw: string) { - const link = pickDeepestAnchorMatchingPath(nav, pathnameRaw) + const link = pickAnchorMatchingPath(nav, pathnameRaw) if (!link) { collapseInactiveFolders(nav, new Set()) return @@ -770,7 +848,7 @@ function expandToCurrentPageForPath(nav: HTMLElement, pathnameRaw: string) { writeCollapsedFolderIds(collapsedIds) } - collapseInactiveFolders(nav, activeCheckboxes) + collapseInactiveFolders(nav, activeCheckboxes, pathnameRaw) } /** diff --git a/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs b/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs index dfc09e2e40..3b68007979 100644 --- a/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs +++ b/src/Elastic.Documentation.Site/Navigation/NavigationTreeItem.cs @@ -16,6 +16,7 @@ public class NavigationTreeItem public required bool IsGlobalAssemblyBuild { get; init; } public required string RootNavigationId { get; set; } public required IHtmxAttributeProvider Htmx { get; init; } + public string NavV2LocationPath { get; init; } = ""; /// True when this subtree renders inside an island (entry-point + descendants). /// Links here must swap the full page chrome so clicking from a parent section's sidebar diff --git a/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml b/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml index 0edd892571..77784f692b 100644 --- a/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml +++ b/src/Elastic.Documentation.Site/Navigation/_TocTreeNavV2.cshtml @@ -11,6 +11,7 @@ var navHxAttrs = Model.IsIslandSubtree ? Model.Htmx.GetHxAttributes(hxSwapOob: "#main-container,#secondary-nav", preload: null) : Model.Htmx.GetNavHxAttributes(true, null); + var navV2ItemIndex = 0; } @foreach (var item in Model.SubTree.NavigationItems) { @@ -19,6 +20,11 @@ continue; } + var itemLocation = string.IsNullOrEmpty(Model.NavV2LocationPath) + ? $"{navV2ItemIndex}" + : $"{Model.NavV2LocationPath}.{navV2ItemIndex}"; + navV2ItemIndex++; + if (item is LabelNavigationNode label) { var labelBodyIsSubsection = NavV2LabelListKind.IsSubsectionList(label); @@ -50,7 +56,8 @@ SubTree = label, RootNavigationId = Model.RootNavigationId, Htmx = Model.Htmx, - IsIslandSubtree = Model.IsIslandSubtree + IsIslandSubtree = Model.IsIslandSubtree, + NavV2LocationPath = itemLocation })) } @@ -62,6 +69,7 @@ @@ -90,6 +98,7 @@ @if (!allHidden) @@ -126,7 +135,8 @@ SubTree = placeholderGroup, RootNavigationId = Model.RootNavigationId, Htmx = Model.Htmx, - IsIslandSubtree = Model.IsIslandSubtree + IsIslandSubtree = Model.IsIslandSubtree, + NavV2LocationPath = itemLocation })) @@ -141,6 +151,7 @@ @@ -154,6 +165,7 @@ @@ -189,6 +201,7 @@ @if (!allHidden) @@ -225,7 +238,8 @@ SubTree = folder, RootNavigationId = Model.RootNavigationId, Htmx = Model.Htmx, - IsIslandSubtree = Model.IsIslandSubtree + IsIslandSubtree = Model.IsIslandSubtree, + NavV2LocationPath = itemLocation })) @@ -239,6 +253,7 @@ From c21fecf43dc4ae9654e7803f9abfe75bc46ea6b2 Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Wed, 20 May 2026 13:57:04 +0200 Subject: [PATCH 223/226] Format Nav V2 duplicate focus script Co-Authored-By: OpenAI GPT-5.5 Co-authored-by: Cursor --- src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts index 8a1333ca37..337968be60 100644 --- a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts +++ b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts @@ -53,8 +53,7 @@ function readSelectedNavLocations(): Record { return Object.fromEntries( Object.entries(parsed).filter( (entry): entry is [string, string] => - typeof entry[0] === 'string' && - typeof entry[1] === 'string' + typeof entry[0] === 'string' && typeof entry[1] === 'string' ) ) } catch { @@ -274,7 +273,8 @@ function ensureNavV2OptimisticCurrentOnNavigate() { const pathStripped = normalizeDocPathname(path) if ( pathStripped === here && - (!selectedLocation || selectedLocation === previousSelectedLocation) + (!selectedLocation || + selectedLocation === previousSelectedLocation) ) { return } From b5245a275533fac9aa412890adddad173e1b718c Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Wed, 20 May 2026 14:46:44 +0200 Subject: [PATCH 224/226] Honor same-page duplicate folder selection Only treat same-page folder-row clicks as expand toggles when that exact row is already focused, so duplicate rows can still update the selected nav location. Co-Authored-By: OpenAI GPT-5.5 Co-authored-by: Cursor --- .../Assets/pages-nav-v2.test.ts | 49 +++++++++++++++++++ .../Assets/pages-nav-v2.ts | 11 ++++- 2 files changed, 58 insertions(+), 2 deletions(-) diff --git a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.test.ts b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.test.ts index e65431e876..a50cc6011d 100644 --- a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.test.ts +++ b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.test.ts @@ -145,6 +145,36 @@ function renderNav() { +
    12. + +
      +
      + +
      +
      +
    13. +
    14. + +
      + +
      +
    15. @@ -313,4 +343,23 @@ describe('initNavV2', () => { expect(checkbox('duplicate-secondary').checked).toBe(true) expect(checkbox('duplicate-secondary-child').checked).toBe(true) }) + + it('focuses a duplicate folder row when already on its page', () => { + window.history.pushState({}, '', '/guide/shared-folder') + + const nav = renderNav() + initNavV2(nav) + + expect(currentLinks(nav)).toEqual(['Shared folder primary']) + + const secondaryFolder = nav.querySelector( + 'a[data-nav-v2-location="6"]' + )! + + secondaryFolder.click() + + expect(currentLinks(nav)).toEqual(['Shared folder secondary']) + expect(checkbox('duplicate-folder-primary').checked).toBe(false) + expect(checkbox('duplicate-folder-secondary').checked).toBe(true) + }) }) diff --git a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts index 337968be60..6e6f1cdc5d 100644 --- a/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts +++ b/src/Elastic.Documentation.Site/Assets/pages-nav-v2.ts @@ -183,7 +183,10 @@ function ensureNavV2FolderLinkToggle() { return } - if (linkPathMatchesCurrentPage(a)) { + if ( + a.classList.contains('current') && + linkPathMatchesCurrentPage(a) + ) { cb.checked = !cb.checked cb.dispatchEvent(new Event('change', { bubbles: true })) persistFolderCheckboxCollapsedState(cb) @@ -249,7 +252,11 @@ function ensureNavV2OptimisticCurrentOnNavigate() { li?.querySelector( ':scope > .nav-folder-peer > a.sidebar-link' ) ?? null - if (folderRowInLi === a && linkPathMatchesCurrentPage(a)) { + if ( + folderRowInLi === a && + a.classList.contains('current') && + linkPathMatchesCurrentPage(a) + ) { return } From 1a0a0259f6e52d602cc4507f37d8e1dbf7879568 Mon Sep 17 00:00:00 2001 From: Fabrizio Ferri Benedetti Date: Wed, 20 May 2026 15:19:31 +0200 Subject: [PATCH 225/226] Fix Products dropdown layering Allow the desktop Products dropdown to escape the secondary nav scroll container while keeping the Elastic nav above sticky docs chrome. Co-Authored-By: GPT-5.5 Co-authored-by: Cursor --- src/Elastic.Documentation.Site/Assets/assembler.css | 5 +++++ .../Assets/secondary-nav-dropdown.css | 6 ++++++ src/Elastic.Documentation.Site/Layout/_SecondaryNav.cshtml | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Elastic.Documentation.Site/Assets/assembler.css b/src/Elastic.Documentation.Site/Assets/assembler.css index fc0ffa1fc6..3d30d90c43 100644 --- a/src/Elastic.Documentation.Site/Assets/assembler.css +++ b/src/Elastic.Documentation.Site/Assets/assembler.css @@ -27,6 +27,11 @@ body.air-gapped elastic-docs-header .euiHeader { overflow-x: clip; } +#elastic-nav-wrapper { + position: relative; + z-index: 40; +} + #elastic-nav { @media screen and (min-width: 1200px) { [data-component='Container'] { diff --git a/src/Elastic.Documentation.Site/Assets/secondary-nav-dropdown.css b/src/Elastic.Documentation.Site/Assets/secondary-nav-dropdown.css index 48580da254..90b915a62a 100644 --- a/src/Elastic.Documentation.Site/Assets/secondary-nav-dropdown.css +++ b/src/Elastic.Documentation.Site/Assets/secondary-nav-dropdown.css @@ -7,6 +7,12 @@ */ @layer components { + @media screen and (min-width: 768px) { + .secondary-nav-scroll-container { + overflow: visible; + } + } + .secondary-nav-dropdown { display: inline-flex; align-items: center; diff --git a/src/Elastic.Documentation.Site/Layout/_SecondaryNav.cshtml b/src/Elastic.Documentation.Site/Layout/_SecondaryNav.cshtml index 563de0d697..41fea3a8fa 100644 --- a/src/Elastic.Documentation.Site/Layout/_SecondaryNav.cshtml +++ b/src/Elastic.Documentation.Site/Layout/_SecondaryNav.cshtml @@ -6,7 +6,7 @@