我使用elasticsearch存储微服务日志。所有的微服务都以通用模式登录,并通过fluentd日志收集并发送到索引名模式,如 log-${serviceName}-%Y.%m.%d
.
我为日志定义了一个索引模板——并创建了一个ilm策略,以便在2天后将索引滚动到删除阶段,并在4天后将其删除。并使用将ilm策略连接到索引模板 my-log-alias
.
所以我需要这样的东西: each day, there are for example 10 active indices that log documents written to them. and after 2 days these indices all go to the delete phase.
我可以为我的所有服务使用一个索引模板和一个ilm策略吗?
我对elasticsearch索引模板和策略的设置有什么问题?
我是否以正确的方式使用此功能?
谢谢你的阅读。
索引模板:
{
"order": 0,
"index_patterns": [
"log-*-*"
],
"settings": {
"index": {
"lifecycle": {
"name": "my-log",
"rollover_alias": "my-log-alias"
},
"number_of_replicas": "1"
}
},
"aliases": {
"sb-log": {}
},
"mappings": {
"_doc": {
"properties": {
"level": {
"ignore_above": 256,
"type": "keyword"
},
"message": {
"type": "text"
}
}
}
}
}
ilm策略
{
"policy": {
"phases": {
"hot": {
"min_age": "0ms",
"actions": {
"rollover": {
"max_age": "2d",
"max_size": "50gb"
},
"set_priority": {
"priority": 100
}
}
},
"delete": {
"min_age": "4d",
"actions": {
"delete": {
"delete_searchable_snapshot": true
}
}
}
}
}
}
1条答案
按热度按时间vhipe2zx1#
我可以为我的所有服务使用一个索引模板和一个ilm策略吗?
是的,你可以。
我对elasticsearch索引模板和策略的设置有什么问题?
根据您的定义,索引将在2天(或50gb)后滚动,并且在滚动操作执行4天后将被删除。