Namespacing
Elastic Cloud Serverless projects are autoscaled environments, fully managed by Elastic and available on Elastic Cloud. Availability This functionality is generally available and ready for production usage. Serverless interfaces and procedures might differ from classic Elastic Stack deployments. The Elastic Stack includes Elastic's core products such as Elasticsearch, Kibana, Logstash, and Beats. Availability This functionality is generally available and ready for production usage. Unless stated otherwise on the page, this functionality is available when your Elastic Stack is deployed on Elastic Cloud Hosted, Elastic Cloud Enterprise, Elastic Cloud on Kubernetes, and self-managed environments. This documentation corresponds to the latest patch available for each minor version. If you're not using the latest patch, check the release notes for changes.
Serverless
Generally available
Stack
Generally available
All settings are structured using dictionaries and lists. Those are collapsed into "namespaced" settings, by creating a setting using the full path of the settings name and it’s parent structures names, when reading the configuration file.
For example this setting:
output:
elasticsearch:
index: 'beat-%{[agent.version]}-%{+yyyy.MM.dd}'
gets collapsed into output.elasticsearch.index: 'beat-%{[agent.version]}-%{+yyyy.MM.dd}'. The full name of a setting is based on all parent structures involved.
Lists create numeric names starting with 0.
For example this filebeat setting:
filebeat:
inputs:
- type: log
Gets collapsed into filebeat.inputs.0.type: log.
Alternatively to using indentation, setting names can be used in collapsed form too.
Note: having two settings with same fully collapsed path is invalid.
Simple filebeat example with partially collapsed setting names and use of compact form:
filebeat.inputs:
- type: log
paths: ["/var/log/*.log"]
multiline.pattern: '^['
multiline.match: after
output.elasticsearch.hosts: ["http://localhost:9200"]