Тошнит от колец великая битва систем мониторинга,...
Post on 16-Apr-2017
513 Views
Preview:
TRANSCRIPT
Тошнит от колецВеликая битва систем мониторинга (часть первая)
Александр Чистяков
Давайте познакомимся• Меня зовут Саша
• Я адепт Церкви Метрик
• Я ненавижу Zabbix
Теперь ваша очередь• В зале есть еще Саша?
• В зале есть еще адепт Церкви Метрик?
• В зале есть те, кто любит Zabbix?
Что здесь будет происходить?• Мы возьмем несколько средств сбора и хранения метрик
• Мене, мене, текел, упарсин
• Zabbix должен проиграть
Я тебя слепила из того, что было• Машина для системы мониторинга:
• 39G RAM, 6x300 SAS HDD, Adaptec AAC-RAID
• Write-cache mode : Enabled (write-back)
• Мониторится 26 хостов разных конфигураций
• Ubuntu 16.04 на хосте системы мониторинга
• Ubuntu 14.04 на остальных хостах
• В качестве коллектора выступает collectd
Участники забега• Graphite/Whisper (победитель прошлой Олимпиады)
Участники забега• Graphite/Whisper (победитель прошлой Олимпиады)
• Prometheus
Участники забега• Graphite/Whisper (победитель прошлой Олимпиады)
• Prometheus
• InfluxDB
Участники забега• Graphite/Whisper (победитель прошлой Олимпиады)
• Prometheus
• InfluxDB
• Zabbix
Команда поддержки• Grafana
• Красивые графики, нарисованные прямо при помощи испытуемого хранилища
Команда поддержки• Grafana
• Красивые графики, нарисованные прямо при помощи испытуемого хранилища
• blktrace и seekwatcher
• Красивые графики, показывающие куда физически на диске попадают на чтение и запись
Погнали!
Graphite/Whisper - метрики хоста• Мы возьмем несколько средств сбора и хранения
• Мене, мене, текел, упарсин
• Zabbix должен проиграть
Graphite/Whisper - blktrace 120 секунд• Мы возьмем несколько средств сбора и хра
• Мене, мене, текел, упарсин
• Zabbix должен проиграть
Graphite/Whisper - blktrace 30 секунд• Мы возьмем несколько средств сбора и хра
• Мене, мене, текел, упарсин
• Zabbix должен проиграть
Как устроен Carbon/Whisper• Много файликов на диске (одна метрика - один файлик)
Как устроен Carbon/Whisper• Много файликов на диске (одна метрика - один файлик)
• Файлики имеют предопределенный размер
Как устроен Carbon/Whisper• Много файликов на диске (одна метрика - один файлик)
• Файлики имеют предопределенный размер
• Размер зависит от выбора retention policy
Как устроен Carbon/Whisper• Много файликов на диске (одна метрика - один файлик)
• Файлики имеют предопределенный размер
• Размер зависит от выбора retention policy
• Мы начали с policy 10s:2d,60s:14d,300s:60d,1200s:395d
Как устроен Carbon/Whisper• Много файликов на диске (одна метрика - один файлик)
• Файлики имеют предопределенный размер
• Размер зависит от выбора retention policy
• Мы начали с policy 10s:2d,60s:14d,300s:60d,1200s:395d
• В момент записи метрики происходит также агрегация значений
Ситуация в динамике• Выключим коллектор на 10 машинах (из 26)
Ситуация в динамике• Выключим коллектор на 10 машинах (из 26)
• Ситуация на графике мало изменилась (retention policy?)
Ситуация в динамике• Выключим коллектор на 10 машинах (из 26)
• Ситуация на графике мало изменилась (retention policy?)
• Остановим carbon, удалим 10 каталогов, запустим
Ситуация в динамике• Выключим коллектор на 10 машинах (из 26)
• Ситуация на графике мало изменилась (retention policy?)
• Остановим carbon, удалим 10 каталогов, запустим
• Ситуация на графике все та же
Ситуация в динамике• Выключим коллектор на 10 машинах (из 26)
• Ситуация на графике мало изменилась (retention policy?)
• Остановим carbon, удалим 10 каталогов, запустим
• Ситуация на графике все та же
• Потому что характеристики дисковой подсистемы нелинейны
Graphite/Carbon - без 10 хостов• Мы возьмем несколько средств сбора и хранения
• Мене, мене, текел, упарсин
• Zabbix должен проигратьcollectd_rootconf
Что можно улучшить?• Текущее retention policy - 11Gb места на диске
• Давайте не будем агрегировать?
Что можно улучшить?• Текущее retention policy - 11Gb места на диске
• Давайте не будем агрегировать?
• 10s:60d
• 67Gb места на диске
Graphite/Whisper - blktrace 120 секунд• Мы возьмем несколько средств сбора и хра
• Мене, мене, текел, упарсин
• Zabbix должен проиграть
Graphite/Whisper - blktrace 30 секунд• Мы возьмем несколько средств сбора и хра
• Мене, мене, текел, упарсин
• Zabbix должен проиграть
Graphite/Whisper - в динамике• Мы возьмем несколько средств сбора и хранения
• Мене, мене, текел, упарсин
• Zabbix должен проигратьcollectd_rootconf
Переходим к Prometheus• Что мы знаем о лисе:
• Pull-модель, метрики забираются по HTTP непосредственно сервером
Переходим к Prometheus• Что мы знаем о лисе:
• Pull-модель, метрики забираются по HTTP непосредственно сервером
• Время удержания по умолчанию - 15 дней
Переходим к Prometheus• Что мы знаем о лисе:
• Pull-модель, метрики забираются по HTTP непосредственно сервером
• Время удержания по умолчанию - 15 дней
• Частота забора метрик по умолчанию - раз в 10 секунд
Prometheus в динамике
Prometheus - blktrace 120 секунд• Мы возьмем несколько средств сбора и хра
• Мене, мене, текел, упарсин
• Zabbix должен проиграть
Prometheus - blktrace 30 секунд• Мы возьмем несколько средств сбора и хра
• Мене, мене, текел, упарсин
• Zabbix должен проиграть
Prometheus - blktrace 1200 секунд
Так неинтересно :(• Но постойте!
• Как сделать из 26 хостов 260?
Так неинтересно :(• Но постойте!
• Как сделать из 26 хостов 260?
• Поставить на каждый хост 10 коллекторов
• Репортить метрики 10 раз с разными префиксами
Prometheus - 260 хостов
Prometheus - blktrace 120 секунд
Prometheus - blktrace 30 секунд
Результаты забега• Graphite/Whisper - почетное последнее место
• Prometheus - новый победитель!
Результаты забега• Graphite/Whisper - почетное последнее место
• Prometheus - новый победитель!
• Zabbix - дисквалифицирован за употребление мельдония
• InfluxDB - дисквалифицирован, авторы употребляли псилоцибин
НО ПОЧЕМУ?• Точно так же, как и Carbon/Whisper, Prometheus хранит метрики в файликах
НО ПОЧЕМУ?• Точно так же, как и Carbon/Whisper, Prometheus хранит метрики в файликах
• Файлики записываются на диск порциями по 1Kb (1041 байт, если точнее)
• Новая порция записывается, только когда она полностью готова
Некоторые замечания• Просто, легко и быстро писать ИЛИ просто, легко и быстро читать
Некоторые замечания• Просто, легко и быстро писать ИЛИ просто, легко и быстро читать
• Пока метрики помещаются в память - все хорошо
Некоторые замечания• Просто, легко и быстро писать ИЛИ просто, легко и быстро читать
• Пока метрики помещаются в память - все хорошо
• Мы имеем дело со средством оперативного мониторинга, период удержания более двух суток вряд ли имеет смысл, период оперативного слежения - около шести часов
Выводы• Graphite в 2016-м - это довольно смешно
• Не так, правда, смешно, как Zabbix
• Prometheus - лапочка
• Разбудите, когда команда InfluxDB что-нибудь зарелизит уже
Спасибо за внимание!• Ваши вопросы?
• С вами был Саша Чистяков, alex@gitinsky.com
• http://meetup.com/DevOps-40
top related