← До фільтрів та технологій

← До списку лабораторних по Docker

Docker Лабораторна 82: Sidecar для логів

Технологія: Docker

Номер лабораторної: 82 · Рівень: middle

Тема: Sidecar контейнери для логування

Повний опис / сценарій лабораторної:

Мета: відпрацювати шаблон коли основний сервіс пише логи у файл а окремий sidecar відправляє їх у централізовану систему.



Крок 1. Створити контейнер застосунку який пише логи у файл.

Пояснення: наприклад web сервіс який пише у /var/log/app.log.



Крок 2. Оголосити named volume для каталогу логів.

Пояснення: том буде спільним між основним контейнером і sidecar.



Крок 3. Запустити основний контейнер з примонтованим томом.

Команда: docker run -d --name app82 -v logs82:/var/log app-image



Крок 4. Підготувати sidecar образ з log shipper утилітою.

Пояснення: це може бути простий скрипт який відправляє логи curl запитом.



Крок 5. Запустити sidecar контейнер з тим самим томом.

Команда: docker run -d --name logs82-shipper -v logs82:/var/log/target shipper-image

Пояснення: sidecar буде читати файл і надсилати його в інше місце.



Крок 6. Перевірити що логи справді потрапляють на цільовий сервер або у файл хоста.

Пояснення: це імітує доставку в ELK або іншу систему логування.



Крок 7. Зупинити основний контейнер і подивитися поведінку sidecar.

Пояснення: він має коректно поводитися коли джерело логів тимчасово відсутнє.



Крок 8. Перезапустити основний сервіс і переконатися що логування відновилося.



Крок 9. Сформулювати правила використання sidecar шаблону у проєкті.

Пояснення: які сервіси потребують окремого логування а де достатньо stdout.



Крок 10. Міні звіт.

Завдання: опиши плюси і мінуси sidecar підходу у порівнянні з log agent на хості.