索引生命周期管理编辑

索引生命周期策略允许您在 APM 索引增长和老化时自动执行其生命周期。默认策略应用于每个 APM 数据流,但可以根据您的业务需求进行自定义。

请参阅 ILM:管理索引生命周期 以了解更多信息。

默认策略编辑

下表描述了应用于每个 APM 数据流的默认索引生命周期策略。每个策略都包含滚动更新和删除定义

  • 滚动更新:使用滚动更新索引可以防止单个索引变得过大,并优化索引和搜索性能。滚动更新,即写入新索引,在满足年龄或大小指标后发生。
  • 删除:删除阶段在满足时间阈值后永久删除索引。
数据流 滚动更新后 删除后 备注

traces-apm

30 天 / 50 GB

10 天

原始跟踪事件数据

traces-apm.rum

30 天 / 50 GB

90 天

原始 RUM 跟踪事件数据,用于 UI

logs-apm.error

30 天 / 50 GB

10 天

错误事件数据

logs-apm.app

30 天 / 50 GB

10 天

日志事件数据

metrics-apm.app

30 天 / 50 GB

90 天

自定义应用程序特定指标

metrics-apm.internal

30 天 / 50 GB

90 天

常见系统指标和特定于语言的指标(例如,CPU 和内存使用率)

metrics-apm.service_destination_1m

7 天 / 50GB

90 天

聚合事务指标,为 APM UI 提供支持

metrics-apm.service_destination_10m

14 天 / 50GB

180 天

聚合事务指标,为 APM UI 提供支持

metrics-apm.service_destination_60m

30 天 / 50GB

390 天

聚合事务指标,为 APM UI 提供支持

metrics-apm.service_summary_1m

7 天 / 50GB

90 天

聚合事务指标,为 APM UI 提供支持

metrics-apm.service_summary_10m

14 天 / 50GB

180 天

聚合事务指标,为 APM UI 提供支持

metrics-apm.service_summary_60m

30 天 / 50GB

390 天

聚合事务指标,为 APM UI 提供支持

metrics-apm.service_transaction_1m

7 天 / 50GB

90 天

聚合事务指标,为 APM UI 提供支持

metrics-apm.service_transaction_10m

14 天 / 50GB

180 天

聚合事务指标,为 APM UI 提供支持

metrics-apm.service_transaction_60m

30 天 / 50GB

390 天

聚合事务指标,为 APM UI 提供支持

metrics-apm.transaction_1m

7 天 / 50GB

90 天

聚合事务指标,为 APM UI 提供支持

metrics-apm.transaction_10m

14 天 / 50GB

180 天

聚合事务指标,为 APM UI 提供支持

metrics-apm.transaction_60m

30 天 / 50GB

390 天

聚合事务指标,为 APM UI 提供支持

您可以在 Kibana 中查看 APM 索引生命周期策略。导航到 堆栈管理 / 索引生命周期管理,然后搜索 apm

默认的 ILM 策略可能会在次要版本之间发生变化。这并不被视为重大更改,因为索引管理应该不断改进并适应新功能。

配置自定义索引生命周期策略编辑

安装 APM 集成后,Fleet 会为每个数据流创建一个默认的 *@custom 组件模板。为每个数据流配置自定义索引生命周期策略的最简单方法是编辑此模板。

本教程介绍如何将自定义索引生命周期策略应用于 traces-apm 数据流。

步骤 1:查看数据流编辑

Kibana 中的 数据流 视图显示了与给定集成关联的数据流、索引模板和索引生命周期策略。

  1. 导航到 堆栈管理 > 索引管理 > 数据流
  2. 搜索 traces-apm 以查看与 APM 跟踪数据关联的所有数据流。
  3. 在本例中,我只有一个数据流,因为我只使用了 default 命名空间。如果您的设置包含多个命名空间,则您可能会有更多数据流。

    Data streams info

步骤 2:创建索引生命周期策略编辑

  1. 导航到 堆栈管理 > 索引生命周期策略
  2. 单击 创建策略

为您的新策略命名;在本教程中,我选择了 custom-traces-apm-policy。根据您的喜好自定义策略,完成后,单击 保存策略

步骤 3:应用索引生命周期策略编辑

要将新的索引生命周期策略应用于 traces-apm-* 数据流,请编辑 <data-stream-name>@custom 组件模板。

  1. 单击 组件模板 选项卡,然后搜索 traces-apm
  2. 选择 traces-apm@custom 模板,然后单击 管理 > 编辑
  3. 索引设置 下,设置在上一步中创建的 ILM 策略名称

    {
      "lifecycle": {
        "name": "custom-traces-apm-policy"
      }
    }
  4. 继续 审查 并确保您的请求与下图类似。如果是,请单击 创建组件模板

    Create component template

步骤 4:滚动更新数据流(可选)编辑

要确认数据流现在正在使用新的索引模板和 ILM 策略,您可以重复 步骤一,或者导航到 开发工具 并运行以下命令

GET /_data_stream/traces-apm-default 

我们一直在修改的数据流的名称,附加了您的 <namespace>

结果应包括以下内容

{
  "data_streams" : [
    {
      ...
      "template" : "traces-apm-default", 
      "ilm_policy" : "custom-traces-apm-policy", 
      ...
    }
  ]
}

在步骤三中创建的自定义索引模板的名称

在步骤二中应用于新组件模板的 ILM 策略的名称

新的 ILM 策略仅在创建新索引时生效,因此您必须等待滚动更新发生(通常在 30 天后或索引大小达到 50 GB 时),或者使用 Elasticsearch 滚动更新 API 强制滚动更新

POST /traces-apm-default/_rollover/

命名空间级索引生命周期策略编辑

还可以创建更精细的索引生命周期策略,这些策略适用于各个命名空间。此过程与上述教程类似,但包括克隆和修改现有索引模板以使用新的 *@custom 组件模板。