← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: спроєктувати єдину політику логування для застосунку з кількома контейнерами. Крок 1. Скласти список усіх контейнерів і типів їх логів. Пояснення: веб, api, worker, scheduler, база. Крок 2. Вирішити формат логів. Пояснення: звичайний текст чи структурований json з полями рівня і сервісу. Крок 3. Налаштувати кожен сервіс на запис у stdout stderr. Пояснення: так Docker може керувати логами централізовано. Крок 4. Обрати лог драйвер за замовчуванням. Пояснення: json-file, syslog, gelf або драйвер для лог агента. Крок 5. Встановити обмеження на розмір лог файлів і кількість ротацій. Пояснення: через log-opts max-size та max-file. Крок 6. Спроєктувати доставку логів у централізовану систему. Пояснення: Filebeat, Fluentd або інший агент. Крок 7. Створити окрему test інсталяцію і перевірити що логи усіх контейнерів доходять до сховища. Крок 8. Налаштувати фільтрацію зайвих логів. Пояснення: не всі debug події потрібні у прод. Крок 9. Додати у документацію таблицю з джерелами логів і їх рівнями. Пояснення: це допоможе при розслідуванні інцидентів. Крок 10. Міні звіт. Завдання: опиши цільовий вигляд дашборда або пошукових запитів по логах для цього застосунку.