elasticsearch - 我正在寻找创建每日指数的流程。可以每天生成日志报告
问题描述
我正在使用 Kibana 6.4.3,我想保留几个月的日志,但直到我设置了每日索引。需要一个过程来设置每日指数的自动生成。
解决方案
您需要实施Rollover Index。
我建议您参考链接以了解如何完成。基本上你可以简单地执行下面的查询来实现和测试这个Rollover Index
特性
第 1 步:创建初始索引
PUT /logs-000001
{
"aliases": {
"logs_write": {}
}
}
第 2 步:执行 Rollover 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 或此类调度工具手动完成,并不断检查以编程方式执行翻转 API 的条件。
有关此的更多信息,请参阅此链接
希望能帮助到你!
推荐阅读
- clojurescript - lein cljsbuild 失败并出现无法追踪的错误。如何解决 cljsbuild 错误?
- css - Bootstrap DropdownButton 悬停时间过长
- python - 如何在本地运行和测试我的产品?
- c++ - 如何将布尔值设置为 true 或 false 而不是 1 或 0?
- java - rJava jdk不一致
- javascript - 将元素从一个父级移动到另一个父级的反应动画
- sql-server - MSSQL 内连接计数分页
- c++ - 使用数组显式违反 C++ 中的类型系统?
- android - Android Kotlin 用按钮打开链接
- php - 命令行调用(开发用户)和浏览器请求(apache / www-data)之间的冲突