8. Логирование и ELK-стек: как расследуют инциденты в production

Мы прошли огромный путь по созданию Observability для микросервисов: у нас уже есть метрики в Prometheus/Grafana (чтобы знать, ЧТО происходит) и трассировка в Jaeger (чтобы знать, ГДЕ искать проблему). Но когда случается инцидент, мы всё ещё «тыкаемся как слепые котята», потому что не знаем главного — ПОЧЕМУ это произошло. В этом видео мы закроем последний, самый важный пробел — научимся работать с логами. Из этого видео вы узнаете: Почему чтение логов по контейнерам — это боль и архаизм. Чем структурированные логи отличаются от текстовых и почему без них вы не расследуете инциденты, а гадаете на кофейной гуще. MDC — сердце структурированных логов. Что такое Mapped Diagnostic Context, как он работает (спойлер: это ThreadLocal) и как наступить на грабли с асинхронностью. Разберем паттерн TaskDecorator, который спасет ваши нервы и данные. JSON-логи без боли. Настройка logstash-logback-encoder, правильное форматирование стектрейсов (ShortenedThrowableConverter) и два способа доставки логов: TCP против stdout + Filebeat. ELK-стек под капотом. Разворачиваем Elasticsearch, Logstash и Kibana в Docker. Схема работы, компоненты и их роль. Расследование инцидента за 2 минуты. Живая демонстрация: от графика в Grafana до конкретной строчки лога с ошибкой через Jaeger и Kibana. Увидите, как traceId связывает три столпа Observability воедино. ⏱️ Тайм-коды: 00:00 – Вступление 02:53 – Создание синтетических проблем 09:25 – Запуск и демонстрация в Grafana и Jaeger 20:28 – MDC — инженерный фундамент (аналогия с паспортом, поля, фильтр) 48:49 – JSON-логи: от текста к структуре 01:06:06 – Разворачиваем ELK-стек (Elasticsearch, Logstash, Kibana) 01:15:12 – Дописываем docker-compose.yaml 01:36:17 – Запуск сборки, настройка 01:45:24 – Цикл расследования инцидента • Исходный код проекта на GitHub:[https://github.com/Oleborn/OrderHub] • Плейлист со всеми видео курса: [https://www.youtube.com/playlist?list=PL8mxYdZMab2WgiBwmXUyDvtM4SkNs3hwo] Наш канал в телеграмм https://t.me/Java_for_beginner_dev Знаете что-то лучше и готовы поделиться - добро пожаловать! #Observability #Java #ELK #Logging #Microservices #SpringBoot #Elasticsearch #Kibana #Logstash #DevOps

Иконка канала Java для новичков
47 подписчиков
12+
29 просмотров
месяц назад
12+
29 просмотров
месяц назад

Мы прошли огромный путь по созданию Observability для микросервисов: у нас уже есть метрики в Prometheus/Grafana (чтобы знать, ЧТО происходит) и трассировка в Jaeger (чтобы знать, ГДЕ искать проблему). Но когда случается инцидент, мы всё ещё «тыкаемся как слепые котята», потому что не знаем главного — ПОЧЕМУ это произошло. В этом видео мы закроем последний, самый важный пробел — научимся работать с логами. Из этого видео вы узнаете: Почему чтение логов по контейнерам — это боль и архаизм. Чем структурированные логи отличаются от текстовых и почему без них вы не расследуете инциденты, а гадаете на кофейной гуще. MDC — сердце структурированных логов. Что такое Mapped Diagnostic Context, как он работает (спойлер: это ThreadLocal) и как наступить на грабли с асинхронностью. Разберем паттерн TaskDecorator, который спасет ваши нервы и данные. JSON-логи без боли. Настройка logstash-logback-encoder, правильное форматирование стектрейсов (ShortenedThrowableConverter) и два способа доставки логов: TCP против stdout + Filebeat. ELK-стек под капотом. Разворачиваем Elasticsearch, Logstash и Kibana в Docker. Схема работы, компоненты и их роль. Расследование инцидента за 2 минуты. Живая демонстрация: от графика в Grafana до конкретной строчки лога с ошибкой через Jaeger и Kibana. Увидите, как traceId связывает три столпа Observability воедино. ⏱️ Тайм-коды: 00:00 – Вступление 02:53 – Создание синтетических проблем 09:25 – Запуск и демонстрация в Grafana и Jaeger 20:28 – MDC — инженерный фундамент (аналогия с паспортом, поля, фильтр) 48:49 – JSON-логи: от текста к структуре 01:06:06 – Разворачиваем ELK-стек (Elasticsearch, Logstash, Kibana) 01:15:12 – Дописываем docker-compose.yaml 01:36:17 – Запуск сборки, настройка 01:45:24 – Цикл расследования инцидента • Исходный код проекта на GitHub:[https://github.com/Oleborn/OrderHub] • Плейлист со всеми видео курса: [https://www.youtube.com/playlist?list=PL8mxYdZMab2WgiBwmXUyDvtM4SkNs3hwo] Наш канал в телеграмм https://t.me/Java_for_beginner_dev Знаете что-то лучше и готовы поделиться - добро пожаловать! #Observability #Java #ELK #Logging #Microservices #SpringBoot #Elasticsearch #Kibana #Logstash #DevOps

, чтобы оставлять комментарии