Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ AGENTS.md
.github/instructions/**.instructions.md
CLAUDE.md
GEMINI.md
.cursor

# VS code settings
# Editor settings
.cursor
.vscode
13 changes: 11 additions & 2 deletions explore-analyze/dashboards/add-controls.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/kibana/current/add-controls.html
description: Add interactive filter controls to dashboards with options lists, range sliders, and time sliders. Help viewers dynamically filter data and focus on specific segments.
applies_to:
stack: ga
serverless: ga
Expand All @@ -10,9 +11,17 @@ products:

# Add filter controls [add-controls]

**Controls** are interactive panels that you add to your dashboards to help viewers filter and display only the data they want to explore quicker. Controls apply to all relevant panels in a dashboard.
Filter controls enable dashboard viewers to interactively narrow down displayed data without editing the dashboard itself. When viewers select values in a control, the filters apply across all relevant panels, making it easier to focus on specific data segments or time ranges.

There are three types of controls:
You can add filter controls to your dashboards:

- **Options list**: Dropdown selections for one or more field values
- **Range slider**: Numeric range filtering for continuous data
- **Time slider**: Time range navigation and animation

Before adding controls, make sure you have edit permissions for the dashboard and understand which fields your viewers need to filter by.

## Control types

* [**Options list**](#create-and-add-options-list-and-range-slider-controls) — Adds a dropdown that allows to filter data by selecting one or more values.
For example, if you are using the **[Logs] Web Traffic** dashboard from the sample web logs data, you can add an options list for the `machine.os.keyword` field that allows you to display only the logs generated from `osx` and `ios` operating systems.
Expand Down
5 changes: 4 additions & 1 deletion explore-analyze/dashboards/arrange-panels.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/kibana/current/arrange-panels.html
description: Organize dashboard panels with collapsible sections, resize layouts, and reposition visualizations. Improve readability and load performance with structured arrangements.
applies_to:
stack: ga
serverless: ga
Expand All @@ -10,7 +11,9 @@ products:

# Organize dashboard panels [arrange-panels]

Customize your dashboard layout by arranging panels into logical groups and adjusting their size and position. When panels are well organized, it makes your dashboard easier to read, faster to load, and helps its viewers locate important information quicker.
Well-organized dashboard layouts help viewers find information quickly and improve overall performance. You can arrange panels into collapsible sections, resize and reposition them, and use keyboard controls for precise placement.

This guide shows you how to create collapsible sections, move and resize panels using mouse or keyboard, and duplicate panels across dashboards.

## Arrange panels in collapsible sections [collapsible-sections]
```{applies_to}
Expand Down
14 changes: 6 additions & 8 deletions explore-analyze/dashboards/building.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,27 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/kibana/current/create-dashboards.html
description: Build dashboards in Kibana with visualizations, charts, maps, and controls to track key metrics and enable data exploration across Elasticsearch data.
applies_to:
stack: ga
serverless: ga
products:
- id: kibana
---

# Building dashboards [create-dashboards]
# Build dashboards [create-dashboards]

{{kib}} offers many ways to build powerful dashboards that will help you visualize and keep track of the most important information contained in your {{es}} data.
Dashboards in {{product.kibana}} combine multiple visualizations, metrics, and controls into a single view that tells a story about your data. You can create dashboards from scratch, start with templates, or assemble panels from the Visualize Library.

* Create and assemble visualizations such as charts or maps, and enrich them with helpful legends containing key data.
* Extract and show key indicators and metrics to keep them visible and highlighted at all times.
* Add text, images, and links to help viewers make the most of your dashboard.
* Include additional controls to facilitate filtering and browsing the data.
This section covers the key concepts and requirements for building dashboards. To get started, you need indexed data in {{product.elasticsearch}} and a {{data-source}} that defines which data to analyze.

$$$dashboard-minimum-requirements$$$
To create or edit dashboards, you first need to:

* have [data indexed into {{es}}](/manage-data/ingest.md) and a [data view](../find-and-organize/data-views.md). A data view is a subset of your {{es}} data, and allows you to load the right data when building a visualization or exploring it.
* have [data indexed into {{product.elasticsearch}}](/manage-data/ingest.md) and a [data view](../find-and-organize/data-views.md). A data view is a subset of your {{product.elasticsearch}} data, and allows you to load the right data when building a visualization or exploring it.

::::{tip}
If you don’t have data at hand and still want to explore dashboards, you can import one of the [sample data sets](../../manage-data/ingest/sample-data.md) available.
::::

* have sufficient permissions on the **Dashboard** feature. If that’s not the case, you might get a read-only indicator. A {{kib}} administrator can [grant you the required privileges](../../deploy-manage/users-roles/cluster-or-deployment-auth/kibana-privileges.md).
* have sufficient permissions on the **Dashboard** feature. If that’s not the case, you might get a read-only indicator. A {{product.kibana}} administrator can [grant you the required privileges](../../deploy-manage/users-roles/cluster-or-deployment-auth/kibana-privileges.md).
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/kibana/current/create-a-dashboard-of-panels-with-ecommerce-data.html
description: Step-by-step tutorial for building a time series dashboard with e-commerce data, including custom intervals, percentiles, and multi-layer visualizations.
applies_to:
stack: ga
serverless: ga
Expand All @@ -10,9 +11,14 @@ products:

# Create a dashboard with time series charts [create-a-dashboard-of-panels-with-ecommerce-data]

In this tutorial, youll use the ecommerce sample data to analyze sales trends, but you can use any type of data to complete the tutorial.
In this tutorial, you'll learn how to build time series visualizations that reveal patterns in your data over time. You'll explore techniques for customizing date intervals, calculating percentiles, comparing multiple data series, and analyzing percentage changes. By the end, you'll understand the core workflows for creating effective time series dashboards.

When you’re done, you’ll have a complete overview of the sample web logs data.
The tutorial uses ecommerce sample data, but you can apply these techniques to any time-based data set.

**Prerequisites:**

- Access to {{product.kibana}} (version 8.0 or later)
- Ecommerce sample data installed (instructions below)

:::{image} /explore-analyze/images/kibana-lens_timeSeriesDataTutorialDashboard_8.3.png
:alt: Final dashboard with eCommerce sample data
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/kibana/current/create-a-dashboard-of-panels-with-web-server-data.html
description: Step-by-step tutorial for building log monitoring dashboards with web server data, covering metrics, traffic analysis, and common Lens visualization patterns.
applies_to:
stack: ga
serverless: ga
products:
- id: kibana
---

# Create a simple dashboard to monitor website logs [create-a-dashboard-of-panels-with-web-server-data]
# Create a dashboard to monitor website logs [create-a-dashboard-of-panels-with-web-server-data]

Learn the most common ways to create a dashboard from your own data. The tutorial will use sample data from the perspective of an analyst looking at website logs, but this type of dashboard works on any type of data.
In this tutorial, you'll learn the most common visualization patterns for creating dashboards in {{product.kibana}}. You'll explore how to build metric panels, line charts, tables, pie charts, and other visualizations using Lens, the default visualization editor. By the end, you'll understand the fundamental workflows for transforming raw data into meaningful dashboards.

When you’re done, you’ll have a complete overview of the sample web logs data.
The tutorial uses web server log data from the analyst perspective, but these techniques apply to any data set.

**Prerequisites:**

- Access to {{product.kibana}} (version 8.0 or later)
- Web logs sample data installed (instructions below)

:::{image} /explore-analyze/images/kibana-lens_logsDashboard_8.4.0.png
:alt: Logs dashboard
Expand All @@ -38,7 +44,7 @@ Open the visualization editor, then make sure the correct fields appear.
* {applies_to}`stack: ga 9.2` Select **Add** > **Visualization** in the toolbar.
* {applies_to}`stack: ga 9.0` Click **Create visualization**.

2. Make sure the **{{kib}} Sample Data Logs** {{data-source}} appears.
2. Make sure the **{{product.kibana}} Sample Data Logs** {{data-source}} appears.

:::{image} /explore-analyze/images/kibana-lens_dataViewDropDown_8.4.0.png
:alt: Data view dropdown
Expand Down
15 changes: 11 additions & 4 deletions explore-analyze/dashboards/create-dashboard.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,38 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/kibana/current/create-dashboard.html
description: Create dashboards with visualizations, controls, and content from the library. Configure settings, organize panels, and save custom analytics views for data exploration.
applies_to:
stack: ga
serverless: ga
products:
- id: kibana
---

# Create a dashboard [create-dashboard]
# Create dashboards [create-dashboard]

1. Open the **Dashboards** page in {{kib}}.
Creating a dashboard involves assembling visualizations, controls, and other panel types into a cohesive view that tells a story about your data. You can start from scratch, add content from the Visualize Library, or combine both approaches.

This guide walks through the process of creating a new dashboard, adding content, configuring settings, and saving your work.

To create a dashboard:

1. Open the **Dashboards** page in {{product.kibana}}.
2. Select **Create dashboard** to start with an empty dashboard.

When you create a dashboard, you are automatically in edit mode and can make changes to the dashboard.

3. Populate your dashboard with the content that you need. You can:

* [**Add new visualizations**](../visualize.md#panels-editors). Create a chart using [Lens](../visualize/lens.md), the default visualization editor in {{kib}}, or other visualizations such as [Maps](../visualize/maps.md).
* [**Add new visualizations**](../visualize.md#panels-editors). Create a chart using [Lens](../visualize/lens.md), the default visualization editor in {{product.kibana}}, or other visualizations such as [Maps](../visualize/maps.md).
* [**Add existing content from the library**](../visualize/visualize-library.md). Select existing visualizations or Discover sessions that have already been configured and saved to the **Visualize Library**.
* [**Add annotations or navigation panels**](../visualize.md#panels-editors). Make your dashboard more informative and easier to read with sections, text, and images.
* [**Add controls**](add-controls.md). Define a set of interactive filters (options lists, range or time sliders) that you and future users of this dashboard can use to explore its data.

4. Organize your dashboard by [organizing the various panels](arrange-panels.md).
5. Define the main settings of your dashboard from the **Settings** menu located in the toolbar.

1. A meaningful title, description, and [tags](../find-and-organize/tags.md) allow you to find the dashboard quickly later when browsing your list of dashboards or using the {{kib}} search bar.
1. A meaningful title, description, and [tags](../find-and-organize/tags.md) allow you to find the dashboard quickly later when browsing your list of dashboards or using the {{product.kibana}} search bar.
2. Additional display options allow you unify the look and feel of the dashboard’s panels:

* **Store time with dashboard** — Saves the specified time filter.
Expand Down
17 changes: 9 additions & 8 deletions explore-analyze/dashboards/drilldowns.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/kibana/current/drilldowns.html
description: Create interactive drilldowns in dashboards to navigate between dashboards, external URLs, or Discover. Maintain context with filters and time ranges during exploration.
applies_to:
stack: ga
serverless: ga
Expand All @@ -10,9 +11,9 @@ products:

# Add drilldowns [drilldowns]

Panels have built-in interactive capabilities that apply filters to the dashboard data. For example, when you drag a time range or click a pie slice, a filter for the time range or pie slice is applied. Drilldowns let you customize the interactive behavior while keeping the context of the interaction.
Drilldowns extend the built-in interactivity of dashboard panels by letting you define custom actions that users can trigger by clicking on data points. Unlike basic click interactions that only apply filters, drilldowns can navigate to other dashboards, open external websites, or jump to Discover while preserving filters, time ranges, and other context.

There are three types of drilldowns you can add to dashboards:
You can add three types of drilldowns to dashboard panels:

* **Dashboard** — Navigates you from one dashboard to another dashboard. For example, create a drilldown for a **Lens** panel that navigates you from a summary dashboard to a dashboard with a filter for a specific host name.
* **URL** — Navigates you from a dashboard to an external website. For example, a website with the specific host name as a parameter.
Expand Down Expand Up @@ -113,13 +114,13 @@ For example, if you have a dashboard that shows data from a Github repository, y

1. Give the drilldown a name. For example, `Show on Github`.
2. For the **Trigger**, select **Single click**.
3. To navigate to the {{kib}} repository Github issues, enter the following in the **Enter URL** field:
3. To navigate to the {{product.kibana}} repository Github issues, enter the following in the **Enter URL** field:

```bash
https://github.com/elastic/kibana/issues?q=is:issue+is:open+{{event.value}}
```

{{kib}} substitutes `{{event.value}}` with a value associated with the selected pie slice.
{{product.kibana}} substitutes `{{event.value}}` with a value associated with the selected pie slice.

4. Click **Create drilldown**.

Expand All @@ -128,7 +129,7 @@ For example, if you have a dashboard that shows data from a Github repository, y

![URL drilldown popup](/explore-analyze/images/kibana-dashboard_urlDrilldownPopup_8.3.png "")

9. In the list of {{kib}} repository issues, verify that the slice value appears.
9. In the list of {{product.kibana}} repository issues, verify that the slice value appears.

![Open ios issues in the elastic/kibana repository on Github](/explore-analyze/images/kibana-dashboard_urlDrilldownGithub_8.3.png "")

Expand Down Expand Up @@ -212,7 +213,7 @@ Example:

**rison**

Serialize variables in [rison](https://github.com/w33ble/rison-node) format. Rison is a common format for {{kib}} apps for storing state in the URL.
Serialize variables in [rison](https://github.com/w33ble/rison-node) format. Rison is a common format for {{product.kibana}} apps for storing state in the URL.

Example:

Expand Down Expand Up @@ -346,11 +347,11 @@ To ensure that the configured URL drilldown works as expected with your data, yo

| Source | Variable | Description |
| --- | --- | --- |
| **Global** | kibanaUrl | {{kib}} base URL. Useful for creating URL drilldowns that navigate within {{kib}}. |
| **Global** | kibanaUrl | {{product.kibana}} base URL. Useful for creating URL drilldowns that navigate within {{product.kibana}}. |
| **Context** | context.panel | Context provided by current dashboard panel. |
| | context.panel.id | ID of a panel. |
| | context.panel.title | Title of a panel. |
| | context.panel.filters | List of {{kib}} filters applied to a panel.<br>Tip: Use in combination with [rison](#helpers) helper forinternal {{kib}} navigations with carrying over current filters. |
| | context.panel.filters | List of {{product.kibana}} filters applied to a panel.<br>Tip: Use in combination with [rison](#helpers) helper forinternal {{product.kibana}} navigations with carrying over current filters. |
| | context.panel.query.query | Current query string. |
| | context.panel.query.language | Current query language. |
| | context.panel.timeRange.from<br>context.panel.timeRange.to | Current time picker values.<br>Tip: Use in combination with [date](#helpers) helper to format date. |
Expand Down
7 changes: 6 additions & 1 deletion explore-analyze/dashboards/duplicate-dashboards.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/kibana/current/duplicate-dashboards.html
description: Duplicate dashboards to create copies with identical panels and configurations. Modify duplicates independently while preserving original dashboard settings.
applies_to:
stack: ga
serverless: ga
products:
- id: kibana
---

# Duplicate a dashboard [duplicate-dashboards]
# Duplicate dashboards [duplicate-dashboards]

Duplicating a dashboard creates an exact copy with all panels, filters, and settings intact. This is useful when you want to experiment with changes without affecting the original dashboard, or when you need similar dashboards for different data sets or audiences.

To duplicate a dashboard:

1. Open the dashboard you want to duplicate.
2. Exit the edit mode, and click **Duplicate** in the toolbar.
Expand Down
7 changes: 4 additions & 3 deletions explore-analyze/dashboards/import-dashboards.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
---
mapped_pages:
- https://www.elastic.co/guide/en/kibana/current/_import_dashboards.html
description: Import dashboards with related objects from saved object files. Configure import behavior for data views, visualizations, and handle object conflicts during migration.
applies_to:
stack: ga
serverless: ga
products:
- id: kibana
---

# Import a dashboard [_import_dashboards]
# Import dashboards [_import_dashboards]

You can import dashboards from the [Saved Objects](../find-and-organize/saved-objects.md) page under **Stack Management**.
To move dashboards between {{product.kibana}} instances or restore dashboards from backup, use the import feature. Import works with NDJSON files that contain dashboard definitions and their dependencies.

When importing dashboards, you also import their related objects, such as data views and visualizations. Import options allow you to define how the import should behave with these related objects.
When you import a dashboard, {{product.kibana}} also imports related objects like {{data-sources}} and visualizations. You can control whether to overwrite existing objects or create new ones with random IDs to avoid conflicts.

* **Check for existing objects**: When selected, objects are not imported when another object with the same ID already exists in this space or cluster. For example, if you import a dashboard that uses a data view which already exists, the data view is not imported and the dashboard uses the existing data view instead. You can also chose to select manually which of the imported or the existing objects are kept by selecting **Request action on conflict**.
* **Create new objects with random IDs**: All related objects are imported and are assigned a new ID to avoid conflicts.
Expand Down
Loading
Loading