我在elasticsearch中有一些索引,其命名格式为elk-console-YYYY-MM-DDtHH
。例如: -
elk-console-2016-03-30t14
elk-console-2016-03-30t16
我想使用curator删除所有超过1小时的索引。所以我尝试执行以下命令: -
curator --host localhost delete indices --older-than 1 --time-unit hours --timestring '%Y-%m-%dt%H'
但是它给了我以下的输出: -
2016-04-22 16:27:36,049 INFO Job starting: delete indices
2016-04-22 16:27:36,058 INFO Pruning Kibana-related indices to prevent accidental deletion.
2016-04-22 16:27:36,058 WARNING No indices matched provided args: {'regex': None, 'index': (), 'suffix': None, 'newer_than': None, 'closed_only': False, 'prefix': None, 'time_unit': 'hours', 'timestring': u'%Y-%m-%dt%H', 'exclude': (), 'older_than': 1, 'all_indices': False}
No indices matched provided args: {'regex': None, 'index': (), 'suffix': None, 'newer_than': None, 'closed_only': False, 'prefix': None, 'time_unit': 'hours', 'timestring': u'%Y-%m-%dt%H', 'exclude': (), 'older_than': 1, 'all_indices': False}
我也尝试执行以下命令: -
curator --host localhost delete indices --older-than 1 --time-unit hours --timestring '%Y-%m-%dt%H' --prefix elk-console-
但仍然收到以下错误: -
2016-04-22 16:48:43,848 INFO Job starting: delete indices
2016-04-22 16:48:43,856 INFO Pruning Kibana-related indices to prevent accidental deletion.
2016-04-22 16:48:43,856 WARNING No indices matched provided args: {'regex': None, 'index': (), 'suffix': None, 'newer_than': None, 'closed_only': False, 'prefix': u'elk-console-', 'time_unit': 'hours', 'timestring': u'%Y-%m-%dt%H', 'exclude': (), 'older_than': 1, 'all_indices': False}
No indices matched provided args: {'regex': None, 'index': (), 'suffix': None, 'newer_than': None, 'closed_only': False, 'prefix': u'elk-console-', 'time_unit': 'hours', 'timestring': u'%Y-%m-%dt%H', 'exclude': (), 'older_than': 1, 'all_indices': False}
有人可以帮助我,在我的情况下我应该使用timestring
格式吗?
环境: -
答案 0 :(得分:2)
正如untergeek here
所解释的那样问题在于它将
t
视为特殊字符,如a.
或-
。这是我第一次遇到任何人使用它 语法,因为大多数人使用连字符或点来分隔事物。我可能会将修复程序移植到3.x,但很有可能我不会。 我现在正在将修复添加到4.x分支。
答案 1 :(得分:0)
你几乎就在那里,你只是错过了--prefix
option
curator --host localhost delete indices --older-than 1 --time-unit hours --timestring %Y-%m-%dt%H --prefix elk-console
答案 2 :(得分:0)
问题可能是索引名称模式反映了本地时间,但是Curator以UTC进行计算。解决方案是软件更改,以允许时区偏移。