设置日志和指标索引的保留期
Elastic Cloud Enterprise 会为其在 logging-and-metrics 系统部署 中收集的 ECE 平台监控 数据设置索引生命周期管理 (ILM) 策略。
默认情况下,指标索引保留两天,日志索引保留八天,这在部署的 ece_metrics 和 ece_logs ILM 策略中进行了定义。这包括每日滚动更新,外加指标的 1 天和日志的 7 天额外保留期限。这些默认策略及其关联的索引模板由 Elastic Cloud Enterprise 管理,不应修改。
您可能出于以下原因之一需要调整保留期限:
- 如果您的业务要求您保留日志和指标的时间超过默认期限。
- 如果收集的日志和指标量很大,需要减少所消耗的存储空间。
在增加保留期之前,请确保 logging-and-metrics 系统部署具有足够的资源和磁盘容量。更长的保留期会增加存储使用量和集群工作负载,如果部署规模调整不当,可能会导致集群繁忙或过载。有关更多信息,请参考 ECE 系统部署配置。
以下列表包含 ECE logging-and-metrics 系统部署中最相关的索引模板和数据流的名称。您可以直接在 Kibana 的 Index Management -> Index templates 页面上查看完整列表
| 索引模板和数据流名称 | 默认 ILM 策略 | 描述 |
|---|---|---|
| cluster-logs-<version> | ece_logs | 来自由 ECE 管理的所有部署的日志 |
| proxy-logs-<version> | ece_logs | ECE 代理日志 |
| service-logs-<version> | ece_logs | 内部 ECE 服务产生的日志 |
| metricbeat-<version> | ece_metrics | 来自所有容器和主机的指标 |
| allocator-metricbeat-<version> | ece_metrics | 来自在分配器中运行的 Elastic Stack 容器的指标 |
索引模板和数据流在其名称中包含一个 <version> 标签作为一部分。这对应于向集群发送数据的内部组件的 Elastic Stack 版本,例如 proxy-logs-8.18.8。此版本在 Elastic Cloud Enterprise 升级后可能会更改,在应用任何类型的自定义时必须将其考虑在内。
要自定义不同数据流的保留期限,请使用所需的设置 创建一个新的 ILM 策略,并将其应用于相关数据集,步骤如下:
在 Kibana 中,转到 Index Management → Index Templates,并找到适用于您要更改其保留期的数据流或索引的模板。有关最常见模板的列表,请参考 可用的索引模板。
打开模板的上下文菜单并选择 Clone(克隆)以 创建新模板。克隆模板时:
- 为新模板分配一个更高的
priority,使其优先于默认模板。 - 在 Index settings 部分中,将
index.lifecycle.name设置为具有所需保留设置的自定义 ILM 策略。
注意建议克隆现有的索引模板,而不是从头开始创建一个,以确保保留所有必需的映射和设置。
- 为新模板分配一个更高的
保存新模板,并验证它与默认模板的不同之处仅在于
priority和index.lifecycle.name设置。如果您希望更改立即生效,可以使用 Kibana 控制台 手动滚动更新关联的数据流。例如:
POST /cluster-logs-<version>/_rollover/滚动更新完成后,将使用新索引模板创建一个新的后备索引,并将其与自定义 ILM 策略关联。您可以通过检查数据流信息来验证这一点:
GET _data_stream/cluster-logs-8.18.8响应示例{ "data_streams": [ { "name": "cluster-logs-<version>", ... "indices": [ { "index_name": ".ds-cluster-logs-<version>-<date>-000001", "index_uuid": "6hPZZ0YbTdaflfBZ9UkVUw", "prefer_ilm": true, "ilm_policy": "ece_logs", "managed_by": "Index Lifecycle Management" }, ... { "index_name": ".ds-cluster-logs-<version>-<date>-000002", "index_uuid": "rGrlk1_iR-as_ZM3iw6EFg", "prefer_ilm": true, "ilm_policy": "<NEW_ILM_POLICY>", "managed_by": "Index Lifecycle Management" } ], "template": "<CLONED_TEMPLATE>", "ilm_policy": "<NEW_ILM_POLICY>", ... } ] }- 先前的后备索引仍然与原有的 ILM 策略关联。
- 新后备索引和数据流的
ilm_policy应与自定义 ILM 策略匹配。 template值应与新索引模板的名称匹配。
在 Elastic Cloud Enterprise 中,默认索引模板和数据流的名称包括发送数据的内部组件的 Elastic Stack 版本(例如,cluster-logs-8.18.8)。在 Elastic Cloud Enterprise 升级后,可能会使用更新的版本号创建新的模板和数据流名称。发生这种情况时,您克隆的模板可能不再适用,您必须重复此步骤以确保您的自定义 ILM 策略继续被应用。