From 3e4620a3884c4f6adfdba18a1cb50b1d7ae63f05 Mon Sep 17 00:00:00 2001 From: Administrator Date: Thu, 13 Mar 2025 08:17:08 +0000 Subject: [PATCH] docs: create DevOps/ELK/Rotation-logs-ILM --- DevOps/ELK/Rotation-logs-ILM.md | 146 ++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 DevOps/ELK/Rotation-logs-ILM.md diff --git a/DevOps/ELK/Rotation-logs-ILM.md b/DevOps/ELK/Rotation-logs-ILM.md new file mode 100644 index 0000000..fe8abd5 --- /dev/null +++ b/DevOps/ELK/Rotation-logs-ILM.md @@ -0,0 +1,146 @@ +--- +title: Ротация логов с помощью Lificycle +description: ILM +published: true +date: 2025-03-13T08:16:59.504Z +tags: ilm, elk, efk +editor: markdown +dateCreated: 2025-03-13T08:16:59.504Z +--- + +# Ротация логов в ELK +Конечно! Давайте разберем настройку ротации логов с помощью ILM (Index Lifecycle Management) в Elasticsearch простым языком. Это пошаговая инструкция, которая поможет вам настроить автоматическое управление жизненным циклом индексов (логов). + +--- + +### **1. Что такое ротация логов с ILM?** +Ротация логов — это процесс автоматического создания новых индексов (например, когда текущий индекс становится слишком большим или старым) и удаления старых индексов, чтобы освободить место. ILM помогает автоматизировать этот процесс. + +--- + +### **2. Основные шаги настройки ILM для ротации логов:** + +#### **Шаг 1: Создайте алиас для индексов** +Алиас — это "псевдоним", который будет указывать на текущий активный индекс. Все новые данные будут писаться в индекс, на который указывает этот алиас. + +Пример: +```bash +PUT _aliases +{ + "actions": [ + { + "add": { + "index": "logs-2023.10.01-000001", # текущий индекс + "alias": "logs-alias" # алиас + } + } + ] +} +``` + +--- + +#### **Шаг 2: Создайте политику ILM** +Политика ILM определяет, что делать с индексами на разных этапах их жизни (например, когда переходить на новый индекс, когда удалять старые данные). + +Пример политики: +```bash +PUT _ilm/policy/logs-policy +{ + "policy": { + "phases": { + "hot": { # этап "горячих" данных + "actions": { + "rollover": { # ротация индекса + "max_size": "50gb", # ротация при достижении 50 ГБ + "max_age": "7d" # или через 7 дней + } + } + }, + "delete": { # этап удаления + "min_age": "30d", # удалить через 30 дней + "actions": { + "delete": {} # действие — удалить индекс + } + } + } + } +} +``` + +--- + +#### **Шаг 3: Создайте шаблон индекса** +Шаблон индекса автоматически применяет настройки (например, политику ILM и алиас) к новым индексам, которые соответствуют определенному шаблону имени. + +Пример шаблона: +```bash +PUT _index_template/logs-template +{ + "index_patterns": ["logs-*"], # шаблон имени индекса + "template": { + "settings": { + "index.lifecycle.name": "logs-policy", # применяем политику ILM + "index.lifecycle.rollover_alias": "logs-alias" # указываем алиас + } + } +} +``` + +--- + +#### **Шаг 4: Создайте начальный индекс** +Создайте первый индекс, который будет использоваться для записи данных. Убедитесь, что он соответствует шаблону и имеет алиас. + +Пример: +```bash +PUT logs-2023.10.01-000001 +{ + "aliases": { + "logs-alias": {} # назначаем алиас + } +} +``` + +--- + +#### **Шаг 5: Настройте сбор логов** +Убедитесь, что ваши логи (например, из Filebeat, Logstash или другого источника) пишутся в алиас `logs-alias`. Это гарантирует, что данные будут попадать в текущий активный индекс. + +--- + +#### **Шаг 6: Проверка работы ILM** +- Когда текущий индекс достигнет 50 ГБ или пройдет 7 дней, ILM создаст новый индекс (например, `logs-2023.10.08-000002`) и перенаправит запись на него. +- Старые индексы будут автоматически удаляться через 30 дней. + +--- + +### **3. Как проверить, что все работает?** +- Проверьте статус ILM: + ```bash + GET _ilm/status + ``` +- Посмотрите информацию по конкретному индексу: + ```bash + GET logs-2023.10.01-000001/_ilm/explain + ``` +- Убедитесь, что новые индексы создаются, а старые удаляются. + +--- + +### **4. Пример полного цикла:** +1. Создаете алиас `logs-alias` и первый индекс `logs-2023.10.01-000001`. +2. Данные начинают писаться в `logs-2023.10.01-000001`. +3. Через 7 дней или при достижении 50 ГБ создается новый индекс `logs-2023.10.08-000002`, и данные начинают писаться туда. +4. Через 30 дней индекс `logs-2023.10.01-000001` автоматически удаляется. + +--- + +### **5. Частые ошибки:** +- **Алиас не указан:** Убедитесь, что алиас указан в шаблоне индекса и в самом индексе. +- **Политика не применяется:** Проверьте, что политика ILM указана в шаблоне индекса. +- **Нет данных для ротации:** Убедитесь, что данные пишутся в алиас. + +--- + +Если все настроено правильно, ILM будет автоматически управлять вашими индексами, и вам не придется вручную заниматься ротацией логов. 😊 \ No newline at end of file