Adds docs for how to set up a policy (#32987)
* Adds docs for how to set up a policy * Fix failing docs test
This commit is contained in:
parent
50368656ee
commit
dbf6ba7e21
|
@ -1,6 +1,110 @@
|
|||
[[set-up-lifecycle-policy]]
|
||||
== Set up {ilm} policy
|
||||
|
||||
Focus on how this is done in the general sense, not the fine points about
|
||||
rollover just yet. Specifically that `index.lifecycle.name` can be used here
|
||||
too, not just the create index API explicitly.
|
||||
In order for an index to use an {ilm} policy to manage its lifecycle we must
|
||||
first define a lifecycle policy for it to use. The following request creates
|
||||
a policy called `my_policy` in Elasticsearch which we can later use to manage
|
||||
our indexes.
|
||||
|
||||
[source,js]
|
||||
------------------------
|
||||
PUT _ilm/my_policy
|
||||
{
|
||||
"policy": {
|
||||
"phases": {
|
||||
"hot": {
|
||||
"actions": {
|
||||
"rollover": {
|
||||
"max_size": "25GB" <1>
|
||||
}
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"after": "30d",
|
||||
"actions": {
|
||||
"delete": {} <2>
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
------------------------
|
||||
// CONSOLE
|
||||
<1> Rollover the index when it reaches 25GB in size
|
||||
<2> Delete the index when its 30 days old
|
||||
|
||||
{ilm} will manage an index using the policy defined in the
|
||||
`index.lifecycle.name` index setting. If this setting does not exist in the
|
||||
settings for a particular index {ilm} will not manage that index.
|
||||
|
||||
To set the policy for an index there are two options:
|
||||
1. Apply the policy to an index template and bootstrap creating the first index
|
||||
2. Apply the policy to a new index in a create index request
|
||||
|
||||
=== Applying a policy to an index template
|
||||
|
||||
The `index.lifecycle.name` setting can be set in an index template so that it
|
||||
is automatically applied to indexes matching the templates index pattern:
|
||||
|
||||
[source,js]
|
||||
-----------------------
|
||||
PUT _template/my_template
|
||||
{
|
||||
"index_patterns": ["test-*"], <1>
|
||||
"settings": {
|
||||
"number_of_shards": 1,
|
||||
"number_of_replicas": 1,
|
||||
"index.lifecycle.name": "my_policy", <2>
|
||||
"index.lifecycle.rollover_alias": "test-alias"
|
||||
}
|
||||
}
|
||||
-----------------------
|
||||
// CONSOLE
|
||||
<1> This template will be applied to all indexes which have a name starting
|
||||
with `test-`
|
||||
<2> The template will set the policy to be used to `my_policy`
|
||||
|
||||
Now that a policy exists and is used in an index template we can create an
|
||||
initial index which will be managed by our policy:
|
||||
|
||||
[source,js]
|
||||
-----------------------
|
||||
PUT test-000001
|
||||
{
|
||||
"aliases": {
|
||||
"test-alias":{
|
||||
"is_write_index": true <1>
|
||||
}
|
||||
}
|
||||
}
|
||||
-----------------------
|
||||
// CONSOLE
|
||||
<1> Set this initial index to be the write index for this alias.
|
||||
|
||||
We can now write data to the `test-alias` alias. Because we have a rollover
|
||||
action defined in our policy when the index grows larger than 25GB {ilm} will
|
||||
create a new index and roll the alias over to use the new index automatically.
|
||||
|
||||
=== Apply a policy to a create index request
|
||||
|
||||
The `index.lifecycle.name` setting can be set on an individual create index
|
||||
request so {ilm} immediately starts managing the index:
|
||||
|
||||
[source,js]
|
||||
-----------------------
|
||||
PUT test-index
|
||||
{
|
||||
"settings": {
|
||||
"number_of_shards": 1,
|
||||
"number_of_replicas": 1,
|
||||
"index.lifecycle.name": "my_policy"
|
||||
}
|
||||
}
|
||||
-----------------------
|
||||
// CONSOLE
|
||||
|
||||
NOTE: it is not recommended to set the policy on the index creation request if
|
||||
you are using the rollover action as the indexes created by the rollover action
|
||||
will not have the policy set. IF you are using the rollover action in your
|
||||
policy its recommended to set the policy in an index template.
|
||||
|
||||
|
|
Loading…
Reference in New Issue