gpt4 book ai didi

elasticsearch - 如何更改 elk stack 中的日志保留策略?

转载 作者:行者123 更新时间:2023-12-05 03:26:27 26 4
gpt4 key购买 nike

我正在使用 elk stack 来保留和监控我的 k8s 集群的 nginx-ingress 日志。我使用的不是 kibana,而是 Grafana,而不是 fluentd,我使用的是 fuent-bit。我发现一份文档说 elasticsearch 保留日志 7 天,我还找到一篇文章说它会保留日志终身。

我只需要最近 6 个月的日志,超出此范围的任何日志都不需要。

我检查了 elasticsearch 的 values.yaml 文件,看是否可以找到更改日志保留时间的配置选项,但无济于事。

有没有人使用过类似的堆栈并且知道如何更改日志保留时间???非常感谢您抽出时间。

最佳答案

为了保留数据,你需要配置Index Lifecycle Policy .目前,如果你没有配置ILM策略,那么Elastic会保留日志数据一辈子,不会自动删除。您也可以从 Kibana 创建策略,但正如您提到的您没有使用 Kibana,您可以按照以下命令操作。

To create a lifecycle policy from Kibana, open the menu and go toStack Management > Index Lifecycle Policies. Click Create policy.

您可以使用以下 API 配置 ILM 策略:

PUT _ilm/policy/my_policy
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_age": "7d"
}
}
},
"delete": {
"min_age": "30d",
"actions": {
"delete": {}
}
}
}
}
}

如果索引至少在 7 天前创建,上述策略将滚动更新索引,并在滚动更新后 30 天删除索引。

您可以使用以下命令将创建的策略分配给您的索引:

PUT logs-my_app-default/_settings
{
"index": {
"lifecycle": {
"name": "my_policy"
}
}
}

更新

您可以使用 Explain lifecycle API验证 ILM 是否正常工作。

GET my-index-000001/_ilm/explain

关于elasticsearch - 如何更改 elk stack 中的日志保留策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71732357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com