返回
让日志归位,灵活设定ES索引名称——Filebeat实战演练(四)
后端
2023-12-05 19:14:18
前言
在前面的文章中,我们已经介绍了如何使用Filebeat将收集来的日志存储到Elasticsearch中。现在,我们将更进一步,探讨如何将日志存储到自定义名称的Elasticsearch索引中。这将使您能够更好地组织和管理您的日志数据。
配置Filebeat
要将日志存储到自定义名称的Elasticsearch索引中,您需要在Filebeat的配置文件中进行一些更改。具体来说,您需要修改以下设置:
output.elasticsearch.index
:此设置指定要将日志存储到的Elasticsearch索引的名称。output.elasticsearch.ilm_policy
:此设置指定要应用到索引的生命周期管理策略的名称。output.elasticsearch.template_name
:此设置指定要应用到索引的模板的名称。
创建Elasticsearch索引模板
在Filebeat的配置文件中指定了索引名称和模板名称后,您需要在Elasticsearch中创建相应的索引模板。索引模板是一个定义了索引的设置和映射的JSON文档。它将用于创建新的索引。
您可以使用以下命令来创建索引模板:
curl -X PUT "http://localhost:9200/_template/my_template" -H 'Content-Type: application/json' -d'
{
"template": "my_template-*",
"settings": {
"number_of_shards": 3,
"number_of_replicas": 1
},
"mappings": {
"properties": {
"message": {
"type": "text"
},
"timestamp": {
"type": "date"
}
}
}
}
创建生命周期管理策略
在Filebeat的配置文件中指定了索引名称和生命周期管理策略名称后,您需要在Elasticsearch中创建相应的生命周期管理策略。生命周期管理策略是一个定义了索引生命周期的JSON文档。它将用于管理索引的创建、滚动和删除。
您可以使用以下命令来创建生命周期管理策略:
curl -X PUT "http://localhost:9200/_ilm/policy/my_policy" -H 'Content-Type: application/json' -d'
{
"policy": {
"phases": {
"hot": {
"actions": {
"rollover": {
"max_size": "10gb",
"max_age": "30d"
}
}
},
"warm": {
"actions": {
"set_read_only": {},
"migrate": {
"to": "cold"
}
}
},
"cold": {
"actions": {
"delete": {
"min_age": "90d"
}
}
}
}
}
}
总结
通过在Filebeat的配置文件中进行一些更改,以及在Elasticsearch中创建相应的索引模板和生命周期管理策略,您就可以将日志存储到自定义名称的Elasticsearch索引中。这将使您能够更好地组织和管理您的日志数据。