Configure curator for all StackLight environments
https://github.com/Mirantis/mk-lab-salt-model/pull/171
diff --git a/elasticsearch/server/curator.yml b/elasticsearch/server/curator.yml
index c0e9300..82f34bb 100644
--- a/elasticsearch/server/curator.yml
+++ b/elasticsearch/server/curator.yml
@@ -1,87 +1,32 @@
parameters:
+ _param:
+ elasticsearch_curator_indices_pattern: "^(log|notification)-.*$"
+ elasticsearch_curator_retention_period: 31
elasticsearch:
server:
curator:
timeout: 900
logfile: /var/log/elasticsearch/curator.log
logformat: json
+ master_only: true
actions:
- action: delete_indices
description: >-
- Delete indices older than month (based on index name).
- Ignore the error if the filter does not result in an actionable
- list of indices (ignore_empty_list) and exit cleanly.
+ Delete indices older than ${_param:elasticsearch_curator_retention_period} days (based on index name).
options:
ignore_empty_list: True
+ timeout_override:
continue_if_exception: False
disable_action: False
filters:
- - filtertype: pattern
- kind: regex
- value: 'netflow\-\d\d\d\d\.\d\d\.\d\d$'
- - filtertype: age
- source: name
- direction: older
- timestring: '%Y.%m.%d'
- unit: days
- unit_count: 30
- - action: delete_indices
- description: >-
- Delete indices older than 6 months (based on index name).
- Ignore the error if the filter does not result in an actionable
- list of indices (ignore_empty_list) and exit cleanly.
- options:
- ignore_empty_list: True
- continue_if_exception: False
- disable_action: False
- filters:
- - filtertype: pattern
- kind: regex
- value: '.*\-\d\d\d\d\.\d\d\.\d\d$'
- - filtertype: age
- source: name
- direction: older
- timestring: '%Y.%m.%d'
- unit: days
- unit_count: 180
- - action: replicas
- description: >-
- Reduce the replica count to 0 for indices older than 60 days
- (based on index creation_date)
- options:
- count: 0
- wait_for_completion: False
- continue_if_exception: False
- disable_action: False
- filters:
- - filtertype: pattern
- kind: regex
- value: '.*\-\d\d\d\d\.\d\d\.\d\d$'
- - filtertype: age
- source: creation_date
- direction: older
- unit: days
- unit_count: 90
- - action: forcemerge
- description: >-
- forceMerge indices older than 2 days (based on index
- creation_date) to 2 segments per shard. Delay 120 seconds
- between each forceMerge operation to allow the cluster to
- quiesce.
- This action will ignore indices already forceMerged to the same
- or fewer number of segments per shard, so the 'forcemerged'
- filter is unneeded.
- options:
- max_num_segments: 2
- delay: 120
- continue_if_exception: False
- disable_action: False
- filters:
- - filtertype: pattern
- kind: regex
- value: '.*\-\d\d\d\d\.\d\d\.\d\d$'
- - filtertype: age
- source: creation_date
- direction: older
- unit: days
- unit_count: 2
+ - filtertype: pattern
+ kind: regex
+ value: "${_param:elasticsearch_curator_indices_pattern}"
+ exclude:
+ - filtertype: age
+ source: name
+ direction: older
+ timestring: '%Y.%m.%d'
+ unit: days
+ unit_count: ${_param:elasticsearch_curator_retention_period}
+ exclude:
diff --git a/elasticsearch/server/single.yml b/elasticsearch/server/single.yml
index d5c0538..ab9e009 100644
--- a/elasticsearch/server/single.yml
+++ b/elasticsearch/server/single.yml
@@ -34,26 +34,3 @@
minimum_master_nodes: 1
members:
- host: ${_param:cluster_node01_address}
- curator:
- timeout: 30
- logfile: /var/log/elasticsearch/curator.log
- logformat: default
- loglevel: INFO
- actions:
- - action: delete_indices
- description: >-
- Delete indices older than 31 days (based on index name).
- options:
- ignore_empty_list: True
- continue_if_exception: False
- disable_action: False
- filters:
- - filtertype: pattern
- kind: regex
- value: "^log|notification-.*$"
- - filtertype: age
- source: name
- direction: older
- timestring: '%Y.%m.%d'
- unit: days
- unit_count: 31