DevOps и инфраструктура

Учебник ELK Stack для начинающих

25 уроков · 9 разделов · бесплатно, без регистрации

Когда серверов десятки, а сервисов сотни, разбираться в инцидентах по логам через ssh и grep на каждой машине становится невозможно. Этот учебник про централизованное логирование на ELK Stack (он же Elastic Stack): как собрать логи со всех источников в одно место, превратить сырые строки в структурированные поля, искать по ним за секунды и строить дашборды.

Мы разберём весь конвейер: источник → сбор Beats → обработка Logstash → хранение в Elasticsearch → визуализация в Kibana. Отдельно — grok-парсинг, структурированные JSON-логи, ILM для управления жизненным циклом данных, алертинг, логирование в Kubernetes (EFK) и честное сравнение с альтернативами вроде Loki. Курс рассчитан на тех, кто уже знает основы Elasticsearch и понимает разницу между метриками и логами — здесь фокус именно на логировании.

Курс «ELK Stack: логирование и анализ» состоит из 9 разделов и 25 уроков: Зачем централизованное логирование, Архитектура пайплайна логов, Beats: сбор данных с источников, Logstash: обработка потока событий, Обогащение и структурированное логирование, Kibana: поиск и визуализация логов, Жизненный цикл, шаблоны и алертинг, Эксплуатация: инциденты, масштаб, безопасность и Kubernetes, OpenSearch и альтернативы. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Зачем централизованное логирование

    1. Логи на сотне серверов: в чём проблема

      Почему grep по SSH не масштабируется, что такое централизованное логирование и какие проблемы оно решает в распределённых системах.

    2. Логи, метрики и трейсы: три столпа observability

      Чем логи отличаются от метрик и трейсов, когда что использовать и почему логи незаменимы для разбора деталей инцидента.

    3. Что такое ELK и Elastic Stack

      Из чего состоит Elastic Stack: Elasticsearch, Logstash, Kibana и Beats. Роль каждого компонента и как аббревиатура ELK выросла в ELK+B.

  2. 2 Архитектура пайплайна логов

    1. Пять этапов конвейера логов

      Источник, сбор, обработка, хранение и визуализация: разбор каждого этапа пайплайна логов в ELK и того, что на нём происходит с данными.

    2. Elasticsearch как хранилище логов: индексы по времени

      Почему логи в Elasticsearch хранят в индексах по времени, как работают data streams, rollover и зачем это нужно для удаления старых данных.

  3. 3 Beats: сбор данных с источников

    1. Семейство Beats: Filebeat и Metricbeat

      Обзор семейства Beats, libbeat как общая основа, роли Filebeat и Metricbeat и почему сборщики делают одну задачу, но хорошо.

    2. Filebeat подробно: входы и модули

      Конфигурация Filebeat: входы filestream и container, harvester, мультилайн для стектрейсов и готовые модули для nginx, system и других сервисов.

  4. 4 Logstash: обработка потока событий

    1. Pipeline Logstash: input, filter, output

      Три секции pipeline Logstash, как событие проходит через input, цепочку filter и output, и как устроена обработка под капотом.

    2. Парсинг логов с grok

      Фильтр grok в Logstash: как превратить строку лога в поля с помощью именованных шаблонов, готовые паттерны и отладка grok в Kibana.

  5. 5 Обогащение и структурированное логирование

    1. Обогащение событий: mutate, date, geoip, drop

      Ключевые фильтры обогащения Logstash: mutate для правки полей, date для времени события, geoip для геолокации и drop для отсева шума.

    2. Структурированное логирование: JSON вместо grok

      Почему писать логи сразу в JSON лучше, чем парсить текст grok'ом: устойчивость к смене формата, скорость и единый стандарт полей ECS.

  6. 6 Kibana: поиск и визуализация логов

    1. Discover и язык запросов KQL

      Discover в Kibana для исследования логов и язык KQL: фильтрация по полям, диапазоны, логические операторы и быстрый поиск по инциденту.

    2. Дашборды и агрегации логов

      Построение дашбордов логов в Kibana: агрегации по ошибкам, топ-источники, графики во времени и сборка панели мониторинга инцидентов.

    3. Data Views и index patterns

      Что такое Data View (index pattern) в Kibana, зачем он нужен, как шаблон с маской объединяет индексы по времени и выбор поля времени.

  7. 7 Жизненный цикл, шаблоны и алертинг

    1. ILM: горячие, тёплые и холодные данные

      Index Lifecycle Management в Elasticsearch: фазы hot, warm, cold, delete, автоматическое старение логов и экономия на хранении.

    2. Шаблоны индексов: автоматическая настройка

      Index templates в Elasticsearch: как маппинг, настройки шардов и привязка ILM применяются автоматически к новым индексам логов по маске.

    3. Алертинг по логам

      Оповещения по логам в Kibana: правила на всплеск ошибок, пороги и условия, каналы доставки и отличие алертов по логам от метрик.

  8. 8 Эксплуатация: инциденты, масштаб, безопасность

    1. Разбор инцидента по логам

      Пошаговая методика расследования инцидента по логам в ELK: от алерта к trace_id, сужение времени, корреляция сервисов и поиск корневой причины.

    2. Производительность и масштаб

      Большие объёмы логов в ELK: оценка throughput, правильный размер шардов, число реплик, горизонтальное масштабирование и контроль стоимости.

    3. Безопасность стека логирования

      Безопасность ELK: аутентификация и роли в Elasticsearch, шифрование TLS, разграничение доступа к логам и защита от утечки чувствительных данных в логах.

    4. Реальный пример: сбор логов веб-приложения

      Сквозной практический пример: собираем логи nginx и backend веб-приложения в ELK от Filebeat до дашборда и алерта, шаг за шагом.

  9. 9 Kubernetes, OpenSearch и альтернативы

    1. Логи в Kubernetes: DaemonSet и стек EFK

      Сбор логов в Kubernetes: почему поды эфемерны, паттерн DaemonSet для сбора с узлов и стек EFK с Fluentd или Fluent Bit вместо Logstash.

    2. OpenSearch: форк стека

      Что такое OpenSearch: почему появился форк Elasticsearch и Kibana, отличия лицензий, совместимость и как выбирать между ELK и OpenSearch.

    3. Альтернативы: Loki, Grafana и когда что

      Сравнение ELK с Loki+Grafana: подход с индексацией только меток против полного индекса, стоимость, скорость и критерии выбора стека логирования.

    4. Типичные ошибки логирования

      Главные грабли логирования в ELK: взрыв полей (mapping explosion), отсутствие ротации и ILM, переизбыток логов и потеря структуры — и как их избежать.