Псевдоним FuentD Rollover для AWS OpenSearch ILM
У меня настроена инфраструктура ведения журналов с помощью AWS OpenSearch, Fluent-bit (DaemonSet на EKS), FluentD (развертывание на EKS) и OpenSearch Dashboard.
Я работаю над политикой ILM и сталкиваюсь с проблемой переноса. Я пытаюсь добиться с помощью политики, после достижения условия (через каждые 1 дней или когда индекс достигает размера 2G), должен произойти перенос и перемещение в холодное хранилище. Как только старый индекс достигнет в общей сложности 7 дней, старый индекс должен быть удален.
Моя конфигурация FluentD:
<match *.**>
@type copy
<store>
type elasticsearch
include_tag_key true
host "#{ENV.fetch('ELASTICSEARCH_HOST')}"
port "#{ENV.fetch('ELASTICSEARCH_PORT')}"
user "#{ENV.fetch('ELASTICSEARCH_USER')}"
password "#{ENV.fetch('ELASTICSEARCH_PASSWORD')}"
log_es_400_reason true
ca_file /certs/ca.pem
scheme https
ssl_verify true
logstash_format true
logstash_prefix rollover-sbx
</match>
ILM-политика
{ "id": "sbx-ism-policy", "seqNo": 379851, "primaryTerm": 2, "policy": { "policy_id": "sbx-ism-policy", "description": "Простой вариант по умолчанию политика, которая изменяет количество реплик между горячим и холодным состояниями.", "last_updated_time": 1650595677042, "schema_version": 12, "error_notification": null, "default_state": "hot", "states": [{ "name": "hot", "actions": [{ "rollover": { "min_size": "200mb", "min_doc_count": 200, "min_index_age": "1h" }}], "transitions": [{ "state_name": "холод", "условия": { "min_index_age": "1h" }}]},{ "name": "cold", "actions": [{ "close": {}}], "transitions": []}], "ism_template": [{ "index_patterns": [ "rollover-sbx*" ], "priority": 70, "last_updated_time": 1650583513796 } ] } }
вышеупомянутый минимальный размер и время в политике ILM предназначены для тестирования