Skip to content

[Logs Explorer] Provide support for user settings #177703

@gbamparop

Description

@gbamparop

📓 Summary

Logs Explorer currently uses sensible default configurations for certain features to minimise the need for users to customise the app for their use cases. However, there can be times when their data structures and content is different in which cases it would be helpful to have the ability to override such configurations. In addition, custom configurations would help with internal testing by different teams at Elastic.

In particular, the list of logs-backed data views as well as the fields used for the content and resource virtual columns should be configurable, while keeping the defaults that we already have today.

These settings can be implemented using uiSettings which offers users the ability to override them through the Kibana advanced settings UI, kibana.yml and through API endpoints.

On top of this, we can introduce a dedicated settings page which will narrow down the advanced settings to only those that are related to Logs Explorer. This concept is similar to the APM settings and under the hood, it will use the uiSettings APIs.

✔️ Acceptance criteria

  • A new settings page will be created which can be accessed from a link in the top navigation. This page will look very similar to Kibana advanced settings and will narrow down the settings to the ones related to Logs Explorer.
  • A setting will be added for logs-backed data views where users will be able to configure the list of data views that could be explored in Logs Explorer. The defaults will be logs, auditbeat, filebeat and winbeat. Users will not have to add prefixes for remote clusters.
  • A setting will be added for selecting the fallback fields that will be used to populate the content virtual column. The order will be honoured, and the default values will be message, error.message, event.original.
  • A setting will be added for selecting the fields that will be displayed in the resource virtual column. The order will be honoured, and the default values will be service.name, container.name, host.name, orchestrator.namespace, cloud.instance.id.
  • All settings will be implemented as either text-fields or an another suitable format that is already supported by the framework
  • A dashboard will be created with telemetry about its usage. Stack telemetry already includes some information about this.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions