Как организовать сбор логов из множества сервисов?
- Чем ELK отличается от Loki?
- Зачем нужны структурированные логи?
Приложения пишут структурированные логи (JSON) в stdout; агент на узле (Fluent Bit, Vector, Promtail) собирает их, добавляет метаданные (под, namespace, сервис) и отправляет в хранилище с поиском. ELK/OpenSearch индексирует весь текст — мощный поиск, но дорого по диску и памяти. Loki индексирует только метки, а текст хранит сжатым в объектном хранилище — в разы дешевле, но поиск по содержимому медленнее.
- trace_id в каждой строке связывает логи с трейсами и запросом
- Уровни логирования и сэмплирование: DEBUG в проде на высоком трафике разоряет
- Не логировать персональные данные, пароли, токены
А ещё Сроки хранения: горячие дни для поиска, архив дешевле или удаление
Подробно
Структурированный лог:
{"ts":"2026-10-13T10:15:02Z","level":"ERROR","service":"orders",
"trace_id":"4bf92f35","order_id":"A-1042","msg":"payment timeout",
"duration_ms":3012}
Поля позволяют фильтровать и считать, а не разбирать текст регулярками.
Сравнение хранилищ:
| ELK / OpenSearch | Loki | |
|---|---|---|
| индекс | полнотекстовый по всем полям | только метки |
| стоимость | высокая | низкая |
| поиск | быстрый по любому слову | фильтр по меткам + перебор |
| эксплуатация | сложный кластер | проще, объектное хранилище |
Надёжность конвейера: буферизация в агенте или очередь (Kafka) перед хранилищем — пик логов не должен ронять приложения или терять данные; лимиты на размер и частоту.
Метки в Loki — как в Prometheus: высокая кардинальность (user_id в метке) ломает хранилище; такие значения — в теле строки.
Что хотят услышать
- Конвейер: stdout → агент → хранилище.
- Структурированные логи и trace_id.
- Компромисс ELK и Loki, стоимость и хранение.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✓Логи в stdout в структурированном виде, агент на узле отправляет их в общее хранилище
- ✗Каждое приложение пишет логи напрямую в общую базу данных
- ✗Loki индексирует весь текст логов
- ✗Логи лучше хранить только на локальных дисках узлов
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.