我正在寻找一个创建每日指数的流程.可以每天生成日志报告



我正在使用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。

有关此的更多信息,请参阅此链接

希望它能有所帮助!

最新更新