修改系统配置¶
可观测性会默认持久化保存指标、日志、链路的数据,您可参阅本文修改系统配置。该文档仅适用于内置部署的 Elasticsearch,若使用外部 Elasticsearch 可自行调整。
如何修改指标数据保留期限¶
先 ssh 登录到对应的节点,参考以下步骤修改指标数据保留期限。
-
执行以下命令:
-
在 Yaml 文件中, retentionPeriod 的默认值为 14 ,单位为 天 。您可根据需求修改参数。
apiVersion: operator.victoriametrics.com/v1beta1 kind: VMCluster metadata: annotations: meta.helm.sh/release-name: insight meta.helm.sh/release-namespace: insight-system creationTimestamp: "2022-08-25T04:31:02Z" finalizers: - apps.victoriametrics.com/finalizer generation: 2 labels: app.kubernetes.io/instance: insight app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: victoria-metrics-k8s-stack app.kubernetes.io/version: 1.77.2 helm.sh/chart: victoria-metrics-k8s-stack-0.9.3 name: insight-victoria-metrics-k8s-stack namespace: insight-system resourceVersion: "123007381" uid: 55cee8d6-c651-404b-b2c9-50603b405b54 spec: replicationFactor: 1 retentionPeriod: "14" vminsert: extraArgs: maxLabelsPerTimeseries: "45" image: repository: docker.m.daocloud.io/victoriametrics/vminsert tag: v1.80.0-cluster replicaCount: 1 -
保存修改后,负责存储指标的组件的容器组会自动重启,稍等片刻即可。
如何修改日志数据存储时长¶
请修改以下 Elasticsearch ILM 策略配置文件,调整 delete 阶段的 min_age 参数以设置数据的保留期限。默认保留时长为 3d 。在 -u 后填写 Elasticsearch 的用户名和密码,并将 http://localhost:9200 修改为 elastic 的地址。由于数据生命周期会依次经过 hot > warm > cold > delete 阶段,但是每个阶段都是从索引创建日期作为起始时间算的,而不是从上一阶段完成的结束时间算。因此数据的最终 保存周期 = delete.min_age。请根据您的实际需求调整各个阶段的 min_age 设置。请注意 Elasticsearch 使用的协议(例如 HTTPS),并根据实际情况修改访问地址。例如默认 Insight 的 Elasticsearch 集群只有 hot 和 delete 两个阶段,且您希望将数据保留 1 天,则可以将 hot.min_age 设置为 1d,delete.min_age 设置为 0。
先 ssh 登录到对应的节点,参考以下步骤修改日志数据保留期限:
方法一:通过命令行修改文件¶
-
修改以下文件中 delete 字段中的 min_age 参数,并设置保留期限,默认存储时长为 7d 。注意需要修改第一行中的 Elastic 用户名和密码、IP 地址和索引。
curl --insecure --location -u"elastic:amyVt4o826e322TUVi13Ezw6" -X PUT "https://localhost:9200/_ilm/policy/insight-es-k8s-logs-policy?pretty" -H 'Content-Type: application/json' -d' { "policy": { "phases": { "hot": { "min_age": "0ms", "actions": { "set_priority": { "priority": 100 }, "rollover": { "max_age": "7d", "max_size": "10gb" } } }, "warm": { "min_age": "10d", "actions": { "forcemerge": { "max_num_segments": 1 } } }, "delete": { "min_age": "3d", "actions": { "delete": {} } } } } }' -
修改完后,执行以上命令。它会打印出如下所示内容,则修改成功。
方法二:从 UI 修改¶
-
登录 kibana ,选择左侧导航栏 Stack Management 。

-
选择左侧导航 Index Lifecycle Polices ,并找到索引 insight-es-k8s-logs-policy ,点击进入详情。

-
展开 Hot phase 配置面板,修改 Maximum age 参数,并设置保留期限,默认存储时长为 7d 。

-
修改完后,点击页面底部的 Save policy 即修改成功。

如何修改链路数据存储时长¶
与上面修改日志数据存储时长相同,请修改以下 Elasticsearch ILM 策略配置文件,调整 delete 阶段的 min_age 参数以设置数据的保留期限。默认保留时长为 3d 。在 -u 后填写 Elasticsearch 的用户名和密码,并将 http://localhost:9200 修改为 elastic 的地址。由于数据生命周期会依次经过 hot > warm > cold > delete 阶段,但是每个阶段都是从索引创建日期作为起始时间算的,而不是从上一阶段完成的结束时间算。因此数据的最终 保存周期 = delete.min_age。请根据您的实际需求调整各个阶段的 min_age 设置。请注意 Elasticsearch 使用的协议(例如 HTTPS),并根据实际情况修改访问地址。例如默认 Insight 的 Elasticsearch 集群只有 hot 和 delete 两个阶段,且您希望将数据保留 1 天,则可以将 hot.min_age 设置为 1d,delete.min_age 设置为 0。
先 ssh 登录到对应的节点,参考以下步骤修改链路数据保留期限:
方法一:通过命令行修改文件¶
-
修改以下文件中 delete 字段中的 min_age 参数,并设置保留期限,默认存储时长为 7d 。注意需要修改第一行中的 Elastic 用户名和密码、IP 地址和索引。
curl --insecure --location -u"elastic:amyVt4o826e322TUVi13Ezw6" -X PUT "https://localhost:9200/_ilm/policy/jaeger-ilm-policy?pretty" -H 'Content-Type: application/json' -d' { "policy": { "phases": { "hot": { "min_age": "0ms", "actions": { "set_priority": { "priority": 100 }, "rollover": { "max_age": "7d", "max_size": "10gb" } } }, "warm": { "min_age": "10d", "actions": { "forcemerge": { "max_num_segments": 1 } } }, "delete": { "min_age": "3d", "actions": { "delete": {} } } } } }' -
修改完后,在控制台执行以上命令。它会打印出如下所示内容,则修改成功。
方法二:从 UI 修改¶
-
登录 kibana ,选择左侧导航栏 Stack Management 。

-
选择左侧导航 Index Lifecycle Polices ,并找到索引 jaeger-ilm-policy ,点击进入详情。

-
展开 Hot phase 配置面板,修改 Maximum age 参数,并设置保留期限,默认存储时长为 7d 。

-
修改完后,点击页面底部的 Save policy 即修改成功。
