-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve and extend template and dashboard configurations #3921
Comments
SGTM.
Perhaps we could reduce these to a single option (
The question here is if we want to allow overwriting any mapping setting or we explicitly add things? I'd say we start with explicit settings for the things we know are useful (number of shards, number of replicas, index numerics). |
Just to have mentioned it, this will make setting up the dahsboards URL from the CLI a bit more annoying: I also noticed that it's |
I like the idea, kudos! |
I will start the migration step by step. For the longer For |
The dashboards config options were moved under the new setup namespace. This allows more flexibility in the future together with template loading. For more details see elastic#3921.
The dashboards config options were moved under the new setup namespace. This allows more flexibility in the future together with template loading. For more details see #3921.
* Change config option to setup.template.* from outputs.elasticsearch.template.* * Move loading logic into template package * Remove template loading logic from elasticsearch output * Changelog updated * Template tests were moved from output to template package * Documentation was updated. Will need some more work for which a follow up Github issue will be created. * Add `GetVersion()` to elasticsearch client. * Introduce callback registration for elasticsearch output. This should be generalised later. The template loading registers only with the output client factory which means, the template is not loaded when connecting for loading dashboards, pipeline or monitoring data which is intended. This is only migration the existing options. New options like outputting to a json file or load additional config options will be added in a follow up PR. Part of elastic#3654 and elastic#3921
* Change config option to setup.template.* from outputs.elasticsearch.template.* * Move loading logic into template package * Remove template loading logic from elasticsearch output * Changelog updated * Template tests were moved from output to template package * Documentation was updated. Will need some more work for which a follow up Github issue will be created. * Add `GetVersion()` to elasticsearch client. * Introduce callback registration for elasticsearch output. This should be generalised later. The template loading registers only with the output client factory which means, the template is not loaded when connecting for loading dashboards, pipeline or monitoring data which is intended. This is only migration the existing options. New options like outputting to a json file or load additional config options will be added in a follow up PR. Part of #3654 and #3921
Closing as old and no longer relevant. |
In 6.0 the template configuration changes as it is dynamically loaded. Also recently dashboards configs to load dashboards were introduced. In addition logic to load certain data on startup like pipelines were added. This issue propose a potential way forward with and extensible config format for the above cases.
Current configuration
The current configuration for
dashboard
andtemplate
looks as following:The template part is inside elasticsearch output as it currently only applies to the ES output.
Proposal
The proposal is to place all setup related configuration options under one namespace called
setup
and move all config options there. This would look as following:The
fields
path is on the top level as it can not only apply to templates as it does now, but also can be used to dynamically generate the index pattern for kibana dashboards or potential pipelines in the future.This approach would have a few advantages:
kibana
could be added for example for the dashboardssetup
likepipeline
to define a list of pipelines which should be loadedThe above is a breaking change and we would need to have a migration script if possible.
Further ideas
The above change will allow to solve some more problem in #3654. These changes are not tied to the above but it would be good to do them at the same time.
For this the config could be extended as following:
In the above the follwing changed:
load
config option was added to be able to only generate the local file and not load it into elaticsearchoutput
config option was added to define the file the template should be written to. Probably other name needed to not confuse with output config.beat.version
config option was added. This would be need if someone wants to load a template for a different version. Thinking of beats-tool which is not updated that often.settings
config option was added. This could be a dict that is added to the template to provide the possibility to configure shards / replicas and others directly when generating the template.Related to #3654 and #3691
The text was updated successfully, but these errors were encountered: