Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

My talk on monitoring systems at RootConf 2016

2 080 vues

Publié le

My talk on monitoring systems at RootConf 2016

Publié dans : Technologie
  • Soyez le premier à commenter

My talk on monitoring systems at RootConf 2016

  1. 1. Тошнит от колец Великая битва систем мониторинга (часть первая) Александр Чистяков
  2. 2. Давайте познакомимся • Меня зовут Саша • Я адепт Церкви Метрик • Я ненавижу Zabbix
  3. 3. Теперь ваша очередь • В зале есть еще Саша? • В зале есть еще адепт Церкви Метрик? • В зале есть те, кто любит Zabbix?
  4. 4. Что здесь будет происходить? • Мы возьмем несколько средств сбора и хранения метрик • Мене, мене, текел, упарсин • Zabbix должен проиграть
  5. 5. Я тебя слепила из того, что было • Машина для системы мониторинга: • 39G RAM, 6x300 SAS HDD, Adaptec AAC-RAID • Write-cache mode : Enabled (write-back) • Мониторится 26 хостов разных конфигураций • Ubuntu 16.04 на хосте системы мониторинга • Ubuntu 14.04 на остальных хостах • В качестве коллектора выступает collectd
  6. 6. Участники забега • Graphite/Whisper (победитель прошлой Олимпиады)
  7. 7. Участники забега • Graphite/Whisper (победитель прошлой Олимпиады) • Prometheus
  8. 8. Участники забега • Graphite/Whisper (победитель прошлой Олимпиады) • Prometheus • InfluxDB
  9. 9. Участники забега • Graphite/Whisper (победитель прошлой Олимпиады) • Prometheus • InfluxDB • Zabbix
  10. 10. Команда поддержки • Grafana • Красивые графики, нарисованные прямо при помощи испытуемого хранилища
  11. 11. Команда поддержки • Grafana • Красивые графики, нарисованные прямо при помощи испытуемого хранилища • blktrace и seekwatcher • Красивые графики, показывающие куда физически на диске попадают на чтение и запись
  12. 12. Погнали!
  13. 13. Graphite/Whisper - метрики хоста • Мы возьмем несколько средств сбора и хранения • Мене, мене, текел, упарсин • Zabbix должен проиграть
  14. 14. Graphite/Whisper - blktrace 120 секунд • Мы возьмем несколько средств сбора и хра • Мене, мене, текел, упарсин • Zabbix должен проиграть
  15. 15. Graphite/Whisper - blktrace 30 секунд • Мы возьмем несколько средств сбора и хра • Мене, мене, текел, упарсин • Zabbix должен проиграть
  16. 16. Как устроен Carbon/Whisper • Много файликов на диске (одна метрика - один файлик)
  17. 17. Как устроен Carbon/Whisper • Много файликов на диске (одна метрика - один файлик) • Файлики имеют предопределенный размер
  18. 18. Как устроен Carbon/Whisper • Много файликов на диске (одна метрика - один файлик) • Файлики имеют предопределенный размер • Размер зависит от выбора retention policy
  19. 19. Как устроен Carbon/Whisper • Много файликов на диске (одна метрика - один файлик) • Файлики имеют предопределенный размер • Размер зависит от выбора retention policy • Мы начали с policy 10s:2d,60s:14d,300s:60d,1200s:395d
  20. 20. Как устроен Carbon/Whisper • Много файликов на диске (одна метрика - один файлик) • Файлики имеют предопределенный размер • Размер зависит от выбора retention policy • Мы начали с policy 10s:2d,60s:14d,300s:60d,1200s:395d • В момент записи метрики происходит также агрегация значений
  21. 21. Ситуация в динамике • Выключим коллектор на 10 машинах (из 26)
  22. 22. Ситуация в динамике • Выключим коллектор на 10 машинах (из 26) • Ситуация на графике мало изменилась (retention policy?)
  23. 23. Ситуация в динамике • Выключим коллектор на 10 машинах (из 26) • Ситуация на графике мало изменилась (retention policy?) • Остановим carbon, удалим 10 каталогов, запустим
  24. 24. Ситуация в динамике • Выключим коллектор на 10 машинах (из 26) • Ситуация на графике мало изменилась (retention policy?) • Остановим carbon, удалим 10 каталогов, запустим • Ситуация на графике все та же
  25. 25. Ситуация в динамике • Выключим коллектор на 10 машинах (из 26) • Ситуация на графике мало изменилась (retention policy?) • Остановим carbon, удалим 10 каталогов, запустим • Ситуация на графике все та же • Потому что характеристики дисковой подсистемы нелинейны
  26. 26. Graphite/Carbon - без 10 хостов • Мы возьмем несколько средств сбора и хранения • Мене, мене, текел, упарсин • Zabbix должен проигратьcollectd_rootconf
  27. 27. Что можно улучшить? • Текущее retention policy - 11Gb места на диске • Давайте не будем агрегировать?
  28. 28. Что можно улучшить? • Текущее retention policy - 11Gb места на диске • Давайте не будем агрегировать? • 10s:60d • 67Gb места на диске
  29. 29. Graphite/Whisper - blktrace 120 секунд • Мы возьмем несколько средств сбора и хра • Мене, мене, текел, упарсин • Zabbix должен проиграть
  30. 30. Graphite/Whisper - blktrace 30 секунд • Мы возьмем несколько средств сбора и хра • Мене, мене, текел, упарсин • Zabbix должен проиграть
  31. 31. Graphite/Whisper - в динамике • Мы возьмем несколько средств сбора и хранения • Мене, мене, текел, упарсин • Zabbix должен проигратьcollectd_rootconf
  32. 32. Переходим к Prometheus • Что мы знаем о лисе: • Pull-модель, метрики забираются по HTTP непосредственно сервером
  33. 33. Переходим к Prometheus • Что мы знаем о лисе: • Pull-модель, метрики забираются по HTTP непосредственно сервером • Время удержания по умолчанию - 15 дней
  34. 34. Переходим к Prometheus • Что мы знаем о лисе: • Pull-модель, метрики забираются по HTTP непосредственно сервером • Время удержания по умолчанию - 15 дней • Частота забора метрик по умолчанию - раз в 10 секунд
  35. 35. Prometheus в динамике
  36. 36. Prometheus - blktrace 120 секунд • Мы возьмем несколько средств сбора и хра • Мене, мене, текел, упарсин • Zabbix должен проиграть
  37. 37. Prometheus - blktrace 30 секунд • Мы возьмем несколько средств сбора и хра • Мене, мене, текел, упарсин • Zabbix должен проиграть
  38. 38. Prometheus - blktrace 1200 секунд
  39. 39. Так неинтересно :( • Но постойте! • Как сделать из 26 хостов 260?
  40. 40. Так неинтересно :( • Но постойте! • Как сделать из 26 хостов 260? • Поставить на каждый хост 10 коллекторов • Репортить метрики 10 раз с разными префиксами
  41. 41. Prometheus - 260 хостов
  42. 42. Prometheus - blktrace 120 секунд
  43. 43. Prometheus - blktrace 30 секунд
  44. 44. Результаты забега • Graphite/Whisper - почетное последнее место • Prometheus - новый победитель!
  45. 45. Результаты забега • Graphite/Whisper - почетное последнее место • Prometheus - новый победитель! • Zabbix - дисквалифицирован за употребление мельдония • InfluxDB - дисквалифицирован, авторы употребляли псилоцибин
  46. 46. НО ПОЧЕМУ? • Точно так же, как и Carbon/Whisper, Prometheus хранит метрики в файликах
  47. 47. НО ПОЧЕМУ? • Точно так же, как и Carbon/Whisper, Prometheus хранит метрики в файликах • Файлики записываются на диск порциями по 1Kb (1041 байт, если точнее) • Новая порция записывается, только когда она полностью готова
  48. 48. Некоторые замечания • Просто, легко и быстро писать ИЛИ просто, легко и быстро читать
  49. 49. Некоторые замечания • Просто, легко и быстро писать ИЛИ просто, легко и быстро читать • Пока метрики помещаются в память - все хорошо
  50. 50. Некоторые замечания • Просто, легко и быстро писать ИЛИ просто, легко и быстро читать • Пока метрики помещаются в память - все хорошо • Мы имеем дело со средством оперативного мониторинга, период удержания более двух суток вряд ли имеет смысл, период оперативного слежения - около шести часов
  51. 51. Выводы • Graphite в 2016-м - это довольно смешно • Не так, правда, смешно, как Zabbix • Prometheus - лапочка • Разбудите, когда команда InfluxDB что-нибудь зарелизит уже
  52. 52. Спасибо за внимание! • Ваши вопросы? • С вами был Саша Чистяков, alex@gitinsky.com • http://meetup.com/DevOps-40

×