SlideShare a Scribd company logo
Карта граблей на
поле сбора и
доставки логов.
Lazada-way
Юрий Бушмелев
Lazada TechHub
Lazada? Что это?
• интернет-магазин №1 в 6 странах ЮВА (Вьетнам, Таиланд,
Малайзия, Индонезия, Сингапур и Филиппины), с 2016 года
— часть Alibaba Group
• 4 дата-центра
• более 80 микро-сервисов на GO + наследие на PHP
• более 6 миллионов сообщений в минуту по системе в целом
6 миллионов сообщений, которые надо...
• отправить из приложения
• принять для доставки
• доставить для дальнейшего анализа и хранения
• анализировать
• хранить
6 миллионов сообщений?!!
— что вы туда пишете?!
— access-логи
— зачем вы это делаете?!
— для трейсинга
Поле вариантов
Как писать лог из приложения?
• в stdout/stderr
• в файл
• в syslog
• как-то иначе API
?
Как собирать логи?
• docker log driver
• читать из файла
• syslog daemon
• как-то иначе
сервер
API
?API
API
Как и куда доставлять логи?
• GELF по UDP в Graylog
• JSON в ELK через MQ
• syslog в файлы
• как-то иначе
сервер
API ?
?
Как это было
Как мы писали лог из приложения
приложение пишет в stdout/
stderr,
которые перенаправлены
шеллом в файлы,
которые пишутся в каталог,
который проброшен внутрь
контейнера с хост-системы
... на сервере, который
настроил Джек!
сервер
Файл td-agentAPIAPIAPI
Как мы собирали и доставляли логи
на хосте был запущен td-
agent, который:
• читал файлы логов
• парсил их в JSON
• слал в Kafka-topic
Kafkatd-agent
JSON
Куда мы доставляли логи
• часть логов — в Logstash +
Kibana
• часть логов — в Graylog
• часть логов — в другой
Graylog
... и все они — в один кластер
ElasticSearch
Kafka
LogstashLogstashLogstash
GraylogGraylogGraylog
ES
Вид сверху
Kafka
сервер
Файл td-agentAPIAPIAPI
JSON
LogstashLogstashLogstash
GraylogGraylogGraylog
ES
①②③
④
⑥
⑤
Грабли!
1. Необходим доступ для записи в каталог
2. Нужно много места на диске
3. Невозможна нормальная ротация (только copytruncate)
4. Разные API писали логи в разных форматах
5. td-agent работал реже, чем не работал
6. Проблемы с ElasticSearch
• устаревшая версия (1.7)
• не было выделенных мастеров
• разнородные логи с пересекающимися полями
• отсутствие статического маппинга полей
Кто виноват и что делать?
Стандарты!
• единый формат логов для всех API
• единый стандарт на способы записи, сбора и доставки логов
• единые библиотеки логгирования
• SLA на доставку логов
Заменить td-agent
• fluentd
• filebeat
• syslog-ng/rsyslog/nxlog
• написать что-то своё
Rsyslog — хороший
• много модулей почти на все случаи жизни
• человекопонятный RainerScript
• imfile + mmnormalize + omkafka позволяют сэмулировать td-
agent
• mmnormalize стоит отдельного упоминания
• мощная система шаблонов
• RELP — гарантия доставки
• очереди в памяти и на диске с тонкими настройками
• многопоточность и параллелизация
Rsyslog — плохой
• не каждой версией можно пользоваться
• плохо документирован
• RainerScript скуден по возможностям
• omkafka до v8.28 может терять сообщения
• сообщения иногда застревают в RELP
• настройки очередей крайне неочевидны
• параллелится не всё и не всегда
• иногда приходится читать исходники
Как мы стали писать и собирать логи
приложение пишет в unix
datagram socket,
который находится в каталоге,
который проброшен в
контейнер с хост-системы,
на которой запущен rsyslog
... на сервере, который
настроил Puppet!
сервер
API
API
API
rsyslog
Как мы стали доставлять логи
rsyslog на хосте:
• вычитывает сообщение из
сокета
• парсит его в JSON
• кладёт его в локальный лог
(если надо)
• отправляет далее (в релей
или в Kafka)
Kafka
сервер
Файл
JSON
rsyslog
APIAPIAPI
rsyslog
Новый вид сверху
Kafka
LogstashLogstashLogstash
GraylogGraylogGraylog
ES
сервер
Файл
JSON
rsyslogAPIAPIAPI
rsyslog rsyslog
Метрики
• собственная статистика rsyslog (impstats)
• кастомные счётчики rsyslog (dyn_stats)
• rsyslog_exporter собственной разработки
• prometheus
• grafana
• метрики Graylog
Подводные грабли
• Graylog не успевает
• 50k msg/s только с live API
• 12k msg/s в Graylog
• случается, что запись в сокет блокируется
• нужно мониторить размеры очередей (и сделать алерты по
ним)
• амплификация в 10 раз — легко
• мы растём
Файловое хранилище
• сервер с максимально набитым рейдом в каждом ДЦ
• быстрый и простой способ
• получить все логи в одном месте
• использовать утилиты командной строки (tail|grep|awk|jq)
и скрипты над файловыми логами
• организовать долгосрочное хранилище логов
Это РЕАЛЬНО работает!!!
Вид сверху с файловым хранилищем
Kafka
LogstashLogstashLogstash
GraylogGraylogGraylog
ES
сервер
Файл
JSON
rsyslogAPIAPIAPI
rsyslog rsyslog
rsyslog
Что делать - II
• выкинули Logstash и Kibana
• переехали на собственный кластер Kafka
• перенесли логи со строгими форматами в новый кластер
Graylog
Новый Graylog
• всё в Docker
• 3 сервера Kafka
• 7 серверов Graylog (v2.3)
• 24 дата-инстанса ElasticSearch (v5.5) на 12 серверах (4xHDD
RAID0 на инстанс)
• Indexing Rate до 100k msg/s
• 140Tb данных в неделю
Опять грабли!
• грядущие распродажи 11/11 и 12/12
• количество логов уже перевалило за 6 миллионов
сообщений в минуту
• Graylog + ES не могли «прожевать» больше 100k msg/s
• выход из строя одной ноды Kafka фатален
• выход из строя одного инстанса ES фатален (Disk I/O)
Новый новый Graylog
• всё в Docker
• 5 серверов Kafka
• 7 серверов Graylog (v2.3)
• hot/warm-архитектура ElasticSearch (v5.5)
• 3 выделенных мастера
• 16 hot-инстансов на 4xSSD RAID0
• 32 warm-инстанса на 4xHDD RAID0
• ротация индексов по размеру
• Indexing Rate до 160k msg/s (9m msg/min)
Планы на будущее
• работа над High Availability
• метрики Graylog
• рейт-лимиты
• SLA с разработчиками
• документация
Итого
• «стандартизируй это»
• решения на базе syslog-ов - всё еще торт
• rsyslog работает хорово
• запись в сокет блокируется
• логи могут теряться
• файловые хранилища логов — быстро, просто, удобно
• Graylog + ElasticSearch — всё сложно
• чем меньше логов — тем лучше
Спасибо за внимание!
Юрий Бушмелев
@jay7t
jay4mail@gmail.com

More Related Content

PDF
Monitoring base, golang meetup, kyiv
PDF
My talk on HBase ops engineering at TBD Jun 2016
PDF
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
PDF
Rspamd — высокопроизводительная система фильтрации спама / Стахов Всеволод (U...
PDF
Tech Talks @NSU: Что такое Highload? Секреты высокой нагрузки.
PPTX
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
PDF
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
PDF
Near-realtime аналитика событий в высоконагруженном проекте
Monitoring base, golang meetup, kyiv
My talk on HBase ops engineering at TBD Jun 2016
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
Rspamd — высокопроизводительная система фильтрации спама / Стахов Всеволод (U...
Tech Talks @NSU: Что такое Highload? Секреты высокой нагрузки.
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации” или mobile-...
Near-realtime аналитика событий в высоконагруженном проекте

What's hot (19)

PDF
RTB DSP на языке Go: укрощение buzzwords
PPTX
Путь мониторинга, DevOps club в Grammarly
PDF
Путь к Go на конкретном примере
PDF
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
PDF
PDF
NoSQL — неспроста ли это "ЖЖЖ"?
PDF
Сравнение решений по балансировке высоконагруженных систем / Евгений Пивень (...
PDF
Облако в Badoo год спустя
PDF
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
PDF
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
PDF
My talk at Highload++ 2015
PPTX
Денис Иванов
PDF
Golang в avito
PDF
Юрий Насретдинов, Badoo
PDF
AVITO. Решаем проблемы по мере их поступления. Стачка 2013
PDF
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
PPTX
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
PPTX
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
PDF
My talk on LeoFS, Highload++ 2014
RTB DSP на языке Go: укрощение buzzwords
Путь мониторинга, DevOps club в Grammarly
Путь к Go на конкретном примере
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
NoSQL — неспроста ли это "ЖЖЖ"?
Сравнение решений по балансировке высоконагруженных систем / Евгений Пивень (...
Облако в Badoo год спустя
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
My talk at Highload++ 2015
Денис Иванов
Golang в avito
Юрий Насретдинов, Badoo
AVITO. Решаем проблемы по мере их поступления. Стачка 2013
Gobblin как ETL-фреймворк / Иван Ахлестин (Rambler&Co)
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
My talk on LeoFS, Highload++ 2014
Ad

Viewers also liked (20)

PPTX
Как построить хороший performance review: опыт Badoo / Алексей Рыбак (Badoo)
PDF
Как писать сервис, поддержка которого не превращается в ад / Антон Резников, ...
PDF
Logging and ranting / Vytis Valentinavičius (Lamoda)
PPTX
Встреча докладчиков Hl++ 2017
PDF
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
PPTX
Безболезненный Fallback cache на Scala / Олег Нижников (Tinkoff.ru)
PDF
Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шар...
PPTX
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
PDF
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
PDF
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
PPTX
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
PDF
Все, что тимлид должен знать о найме и увольнении / Степан Овчинников (ИНТЕРВ...
PPTX
Lua в нагруженных телеком-системах / Дмитрий Борисов (ИП Борисов Дмитрий Нико...
PDF
DDoS-атаки: тектонические изменения в 2016-2017 году / Артём Гавриченков (Qra...
PPTX
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
PDF
Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtust...
PDF
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
PDF
Сложности performance-тестирования / Андрей Акиньшин (JetBrains)
PDF
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
PPTX
Искусство предсказания: как давать более точные оценки времени проекта / Андр...
Как построить хороший performance review: опыт Badoo / Алексей Рыбак (Badoo)
Как писать сервис, поддержка которого не превращается в ад / Антон Резников, ...
Logging and ranting / Vytis Valentinavičius (Lamoda)
Встреча докладчиков Hl++ 2017
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Безболезненный Fallback cache на Scala / Олег Нижников (Tinkoff.ru)
Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шар...
Технологии хранения для больших проектов / Сергей Платонов (RAIDIX)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Все, что тимлид должен знать о найме и увольнении / Степан Овчинников (ИНТЕРВ...
Lua в нагруженных телеком-системах / Дмитрий Борисов (ИП Борисов Дмитрий Нико...
DDoS-атаки: тектонические изменения в 2016-2017 году / Артём Гавриченков (Qra...
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Cassandra для хранения метаданных: успехи и провалы / Андрей Смирнов (Virtust...
Микросервисный фронтенд / Вячеслав Слинько (ЦИАН)
Сложности performance-тестирования / Андрей Акиньшин (JetBrains)
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Искусство предсказания: как давать более точные оценки времени проекта / Андр...
Ad

Similar to Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Lazada) (7)

PPTX
Breaking logs
PDF
PPTX
Elasticsearch(java) fluentd(ruby) kibana(javascript)
PPTX
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
PDF
Не превращайте ваши логи в клинопись
PDF
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
PDF
Автоматизация анализа логов на базе Elasticsearch
Breaking logs
Elasticsearch(java) fluentd(ruby) kibana(javascript)
Elasticsearch(java) fluentbit(c++) fluentd(ruby) kibana(javascript)
Не превращайте ваши логи в клинопись
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Автоматизация анализа логов на базе Elasticsearch

More from Ontico (20)

PDF
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
PDF
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
PPTX
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
PDF
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
PDF
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PDF
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PDF
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
PDF
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
PPTX
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
PPTX
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
PDF
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
PPTX
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
PPTX
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
PDF
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
PPT
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
PPTX
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
PPTX
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
PPTX
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
PPTX
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
PDF
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...

Карта граблей на поле сбора и доставки логов. Lazada-way / Юрий Бушмелев (Lazada)

  • 1. Карта граблей на поле сбора и доставки логов. Lazada-way Юрий Бушмелев Lazada TechHub
  • 2. Lazada? Что это? • интернет-магазин №1 в 6 странах ЮВА (Вьетнам, Таиланд, Малайзия, Индонезия, Сингапур и Филиппины), с 2016 года — часть Alibaba Group • 4 дата-центра • более 80 микро-сервисов на GO + наследие на PHP • более 6 миллионов сообщений в минуту по системе в целом
  • 3. 6 миллионов сообщений, которые надо... • отправить из приложения • принять для доставки • доставить для дальнейшего анализа и хранения • анализировать • хранить
  • 4. 6 миллионов сообщений?!! — что вы туда пишете?! — access-логи — зачем вы это делаете?! — для трейсинга
  • 6. Как писать лог из приложения? • в stdout/stderr • в файл • в syslog • как-то иначе API ?
  • 7. Как собирать логи? • docker log driver • читать из файла • syslog daemon • как-то иначе сервер API ?API API
  • 8. Как и куда доставлять логи? • GELF по UDP в Graylog • JSON в ELK через MQ • syslog в файлы • как-то иначе сервер API ? ?
  • 10. Как мы писали лог из приложения приложение пишет в stdout/ stderr, которые перенаправлены шеллом в файлы, которые пишутся в каталог, который проброшен внутрь контейнера с хост-системы ... на сервере, который настроил Джек! сервер Файл td-agentAPIAPIAPI
  • 11. Как мы собирали и доставляли логи на хосте был запущен td- agent, который: • читал файлы логов • парсил их в JSON • слал в Kafka-topic Kafkatd-agent JSON
  • 12. Куда мы доставляли логи • часть логов — в Logstash + Kibana • часть логов — в Graylog • часть логов — в другой Graylog ... и все они — в один кластер ElasticSearch Kafka LogstashLogstashLogstash GraylogGraylogGraylog ES
  • 14. Грабли! 1. Необходим доступ для записи в каталог 2. Нужно много места на диске 3. Невозможна нормальная ротация (только copytruncate) 4. Разные API писали логи в разных форматах 5. td-agent работал реже, чем не работал
  • 15. 6. Проблемы с ElasticSearch • устаревшая версия (1.7) • не было выделенных мастеров • разнородные логи с пересекающимися полями • отсутствие статического маппинга полей
  • 16. Кто виноват и что делать?
  • 17. Стандарты! • единый формат логов для всех API • единый стандарт на способы записи, сбора и доставки логов • единые библиотеки логгирования • SLA на доставку логов
  • 18. Заменить td-agent • fluentd • filebeat • syslog-ng/rsyslog/nxlog • написать что-то своё
  • 19. Rsyslog — хороший • много модулей почти на все случаи жизни • человекопонятный RainerScript • imfile + mmnormalize + omkafka позволяют сэмулировать td- agent • mmnormalize стоит отдельного упоминания • мощная система шаблонов • RELP — гарантия доставки • очереди в памяти и на диске с тонкими настройками • многопоточность и параллелизация
  • 20. Rsyslog — плохой • не каждой версией можно пользоваться • плохо документирован • RainerScript скуден по возможностям • omkafka до v8.28 может терять сообщения • сообщения иногда застревают в RELP • настройки очередей крайне неочевидны • параллелится не всё и не всегда • иногда приходится читать исходники
  • 21. Как мы стали писать и собирать логи приложение пишет в unix datagram socket, который находится в каталоге, который проброшен в контейнер с хост-системы, на которой запущен rsyslog ... на сервере, который настроил Puppet! сервер API API API rsyslog
  • 22. Как мы стали доставлять логи rsyslog на хосте: • вычитывает сообщение из сокета • парсит его в JSON • кладёт его в локальный лог (если надо) • отправляет далее (в релей или в Kafka) Kafka сервер Файл JSON rsyslog APIAPIAPI rsyslog
  • 24. Метрики • собственная статистика rsyslog (impstats) • кастомные счётчики rsyslog (dyn_stats) • rsyslog_exporter собственной разработки • prometheus • grafana • метрики Graylog
  • 25. Подводные грабли • Graylog не успевает • 50k msg/s только с live API • 12k msg/s в Graylog • случается, что запись в сокет блокируется • нужно мониторить размеры очередей (и сделать алерты по ним) • амплификация в 10 раз — легко • мы растём
  • 26. Файловое хранилище • сервер с максимально набитым рейдом в каждом ДЦ • быстрый и простой способ • получить все логи в одном месте • использовать утилиты командной строки (tail|grep|awk|jq) и скрипты над файловыми логами • организовать долгосрочное хранилище логов Это РЕАЛЬНО работает!!!
  • 27. Вид сверху с файловым хранилищем Kafka LogstashLogstashLogstash GraylogGraylogGraylog ES сервер Файл JSON rsyslogAPIAPIAPI rsyslog rsyslog rsyslog
  • 28. Что делать - II • выкинули Logstash и Kibana • переехали на собственный кластер Kafka • перенесли логи со строгими форматами в новый кластер Graylog
  • 29. Новый Graylog • всё в Docker • 3 сервера Kafka • 7 серверов Graylog (v2.3) • 24 дата-инстанса ElasticSearch (v5.5) на 12 серверах (4xHDD RAID0 на инстанс) • Indexing Rate до 100k msg/s • 140Tb данных в неделю
  • 30. Опять грабли! • грядущие распродажи 11/11 и 12/12 • количество логов уже перевалило за 6 миллионов сообщений в минуту • Graylog + ES не могли «прожевать» больше 100k msg/s • выход из строя одной ноды Kafka фатален • выход из строя одного инстанса ES фатален (Disk I/O)
  • 31. Новый новый Graylog • всё в Docker • 5 серверов Kafka • 7 серверов Graylog (v2.3) • hot/warm-архитектура ElasticSearch (v5.5) • 3 выделенных мастера • 16 hot-инстансов на 4xSSD RAID0 • 32 warm-инстанса на 4xHDD RAID0 • ротация индексов по размеру • Indexing Rate до 160k msg/s (9m msg/min)
  • 32. Планы на будущее • работа над High Availability • метрики Graylog • рейт-лимиты • SLA с разработчиками • документация
  • 33. Итого • «стандартизируй это» • решения на базе syslog-ов - всё еще торт • rsyslog работает хорово • запись в сокет блокируется • логи могут теряться • файловые хранилища логов — быстро, просто, удобно • Graylog + ElasticSearch — всё сложно • чем меньше логов — тем лучше