kibana设置ILM

kibana设置ILM

1. 背景

kibana version: v7.9.3

2. 设置ILM

2.1 创建索引生命周期策略

2.1.1 热阶段

首先需要先创建索引生命周期策略,在索引模板中可以引用创建好的索引生命周期策略。

kibana设置ILM_第1张图片

  • 策略名称: 引用该策略是需要用,例如设置为:filebeat-index-ilm

  • 最大索引大小:设置单个索引最大字节数,此处为50千兆字节,即50G.

  • 最大文档数:设置单个索引所内容乃的最大文档数,超过该数则创建新的索引。

  • 最大存在时间: 指的是索引在温热阶段中可以存在的最长时间。一旦索引达到这个时间限制,它将被自动转移到冷却阶段,并最终被归档或删除。

    "最大存在时间"是一个可选的参数,你可以根据实际需求来决定是否设置这个参数。如果你没有设置这个参数,索引将会一直保持在温热阶段,直到你手动将其转移到冷却阶段或删除。

    在设置"最大存在时间"时,你可以选择一个固定的时间长度,例如30天。这意味着索引在温热阶段中最多存在30天,之后它将被自动转移到冷却阶段。这个参数可以帮助你控制索引的生命周期,避免过多的旧索引占用存储空间和资源。

    需要注意的是,具体的索引生命周期策略还受到其他参数的影响,例如滚动布署的频率、索引模板、索引生命周期策略等。因此,在实际应用中,需要根据具体的业务需求和数据量来调整和优化这些参数。

2.1.2 温阶段和冷阶段

温阶段和冷阶段不再设置,解释一下这两个阶段:

在 Kibana 中创建索引生命周期策略时,warm phase和Cold phase的存在有意义,它们适用于不同的场景。

  1. Warm phase(温阶段): Warm phase是索引生命周期的中间阶段,适用于处理活跃但不再频繁更改的数据。在这个阶段,索引被用于的搜索和查询操作较多,因此需要保持良好的搜索性能。在温阶段,索引可以被滚动更新,以保持其当前的索引结构、映射和设置。

    温阶段适用于以下场景:

    • 数据检索:如果您的应用程序需要从历史数据中检索信息,并且这些数据已经过了一段时间但仍然活跃,那么可以将索引设置为在温阶段。
    • 数据归档和分析:如果您的应用程序需要将数据存储一段时间以便进行进一步的分析、报告或可视化,那么可以将索引设置为在温阶段。
  2. Cold phase(冷阶段): Cold phase是索引生命周期的后期阶段,适用于处理不再活跃的数据。在这个阶段,索引被用于的搜索和查询操作较少,因此可以降低存储成本和索引维护开销。在冷阶段,索引可以被归档和压缩,以进一步降低存储成本。

    冷阶段适用于以下场景:

    • 数据归档:如果您的应用程序需要长期存储数据,并且这些数据不再被频繁地搜索和查询,那么可以将索引设置为在冷阶段。
    • 数据保留策略:如果您的应用程序需要保留某些数据一段时间后将其删除,那么可以将索引设置为在冷阶段,并在达到保留期限时自动删除索引。

    综上所述,温阶段和冷阶段的存在意义在于进一步优化索引生命周期的管理。通过将索引分阶段管理,可以更好地平衡性能、存储成本和维护开销,以满足不同的业务需求。

2.1.3 删除阶段

kibana设置ILM_第2张图片

  • 删除倒计时: 设置日志多久之后删除。

2.2 创建索引模板

  • 名称:索引模板名

  • 索引模式: 用来匹配应用于哪些索引,例如匹配filebeat-开头的索引;filebeat-*

  • 优先级:是一个整数值,用于确定索引模板的优先级。较高的优先级值表示该索引模板具有更高的优先级。当多个索引模板匹配到同一个索引时,优先级最高的索引模板将被应用。

  • 版本:是一个整数值,用于跟踪索引模板的版本号。你可以根据需要为每个索引模板设置一个唯一的版本号。当索引模板需要更新时,你可以增加版本号以确保新版本的索引模板被应用。

  • _meta 字段:_meta 字段是一个 JSON 对象,用于存储与索引模板相关的元数据。你可以在 _meta 字段中添加自定义的键值对,例如索引模板的创建时间、作者等信息。这些元数据可以在使用 Elasticsearch API 管理索引模板时进行访问和操作。

kibana设置ILM_第3张图片

  • 选择组件: 引用已经创建好的组件模板

kibana设置ILM_第4张图片

  • 索引设置: 图中设置了生命周期相关内容,lifecycle:指的就是索引的生命周期,这里就是我们之前创建的索引生命周期;rollover_alias:滚动别名,当我们配置了索引大小,超过这个大小后,会以这个名称命名。
  1. 映射字段:
    映射字段是指将文档中的字段与特定的数据类型和属性进行映射。在创建索引模板时,可以手动添加映射字段,以便在索引文档时将字段映射为指定的数据类型和属性。例如,可以添加一个名为 "message" 的映射字段,将其映射为文本类型,并设置其分析器为 "standard"。

映射字段适用于以下场景:

  • 数据类型已知且固定的场景:当文档中的字段类型固定且已知时,可以手动添加映射字段,以确保索引的准确性和性能。

  • 需要自定义数据类型的场景:当文档中存在自定义的数据类型时,可以手动添加映射字段,并将其映射为相应的数据类型,以便在查询和聚合时能够正确地处理数据。

  1. 动态模板:
    动态模板是指根据文档中的字段名、数据类型等动态地设定字段类型。在创建索引模板时,可以定义动态模板规则,以便根据文档的实际情况动态地设定字段类型。例如,可以定义一个名为 "text" 的动态模板,将所有以 "message" 开头的字段映射为文本类型。

动态模板适用于以下场景:

  • 数据类型未知或动态变化的场景:当文档中的字段类型未知或动态变化时,可以使用动态模板来自动识别字段类型,并将其映射为相应的数据类型。

  • 需要灵活处理不同数据类型的场景:当文档中存在多种数据类型时,可以使用动态模板来根据字段名、数据类型等信息动态设定字段类型,以便在查询和聚合时能够正确地处理数据。

  1. 高级选项:
    高级选项是指在创建索引模板时可以配置的一些高级设置,例如索引分片数、索引副本数、分析器等。这些设置可以优化索引的性能和存储效率。

高级选项适用于以下场景:

  • 需要优化索引性能的场景:可以通过配置索引分片数和索引副本数来优化索引的性能,提高查询和聚合的速度。
  • 需要优化存储效率的场景:可以通过配置存储设置和分析器来优化索引的存储效率,减少存储空间的使用.。

kibana设置ILM_第5张图片

  • 设置索引别名

    1. 方便对多个索引进行查询:如果你有许多索引并且经常需要同时查询这些索引,使用别名可以方便地将这些索引组合在一起进行查询。
    2. 简化索引引用:在查询时,只需要引用别名,而不需要写出完整的索引名称,这使得查询语句更加简洁。
    3. 方便索引的版本控制:如果你在系统中对索引进行更新或替换,使用别名可以使得对已有查询的影响最小化。例如,你可以创建一个别名,使其始终映射到最新的索引版本,这样在更新索引时,不需要更改所有查询。

    在 Elasticsearch 中创建别名的方法是通过使用 "alias" API。例如,如果你有一个索引 "test-20190120",并想为其创建一个别名 "test",你可以使用以下的请求:

    bash复制代码PUT /_aliases  {    "actions": [      {        "add": {          "index": "test-20190120",          "alias": "test"        }      }    ]  }

    在上述请求中,"add" 动作告诉 Elasticsearch 将别名 "test" 添加到索引 "test-20190120" 上。之后,你可以使用别名 "test" 来查询该索引的内容。

kibana设置ILM_第6张图片

完成模板创建。

3. 生效

创建索引生命周期之前的创建的索引不会受索引生命周期影响,之后创建的索引会进入到索引生命周期的策略管理中。

你可能感兴趣的:(java,前端,数据库)