Skip to content

Improve Kibana learning tutorial with richer examples#5399

Open
florent-leborgne wants to merge 9 commits intomainfrom
learn-kibana-data-exploration-tutorial
Open

Improve Kibana learning tutorial with richer examples#5399
florent-leborgne wants to merge 9 commits intomainfrom
learn-kibana-data-exploration-tutorial

Conversation

@florent-leborgne
Copy link
Contributor

@florent-leborgne florent-leborgne commented Mar 6, 2026

Summary

Creates a new hands-on tutorial, "Learn data exploration and visualization with Kibana", that teaches new Kibana users the core analyst workflow from raw data to a shareable dashboard. It replaces the old 8.x "Quick start" page (which was redirected to a generic hub page) with a proper onboarding experience, in order to fix urgent SEO issues.

The tutorial uses the built-in sample web logs dataset so readers can follow along immediately. It walks through:

  1. Loading sample data in a few clicks
  2. Exploring data in Discover with ES|QL: first query (FROM, KEEP, SORT), document inspection, aggregation (WHERE, STATS) that produces a chart, saving it to a dashboard
  3. Building a dashboard with Lens and ES|QL:
    • A metric panel (median response size with dynamic coloring, sparkline, and bytes formatting), with optional suggestions for more metrics (unique visitors, total requests with trend indicator, unique URLs) in a collapsible dropdown
    • A line chart of log volume over time broken down by host, with a reference line, and an optional suggestion for more time series
    • A bar chart of requests by file extension (auto-detected categorical field)
    • An ES|QL table of recent events added directly from the dashboard (teaching a second way to add panels)
    • An "Expand your dashboard" step suggesting pie charts, treemaps, and other chart types
    • Inline editing (exclude blank values via regex) and interactive cross-filtering (click a 404 bar, watch the dashboard react)
    • Layout tips for arranging panels (metrics top, time series middle, bar/table bottom) with a polished dashboard screenshot
  4. Sharing the dashboard with a direct link, with accurate info on access control
  5. Navigating between Discover, Lens, and Dashboards: all major paths including saved sessions, "Explore in Discover", inline vs. full Lens editing, and adding ES|QL panels directly
  6. Next steps: own data, ES|QL, logs/metrics/traces, more visualization tutorials, maps, alerts, machine learning

The tutorial is designed so readers experience Kibana's strengths naturally through the steps (smart defaults, instant previews, cross-filtering, the Discover-to-dashboard loop) rather than being told about them.

Also updates explore-analyze/index.md to add a link to the tutorial.

Closes https://github.com/elastic/docs-content-internal/issues/811

Test plan

  • Build the docs and verify all cross-links resolve
  • Follow the tutorial end-to-end with sample web logs data on a recent Kibana version
  • Verify screenshots match the actual Kibana UI
  • Check that applies_to tags render correctly for the sharing section

Generative AI disclosure

  1. Did you use a generative AI (GenAI) tool to assist in creating this contribution?
  • Yes
  • No
  1. If you answered "Yes" to the previous question, please specify the tool(s) and model(s) used (e.g., Google Gemini, OpenAI ChatGPT-4, etc.).

Tool(s) and model(s) used: Cursor and claude-4.6-opus-high

New learning-oriented page covering an end-to-end Kibana workflow:
ingest system logs with Elastic Agent, explore data in Discover with
ES|QL, build a dashboard with Lens visualizations, and share it.
Also updates the explore-analyze index and TOC to link to the new page.

Closes elastic/docs-content-internal#811

Made-with: Cursor
Rework the "Learn data exploration and visualization" tutorial to better
showcase Kibana's strengths through concrete, experiential examples:

- Replace plain count metric with median response size (bytes formatting,
  dynamic coloring, background sparkline)
- Add reference line to line chart for visual threshold context
- Make inline editing step concrete (exclude blanks via regex)
- Add interactive cross-filtering step (click 404 to filter dashboard)
- Add screenshots for each Lens visualization step
- Surface Lens smart defaults (auto chart type, auto time axis)
- Mention ES|QL autocomplete, Discover contextual adaptation, pre-built
  integration dashboards, dashboard controls, and collapsible sections
- Simplify sharing to link-based flow with accurate access control info
- Expand navigation section with saved sessions and ES|QL panel paths
- Add machine learning to Next steps

Closes elastic/docs-content-internal#811

Made-with: Cursor
@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2026

✅ Vale Linting Results

No issues found on modified lines!


The Vale linter checks documentation changes against the Elastic Docs style guide.

To use Vale locally or report issues, refer to Elastic style guide for Vale.

- Replace {icon}`editorCodeBlock` with {icon}`code` (matching try-esql.md)
- Remove broken /reference/beats.md link (page does not exist)

Made-with: Cursor
@github-actions
Copy link
Contributor

github-actions bot commented Mar 6, 2026

@florent-leborgne
Copy link
Contributor Author

Hey @teresaalvarezsoler & @ninoslavmiskovic, some fairly hot SEO issue came our way and I had to quickly get a "core kibana analyst features" learning-oriented page up.

The way I went about it is to show some end-to-end story that starts in discover and ends with sharing a dashboard. It shows or mentions some features (sometimes to keep the overall flow centered I "just" linked to features with some context such as controls, collapsible sections, etc.).

Let me know what you think about the overall narrative here, and if there are some things you'd like me to better highlight or more concretely show. Keep in mind that this is really meant to be an entry point more than an exhaustive tour of all features 🙏

Copy link
Contributor

@nastasha-solomon nastasha-solomon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤌🏼

Copy link

@teresaalvarezsoler teresaalvarezsoler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @florent-leborgne. I will let @ninoslavmiskovic comment on the Discover side but I wonder why we need the SORT and LIMIT in the ES|QL queries. I think we can remove these from the main examples and just add a note about LIMIT if users need it (their results shouldn't be slow).

For the dashboard, it doesn't look very good... Can we have a dashboard that looks more like this one? With some metrics to the top, then a couple of time series and a bar chart and finally a table? @gvnmagni can you help?

Image

…tion

- Remove SORT and LIMIT from both ES|QL queries to reduce complexity;
  add a tip about these commands for readers who want them.
- Add a "Keep experimenting" step encouraging readers to add more panels
  on their own (unique visitors metric, bytes over time, events table).
- Expand the "Arrange and save" step with concrete layout guidance
  (metrics top, time series middle, bar/table bottom) and a polished
  dashboard screenshot.

Made-with: Cursor
@ninoslavmiskovic
Copy link

Thanks @florent-leborgne. I will let @ninoslavmiskovic comment on the Discover side but I wonder why we need the SORT and LIMIT in the ES|QL queries. I think we can remove these from the main examples and just add a note about LIMIT if users need it (their results shouldn't be slow).

For the dashboard, it doesn't look very good... Can we have a dashboard that looks more like this one? With some metrics to the top, then a couple of time series and a bar chart and finally a table? @gvnmagni can you help?

Image

Thanks @teresaalvarezsoler - I would keep the sort by timestamp, since it is sorting logs and makes sense. The LIMIT 50 would be something I would remove ++ There is a hidden LIMIT 1000 that we apply anywhere. We spend a lot of effort on removing the default LIMIT 10, let's not introduce it again :)

Otherwise seems good to me.

- Reorder chart steps to metric → line → bar (matches top-to-bottom
  dashboard layout).
- Add host breakdown to line chart and lower reference line to 70.
- Add ES|QL table step (adding panels from dashboard via ES|QL).
- Replace vague "Keep experimenting" with collapsible dropdowns for
  optional panels and an "Expand your dashboard" step.
- Add SORT back to first ES|QL query; update learning objectives.
- Rename file to kibana-data-exploration-learning-tutorial.md per
  content type naming convention; update toc.yml and index.md refs.

Made-with: Cursor
@florent-leborgne
Copy link
Contributor Author

Thanks for the notes @teresaalvarezsoler @ninoslavmiskovic;
I made some changes throughout the page to lead to something that looks hopefully better as a final result (see there https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/5399/explore-analyze/kibana-data-exploration-learning-tutorial#arrange-and-save)

Let me know what you think

@teresaalvarezsoler
Copy link

Thanks for the notes @teresaalvarezsoler @ninoslavmiskovic; I made some changes throughout the page to lead to something that looks hopefully better as a final result (see there https://docs-v3-preview.elastic.dev/elastic/docs-content/pull/5399/explore-analyze/kibana-data-exploration-learning-tutorial#arrange-and-save)

Let me know what you think

Thanks Florent, the dashboard looks much better now. Thanks for making the changes. Are you using the latest main? I see the x-axis still in bold when they should be regular. We can also hide them. Also, we should adjust the panels sizes (metrics should have a max of 5 rows, time series should be more compact too...) @gvnmagni can you help @florent-leborgne with the last mile of dashboard changes to make it more beautiful..

@florent-leborgne
Copy link
Contributor Author

@teresaalvarezsoler I'm using serverless production to reflect the current reality of products, but I can still update my screenshot later this week after the next serverless deployment, my dashboard is saved so it'll be very quick to do - I had to zoom out a little to show more panels vertically so maybe that's also causing some of the strange size feeling; I will check if I can make it better and check with Giovanni

Add concrete sizing guidance to the "Arrange and save" step (metrics
~5 rows, charts ~10-12 rows) and replace the dashboard screenshot with
a version that has compact panels, hidden x-axis titles, and daily
grid lines.

Made-with: Cursor
Use the correct navigation: Style panel > Bottom axis > Axis title,
and change the example from time series (where it defaults to None)
to bar chart where users are more likely to need it.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants