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