我们有内务脚本每天晚上运行,以重新索引从每日指数到每月指数,并删除每日指数
actions:
1:
description: "Reindex application-YYYY.MM.dd into application-YYYY.MM"
action: reindex
options:
disable_action: False
wait_interval: 9
max_wait: -1
request_body:
source:
index: REINDEX_SELECTION
dest:
index: application-2018.10 #change this
filters:
- filtertype: pattern
kind: prefix
value: application-
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 1
2:
action: delete_indices
description: >-
Delete application-%Y.%m.%d indices older than 1 day
options:
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern
kind: regex
value: '^application-\d{4}\.\d{2}.\d{2}'
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 1如何动态制作月度索引名称?我想做一些像这样的应用程序-%Y.%m而不是硬编码年和月应用程序-2018.10
当我使用应用程序时-%Y.%m,如下所示-它不工作。
request_body:
source:
index: REINDEX_SELECTION
dest:
index: application-%Y.%m发布于 2018-10-19 20:28:35
答案是在表达式中使用date math。对于您来说,一个有效的示例可能是:
dest:
index: <application-{now/M{YYYY.MM}}>更大的问题可能是,“如何确保这个月的最后一天不会出现在下个月的索引中?”这种方法绝对会导致这种结果。如果你不在乎,那也没关系。如果你愿意,我们可以谈谈潜在的解决方案。
发布于 2019-12-14 02:08:49
现在这可能不再有用了,但我在寻找相同问题的答案时发现了这个问题,下面是我是如何解决它的(在untergeek的初始答案的帮助下):
actions:
1:
action: create_index
description: "Create index: This is a monthly task"
options:
name: '<security-{now/d-1d{YYYY.MM}}>'
continue_if_exception: True
2:
action: reindex
description: "Reindex daily into monthly"
options:
wait_interval: 1
max_wait: -1
request_body:
source:
index: '<security-{now/d-1d{YYYY.MM.dd}}>'
query:
term:
user: kimchy
dest:
index: '<security-{now/d-1d{YYYY.MM}}>'
filters:
- filtertype: none
3:
action: delete_indices
description: "Delete yesterday's daily index"
options:
ignore_empty_list: True
filters:
- filtertype: pattern
kind: regex
value: '^security-\d{4}\.\d{2}.\d{2}'
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: 1
- filtertype: age
source: name
direction: younger
timestring: '%Y.%m.%d'
unit: days
unit_count: 2我还做了一个查询过滤器,作为可以忽略的reindex的一部分,并且还将删除限制到恰好是1天前的索引,因此如果计划的reindex失败,后续的curator作业将不会删除该索引。
https://stackoverflow.com/questions/52819296
复制相似问题