如何轮转 ELK 日志?
How to rotate ELK logs?
我在 3 个主机中总共有大约 250 GB 的索引,即 ELK 集群中的 750 GB 数据。
那么我如何轮换 ELK 日志以在我的 ELK 集群中保留三个月的数据,而较旧的日志应该被推送到其他地方。
您可以使用“indexname-%{+YYYY.MM}”命名格式创建索引。这将每月创建一个不同的索引。
然后您可以使用像 curator 这样的插件,根据时间戳过滤这个索引。
策展人可以帮助您设置 CRON 作业以清除那些旧索引或将它们备份到某个 s3 存储库中。
参考 - Backup or Restore using curator
此外,您甚至可以在需要时直接从 s3 存储库恢复这些备份索引以进行历史分析。
dexter_ 的回答是正确的,但由于答案是旧的,更好的答案是:
版本7.x的elastic stack提供了索引生命周期管理策略,可以通过kibana GUI轻松管理,elk stack原生。
PS,您仍然必须按照建议的 dexter_
管理索引,例如 "indexname-%{+YYYY.MM}"
elastic.co/guide/en/elasticsearch/reference/current/index-lifecycle-management.html
我花了一段时间才弄清楚确切的语法和规则,所以我将 post 用于删除旧索引的最终策略(它基于 https://aws.amazon.com/blogs/big-data/automating-index-state-management-for-amazon-opensearch-service-successor-to-amazon-elasticsearch-service/ 中的示例):
{
"policy": {
"description": "Removes old indexes",
"default_state": "active",
"states": [
{
"name": "active",
"transitions": [
{
"state_name": "delete",
"conditions": {
"min_index_age": "14d"
}
}
]
},
{
"name": "delete",
"actions": [
{
"delete": {}
}
],
"transitions": []
}
],
"ism_template": {
"index_patterns": [
"mylogs-*"
]
}
}
}
它将自动为任何新的 mylogs-* 索引应用该策略,但您需要为现有索引手动应用它(在“索引管理”->“索引”下)。
我在 3 个主机中总共有大约 250 GB 的索引,即 ELK 集群中的 750 GB 数据。
那么我如何轮换 ELK 日志以在我的 ELK 集群中保留三个月的数据,而较旧的日志应该被推送到其他地方。
您可以使用“indexname-%{+YYYY.MM}”命名格式创建索引。这将每月创建一个不同的索引。
然后您可以使用像 curator 这样的插件,根据时间戳过滤这个索引。 策展人可以帮助您设置 CRON 作业以清除那些旧索引或将它们备份到某个 s3 存储库中。
参考 - Backup or Restore using curator
此外,您甚至可以在需要时直接从 s3 存储库恢复这些备份索引以进行历史分析。
dexter_ 的回答是正确的,但由于答案是旧的,更好的答案是:
版本7.x的elastic stack提供了索引生命周期管理策略,可以通过kibana GUI轻松管理,elk stack原生。 PS,您仍然必须按照建议的 dexter_
管理索引,例如 "indexname-%{+YYYY.MM}"elastic.co/guide/en/elasticsearch/reference/current/index-lifecycle-management.html
我花了一段时间才弄清楚确切的语法和规则,所以我将 post 用于删除旧索引的最终策略(它基于 https://aws.amazon.com/blogs/big-data/automating-index-state-management-for-amazon-opensearch-service-successor-to-amazon-elasticsearch-service/ 中的示例):
{
"policy": {
"description": "Removes old indexes",
"default_state": "active",
"states": [
{
"name": "active",
"transitions": [
{
"state_name": "delete",
"conditions": {
"min_index_age": "14d"
}
}
]
},
{
"name": "delete",
"actions": [
{
"delete": {}
}
],
"transitions": []
}
],
"ism_template": {
"index_patterns": [
"mylogs-*"
]
}
}
}
它将自动为任何新的 mylogs-* 索引应用该策略,但您需要为现有索引手动应用它(在“索引管理”->“索引”下)。