Skip to content

Commit 8e2d472

Browse files
committed
Add warnings about cloning index templates
1 parent d7eefc8 commit 8e2d472

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

docs/en/ingest-management/data-streams.asciidoc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ For data streams, the index template configures the stream's backing indices as
103103
These templates are loaded when the integration is installed, and are used to configure the integration's data streams.
104104

105105
[discrete]
106+
[[data-streams-index-templates-edit]]
106107
== Edit the {es} index template
107108

108109
WARNING: Custom index mappings may conflict with the mappings defined by the integration
@@ -187,6 +188,8 @@ this pipeline can be used for custom data processing, adding fields, sanitizing
187188

188189
Starting in version 8.12, ingest pipelines can be configured to process events at various levels of customization.
189190

191+
NOTE: If you create a custom index pipeline, Elastic is not responsible for ensuring that it indexes and behaves as expected. Creating a custom pipeline involves custom processing of the incoming data, which should be done with caution and tested carefully.
192+
190193
`global@custom`::
191194
Apply processing to all events
192195
+
@@ -305,6 +308,7 @@ Specifically, apply the built-in `90-days-default` {ilm-init} policy so that dat
305308

306309
NOTE: If you cloned an index template to customize the data retention policy on an {es} version prior to 8.13, you must update the index template in the clone to use the `ecs@mappings` component template on {es} version 8.13 or later. See <<data-streams-pipeline-update-cloned-template-before-8.13,Update index template cloned before {es} 8.13>> for the step-by-step instructions.
307310

311+
NOTE:
308312

309313
[discrete]
310314
[[data-streams-ilm-one]]
@@ -370,7 +374,7 @@ Now that you've created a component template,
370374
you need to create an index template to apply the changes to the correct data stream.
371375
The easiest way to do this is to duplicate and modify the integration's existing index template.
372376

373-
WARNING: When duplicating the index template, do not change or remove any managed properties. This may result in problems when upgrading.
377+
WARNING: When duplicating the index template, do not change or remove any managed properties. This may result in problems when upgrading. Cloning the index template of an integration package involves some risk as any changes made to the original index template when it is upgraded will not be propagated to the cloned version.
374378

375379
. Navigate to **{stack-manage-app}** > **Index Management** > **Index Templates**.
376380
. Find the index template you want to clone. The index template will have the `<type>` and `<dataset>` in its name,

docs/en/ingest-management/integrations/integrations-assets-best-practices.asciidoc

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ When you use integrations with {fleet} and {agent} there are some restrictions t
77
* <<assets-restrictions-without-agent>>
88
* <<assets-restrictions-custom-integrations>>
99
* <<assets-restrictions-copying>>
10+
* <<assets-restrictions-editing-assets>>
11+
* <<assets-restrictions-custom-component-templates>>
12+
* <<assets-restrictions-custom-ingest-pipeline>>
13+
* <<assets-restrictions-cloning-index-template>>
1014

1115
[discrete]
1216
[[assets-restrictions-standalone]]
@@ -46,3 +50,37 @@ This way, because the assets are not managed by another integration, there is le
4650

4751
Note, however, that creating standalone integration assets based off of {fleet} and {agent} integrations is considered a custom configuration that is not tested nor supported. Whenever possible it's recommended to use standard integrations.
4852

53+
[discrete]
54+
[[assets-restrictions-editing-assets]]
55+
== Editing assets managed by {fleet}
56+
57+
{fleet}-managed integration assets should not be edited. Examples of these assets include an integration index template, the `@package` component templates, and ingest pipelines that are bundled with integrations. Any changes made to these assets will be overwritten when the integration is upgraded.
58+
59+
[discrete]
60+
[[assets-restrictions-custom-component-templates]]
61+
== Creating custom component templates
62+
63+
While creating a `@custom` component template for a package integration is supported, it involves risks which can prevent data from being ingested correctly. This practice can lead to broken indexing, data loss, and breaking of integration package upgrades.
64+
65+
For example:
66+
67+
* If the `@package` compoment template of an integration is changed from a "normal" datastream to `TSDB` or `LogsDB`, some of the custom settings or mappings introduced may not be compatible with these indexing modes.
68+
* If the type of an ECS field is overridden from, for example, `keyword` to `text`, aggregations based on that field may be prevented for built-in dashboards.
69+
70+
A similar caution against custom index mappings is noted in <<data-streams-index-templates-edit>>.
71+
72+
[discrete]
73+
[[assets-restrictions-custom-ingest-pipeline]]
74+
== Creating a custom ingest pipeline
75+
76+
If you create a custom index pipeline (as documented in the <<data-streams-pipeline-tutorial,Transform data with custom ingest pipelines>> tutorial), Elastic is not responsible for ensuring that it indexes and behaves as expected. Creating a custom pipeline involves custom processing of the incoming data, which should be done with caution and tested carefully.
77+
78+
Refer to <<data-streams-pipelines>> to learn more.
79+
80+
[discrete]
81+
[[assets-restrictions-cloning-index-template]]
82+
== Cloning the index template of an integration package
83+
84+
When you clone the index template of an integration package, this involves risk as any changes made to the original index template when it is upgraded will not be propagated to the cloned version. That is, the structure of the new index template is effectively frozen at the moment that it is cloned. Cloning an index template of an integration package can therefore lead to broken indexing, data loss, and breaking of integration package upgrades.
85+
86+
Additionally, cloning index templates to add or inject additional component templates cannot be tested by Elastic, so we cannot guarantee that the template will work in future releases.

0 commit comments

Comments
 (0)