ELK: менеджмент логов, быстрая локализация проблем /...
-
Upload
ontico -
Category
Engineering
-
view
171 -
download
0
Transcript of ELK: менеджмент логов, быстрая локализация проблем /...
Проблемы
• Быстрый поиск по логам
• Быстрая аналитика по логам
• Всё это по нескольким сервисам
• …в 3 часа ночи и очень срочно
Олд скул
• Log, Rotate, Archive
• Поиск с помощью grep
• "Аналитика" с помощью: zcat | cut | sort | uniq -c | sort -nr
Олд скул• Плюсы
+ Надёжно
+ Просто реализовать
+ Не требует ресурсов
• Минусы
– Grep магия для фильтрации
– Нельзя делать сложные агрегации
– Если софт не помещаются на 1 сервер то всё плохо
Какие проблемы?
• Порядок записей событий
• Трудно считать кросс-сервисную аналитику
• Больше файлов – дольше обработка
Структурированный лог• Формат
• Описывает сам свою структуру
• Расширяемый
• Легко формируется и парсится
• Человекочитаем
• Содержимое
• Контекст
• Атрибуты вместо строк
{"JSON": "наш выбор!"}
• Описывает сам свою структуру
• Расширяемый
• Есть библиотеки под все языки
• Человекочитаем
ES: Ротация логов
• Индексы по дням
• Поиск по множеству индексов
• Удаление множества индексов
• Перемещение индексов между узлами
Kibana: Поиск
• Полнотекстовый поиск
• Поиск по атрибутам
• Lucene queries
• Быстрый просмотр значений
Kibana: Кросс-сервисный поиск
• Способы организации:
✓ Индекс на каждый сервис
X Всё в одном индексе
logs-crawler-2016.11.07
logs-2016.11.07
Как и что логировать
• «Session ID»
• Трекинг событий
• Простые агрегации
• Полный контекст
• Сложный агрегации
{"article_id":42,"session_id":"0cx31f","ref_article_id":17}
ELK или EFK?
Logstash
TCP => File: • 5 000 записей/сек • ~105% CPU • 230 MB RAM
TCP => File: • 11 546 записей/сек • ~80% CPU • ~60 MB RAM
Потребление ресурсов
Cores RAM DISK
20-50 млн/сутки 10-25 4-10 ГБ 30 ГБ SSD за 3 суток300 ГБ HDD за месяц