【问题标题】:I am looking for a Process to Create Daily Indices . That can Generate Logs report On daily basis我正在寻找创建每日指数的流程。可以每天生成日志报告
【发布时间】:2019-04-16 18:12:54
【问题描述】:

我正在使用 Kibana 6.4.3,我想保留几个月的日志,但直到我设置了每日索引。需要一个流程来设置每日指数的自动生成。

【问题讨论】:

  • 欢迎来到 SO!请善待并进一步详细说明。你到底有什么(指数,麋鹿组件)?你的数据流如何?你在期待什么?
  • 我在 logstash 服务器上安装了 ELK 6.4.3,并且使用 Kiabana 我们监控所有日志。但是我们只能检查前 14 天的日志,这意味着只保存两周的日志而不是休息。我想创建一个可以创建每日指数的流程,并且可以保存日志。并且指数需要在每日基础和特定时间自动生成。

标签: elasticsearch logstash elastic-stack kibana-4


【解决方案1】:

您需要实现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
  }
}

会发生什么,elasticsearch 会在一天后继续创建索引logs-000002,依此类推。

API 接受单个别名和条件列表。这 alias 必须仅指向单个索引。如果指数满足 指定条件,然后创建一个新索引,别名为 切换到指向新索引。

您实际上可以使用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 的条件。

请参阅此LINK 了解更多信息

希望对你有帮助!

【讨论】:

  • 我们需要在 KIbana GUI 中执行以下操作,我们有一个名为 DEVTOOL 的选项。所以这应该在那里执行。
  • 是的,是的。告诉我进展如何。
  • 如果每天在特定时间间隔创建索引会怎样。
  • 如果我不进行空运行,我会得到 False 状态。
  • 索引是为 logs-000001 创建的,其中没有数据。我认为它正在工作。但是如果我想自动保存每天生成的索引,以同样的方式。我们将为此采取什么步骤。
猜你喜欢
  • 1970-01-01
  • 2018-02-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-10
相关资源
最近更新 更多