我正在使用 elk 堆疊來保留和監控我的 k8s 集群的 nginx-ingress 日志。我使用 Grafana 而不是 kibana,而不是 fluentd Im 使用 fuent-bit。我發現一個檔案說 elasticsearch 保留日志 7 天,我還發現一篇文章說它可以長期保留日志。
我想要的只是過去 6 個月的日志,除此之外的任何日志都不需要。
我檢查了 elasticsearch 的 values.yaml 檔案,看看是否可以找到更改日志保留時間的配置選項,但無濟于事。
有沒有人使用過類似的堆疊并且知道如何更改日志保留時間???您的時間將不勝感激。
uj5u.com熱心網友回復:
為了保留資料,您需要配置Index Lifecycle Policy。目前,如果您沒有配置 ILM 策略,那么 Elastic 將終身保留日志資料,并且不會自動洗掉。您也可以從 Kibana 創建策略,但正如您所提到的,您沒有使用 Kibana,您可以按照以下命令進行操作。
要從 Kibana 創建生命周期策略,請打開選單并轉到 Stack Management > Index Lifecycle Policies。單擊創建策略。
您可以使用以下 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"
}
}
}
更新
您可以使用解釋生命周期 API來驗證 ILM 是否正常作業。
GET my-index-000001/_ilm/explain
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/456490.html
標籤:弹性搜索
下一篇:如何匹配多字詞?
