алексей машанов

734
-1

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
734
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

алексей машанов

  1. 1. Возможности scribeи его применение для сбора логов Facebook Отказоустойчиво Отказоустойчиво Twitter Масштабируемо Масштабируемо scribe Mail.Ru Быстро Быстро ... Open Source Open Source
  2. 2. Возможности scribeи его применение для сбора логов Что такое Real Time Сколько серверов много
  3. 3. Возможности scribeи его применение для сбора логов Что такое scribe данные данные scribed TCP TCP HDD
  4. 4. Возможности scribeи его применение для сбора логов Что такое много scribe appсервер scribe app scribe коллектор scribe датацентр scribe N x HDD app scribe app scribe scribe
  5. 5. Возможности scribeи его применение для сбора логовScribe? Зачем?
  6. 6. Возможности scribeи его применение для сбора логов Сбор логов Сервер 1 Лог 1 Лог N Коллектор Сервер N Лог 1 Лог N
  7. 7. Возможности scribeи его применение для сбора логов Сбор статистики Сервер 1 Счетчик 1 1 Агрегатор 1-1 Агрегатор 2-1 Счетчик 2 По физическому По счетчику Сервер N расположению Счетчик 1 Агрегатор 1-M Агрегатор 2-K Счетчик 2 2
  8. 8. Возможности scribeи его применение для сбора логов Обработка очередей заданий Сервер 1 Воркер 1 Очередь 1 Очередь N Воркер 2 Воркер 3 Сервер N Очередь 1 Воркер M Очередь N
  9. 9. Возможности scribeи его применение для сбора логов Обработка очередей заданий 2 Сервер 1 Воркер 1 Очередь 1 Очередь N файл Воркер 2 tail -F Воркер 3 Сервер N Очередь 1 Менеджер Воркер M Очередь N
  10. 10. Возможности scribeи его применение для сбора логов
  11. 11. Возможности scribeи его применение для сбора логов Сообщение scribe, категоризация entry category category string message string store 1 store 2  category — используется message store 3 для логического разделения и роутинга сообщений  message — собственно store N текст сообщения
  12. 12. Возможности scribeи его применение для сбора логов Логическая схема scribe Thread Thread StoreQueue Store TCP Server Thread StoreQueue Store
  13. 13. Возможности scribeи его применение для сбора логов Типы хранилищ store file std network hdfs bucket multi buffer null
  14. 14. Возможности scribeи его применение для сбора логов type = file /var/scribe/test type = network 10.0.0.1:1465
  15. 15. Возможности scribeи его применение для сбора логов type = buffer primary secondary
  16. 16. Возможности scribeи его применение для сбора логов Буферизация на диск данные данные scribed TCP TCP HDDБуферизация на диск используется только в том случае, если приемник недоступен
  17. 17. Возможности scribeи его применение для сбора логов Самый простой вариант Source Collector buffer file network file
  18. 18. Возможности scribeи его применение для сбора логов На границе сетей Source Proxy Collector buffer buffer file network network file file
  19. 19. Возможности scribeи его применение для сбора логов type = multi store0 store1 storeN
  20. 20. Возможности scribeи его применение для сбора логов Разделение данных Source Logs Collector log-* log-* file network stat-* Stat Collector stat-* network file
  21. 21. Возможности scribeи его применение для сбора логов Шардинг type = bucket N =0 bucket0 x% x%N=1 bucket1 x% N= N- 1 bucket(N-1)
  22. 22. Возможности scribeи его применение для сбора логов Версии scribe facebook twitter Балансировка через zookeeper Сжатие LZO при записи на HDFS Тэйлинг файлов
  23. 23. Возможности scribeи его применение для сбора логов ZooKeeper Service Leader Server Server Server Client Client Client Client Client
  24. 24. Возможности scribeи его применение для сбора логов scribe ZooKeeper 10.0.0.1:1465 / scribe scribe 10.0.0.2:1465 10.0.0.1:1465 scribe 10.0.0.3:1465 10.0.0.2:1465 scribe 10.0.0.4:1465 10.0.0.4:1465
  25. 25. Возможности scribeи его применение для сбора логов Балансировка с помощью zookeeperremote_host=zk://zk1.i:2181,zk2.i:2181,zk3.i:2181/hdfs-writer Source HDFS Writer 1 HDFS Writer 2 HDFS Writer N zk_server=zk1.i:2181,zk2.i:2181,zk3.i:2181 zk_registration_prefix=/hdfs-writer
  26. 26. Возможности scribeи его применение для сбора логов Сжатие LZO Высокая скорость упаковки и особенно распаковки Возможность чтения с середины файла scribed LZO HDFS Уменьшение объема данных Ускорение дисковых операций
  27. 27. Возможности scribeи его применение для сбора логов Запись данных из приложения app server = 127.0.0.1:1465 scribe: scribe: 127.0.0.1:1465 collector.i
  28. 28. Возможности scribeи его применение для сбора логов Fallback при записи в scribe primary: 127.0.0.1:1465 app secondary: zk://zk1.i:2181,zk2.i:2181,zk3.i:2181/fallback scribe: scribe: 127.0.0.1:1465 collector.i scribe: x.x.x.x:1465zk_server=zk1.i:2181,zk2.i:2181,zk3.i:2181zk_registration_prefix=/fallback
  29. 29. Возможности scribeи его применение для сбора логовtail -F
  30. 30. Возможности scribeи его применение для сбора логов Logcp inotify /var/log/*.log logcpd statistics /var/log/httpd/*.log scribe/var/tarantool/logs/*.log logmonitord
  31. 31. Возможности scribeи его применение для сбора логов Что нужно учесть rename httpd.log httpd.log.0 de let e httpd.log truncate httpd.log
  32. 32. Возможности scribeи его применение для сбора логов Сборка Собираем с последним thrift Версия от twitter для джедаев — баги Perl-клиент Scribe::Thrift::scribe Thrift::BinaryProtocol заменяем на Thrift::XS::BinaryProtocol
  33. 33. Возможности scribeи его применение для сбора логов Тюнинг параметров  На источнике: На коллекторе: − adaptive_backoff=yes ulimit -n 65535 − check_interval=1 ulimit -u 4096 − buffer_send_rate=10 num_thrift_server_threads=8 − max_size=1000000 max_queue_size=300000000 − max_write_interval=1 max_write_interval=5 − use_conn_pool=yes Все параметры прекрасно документированы на языке C++ и в комментариях к коммитам в git
  34. 34. Возможности scribeи его применение для сбора логов Что получилось  С кластера ~600 серверов  ~6,5Тб логов ежесуточно  В реальном времени  На один сервер: − 13 дисков, RAID5, в сумме 27Тб − Бондинг 2Гб/с.
  35. 35. Спасибо! Алексей МашановПрограммист, Мой Мир@mail.ru a.mashanov@corp.mail.ru
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×