我正在使用Kibana 6.4.3,我想保留几个月的日志,但我设置了每日索引。需要一个设置每日指数自动生成的过程。
您需要实现滚动索引。
我建议你参考链接,看看如何做到这一点。基本上,您可以简单地执行以下查询来实现和测试Rollover Index
功能
步骤1:创建初始索引
PUT /logs-000001
{
"aliases": {
"logs_write": {}
}
}
步骤2:执行滚动API
POST /logs_write/_rollover
{
"conditions" : {
"max_age": "1d",
"max_docs": 1000,
"max_size": "5gb"
},
"settings": {
"index.number_of_shards": 2
}
}
会发生的情况是弹性搜索将继续进行,并在一天后创建索引logs-000002
,以此类推
API接受单个别名和条件列表。这个别名只能指向一个索引。如果索引满足指定条件,则创建一个新索引,别名为切换到指向新索引。
您实际上可以使用dry_run
测试回滚,如下查询所示。
试运行查询
POST /logs_write/_rollover?dry_run
{
"conditions" : {
"max_age": "1d",
"max_docs": 1000,
"max_size": "5gb"
}
}
运行此测试查询时,请注意以下格式的响应。它将显示如果一天后发生侧翻会发生什么。请注意,当您执行dry run
时,它不会创建logs-000002
。
干运行响应
{
"acknowledged": false,
"shards_acknowledged": false,
"old_index": "logs-000001",
"new_index": "logs-000002",
"rolled_over": false,
"dry_run": true,
"conditions": {
"[max_age: 1d]": false,
"[max_docs: 1000]": false,
"[max_size: 5gb]": false
}
}
重要提示:
翻车不会自动发生。它必须使用crontab或此类调度工具手动完成,并不断检查条件以通过编程方式执行rollover API。
有关此的更多信息,请参阅此链接
希望它能有所帮助!