Top Banner
Тошнит от колец Великая битва систем мониторинга (часть первая) Александр Чистяков
52

Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Apr 16, 2017

Download

Engineering

Ontico
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Тошнит от колецВеликая битва систем мониторинга (часть первая)

Александр Чистяков

Page 2: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Давайте познакомимся• Меня зовут Саша

• Я адепт Церкви Метрик

• Я ненавижу Zabbix

Page 3: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Теперь ваша очередь• В зале есть еще Саша?

• В зале есть еще адепт Церкви Метрик?

• В зале есть те, кто любит Zabbix?

Page 4: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Что здесь будет происходить?• Мы возьмем несколько средств сбора и хранения метрик

• Мене, мене, текел, упарсин

• Zabbix должен проиграть

Page 5: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Я тебя слепила из того, что было• Машина для системы мониторинга:

• 39G RAM, 6x300 SAS HDD, Adaptec AAC-RAID

• Write-cache mode : Enabled (write-back)

• Мониторится 26 хостов разных конфигураций

• Ubuntu 16.04 на хосте системы мониторинга

• Ubuntu 14.04 на остальных хостах

• В качестве коллектора выступает collectd

Page 6: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Участники забега• Graphite/Whisper (победитель прошлой Олимпиады)

Page 7: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Участники забега• Graphite/Whisper (победитель прошлой Олимпиады)

• Prometheus

Page 8: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Участники забега• Graphite/Whisper (победитель прошлой Олимпиады)

• Prometheus

• InfluxDB

Page 9: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Участники забега• Graphite/Whisper (победитель прошлой Олимпиады)

• Prometheus

• InfluxDB

• Zabbix

Page 10: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Команда поддержки• Grafana

• Красивые графики, нарисованные прямо при помощи испытуемого хранилища

Page 11: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Команда поддержки• Grafana

• Красивые графики, нарисованные прямо при помощи испытуемого хранилища

• blktrace и seekwatcher

• Красивые графики, показывающие куда физически на диске попадают на чтение и запись

Page 12: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Погнали!

Page 13: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Graphite/Whisper - метрики хоста• Мы возьмем несколько средств сбора и хранения

• Мене, мене, текел, упарсин

• Zabbix должен проиграть

Page 14: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Graphite/Whisper - blktrace 120 секунд• Мы возьмем несколько средств сбора и хра

• Мене, мене, текел, упарсин

• Zabbix должен проиграть

Page 15: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Graphite/Whisper - blktrace 30 секунд• Мы возьмем несколько средств сбора и хра

• Мене, мене, текел, упарсин

• Zabbix должен проиграть

Page 16: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Как устроен Carbon/Whisper• Много файликов на диске (одна метрика - один файлик)

Page 17: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Как устроен Carbon/Whisper• Много файликов на диске (одна метрика - один файлик)

• Файлики имеют предопределенный размер

Page 18: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Как устроен Carbon/Whisper• Много файликов на диске (одна метрика - один файлик)

• Файлики имеют предопределенный размер

• Размер зависит от выбора retention policy

Page 19: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Как устроен Carbon/Whisper• Много файликов на диске (одна метрика - один файлик)

• Файлики имеют предопределенный размер

• Размер зависит от выбора retention policy

• Мы начали с policy 10s:2d,60s:14d,300s:60d,1200s:395d

Page 20: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Как устроен Carbon/Whisper• Много файликов на диске (одна метрика - один файлик)

• Файлики имеют предопределенный размер

• Размер зависит от выбора retention policy

• Мы начали с policy 10s:2d,60s:14d,300s:60d,1200s:395d

• В момент записи метрики происходит также агрегация значений

Page 21: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Ситуация в динамике• Выключим коллектор на 10 машинах (из 26)

Page 22: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Ситуация в динамике• Выключим коллектор на 10 машинах (из 26)

• Ситуация на графике мало изменилась (retention policy?)

Page 23: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Ситуация в динамике• Выключим коллектор на 10 машинах (из 26)

• Ситуация на графике мало изменилась (retention policy?)

• Остановим carbon, удалим 10 каталогов, запустим

Page 24: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Ситуация в динамике• Выключим коллектор на 10 машинах (из 26)

• Ситуация на графике мало изменилась (retention policy?)

• Остановим carbon, удалим 10 каталогов, запустим

• Ситуация на графике все та же

Page 25: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Ситуация в динамике• Выключим коллектор на 10 машинах (из 26)

• Ситуация на графике мало изменилась (retention policy?)

• Остановим carbon, удалим 10 каталогов, запустим

• Ситуация на графике все та же

• Потому что характеристики дисковой подсистемы нелинейны

Page 26: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Graphite/Carbon - без 10 хостов• Мы возьмем несколько средств сбора и хранения

• Мене, мене, текел, упарсин

• Zabbix должен проигратьcollectd_rootconf

Page 27: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Что можно улучшить?• Текущее retention policy - 11Gb места на диске

• Давайте не будем агрегировать?

Page 28: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Что можно улучшить?• Текущее retention policy - 11Gb места на диске

• Давайте не будем агрегировать?

• 10s:60d

• 67Gb места на диске

Page 29: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Graphite/Whisper - blktrace 120 секунд• Мы возьмем несколько средств сбора и хра

• Мене, мене, текел, упарсин

• Zabbix должен проиграть

Page 30: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Graphite/Whisper - blktrace 30 секунд• Мы возьмем несколько средств сбора и хра

• Мене, мене, текел, упарсин

• Zabbix должен проиграть

Page 31: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Graphite/Whisper - в динамике• Мы возьмем несколько средств сбора и хранения

• Мене, мене, текел, упарсин

• Zabbix должен проигратьcollectd_rootconf

Page 32: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Переходим к Prometheus• Что мы знаем о лисе:

• Pull-модель, метрики забираются по HTTP непосредственно сервером

Page 33: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Переходим к Prometheus• Что мы знаем о лисе:

• Pull-модель, метрики забираются по HTTP непосредственно сервером

• Время удержания по умолчанию - 15 дней

Page 34: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Переходим к Prometheus• Что мы знаем о лисе:

• Pull-модель, метрики забираются по HTTP непосредственно сервером

• Время удержания по умолчанию - 15 дней

• Частота забора метрик по умолчанию - раз в 10 секунд

Page 35: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Prometheus в динамике

Page 36: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Prometheus - blktrace 120 секунд• Мы возьмем несколько средств сбора и хра

• Мене, мене, текел, упарсин

• Zabbix должен проиграть

Page 37: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Prometheus - blktrace 30 секунд• Мы возьмем несколько средств сбора и хра

• Мене, мене, текел, упарсин

• Zabbix должен проиграть

Page 38: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Prometheus - blktrace 1200 секунд

Page 39: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Так неинтересно :(• Но постойте!

• Как сделать из 26 хостов 260?

Page 40: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Так неинтересно :(• Но постойте!

• Как сделать из 26 хостов 260?

• Поставить на каждый хост 10 коллекторов

• Репортить метрики 10 раз с разными префиксами

Page 41: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Prometheus - 260 хостов

Page 42: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Prometheus - blktrace 120 секунд

Page 43: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Prometheus - blktrace 30 секунд

Page 44: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Результаты забега• Graphite/Whisper - почетное последнее место

• Prometheus - новый победитель!

Page 45: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Результаты забега• Graphite/Whisper - почетное последнее место

• Prometheus - новый победитель!

• Zabbix - дисквалифицирован за употребление мельдония

• InfluxDB - дисквалифицирован, авторы употребляли псилоцибин

Page 46: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

НО ПОЧЕМУ?• Точно так же, как и Carbon/Whisper, Prometheus хранит метрики в файликах

Page 47: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

НО ПОЧЕМУ?• Точно так же, как и Carbon/Whisper, Prometheus хранит метрики в файликах

• Файлики записываются на диск порциями по 1Kb (1041 байт, если точнее)

• Новая порция записывается, только когда она полностью готова

Page 48: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Некоторые замечания• Просто, легко и быстро писать ИЛИ просто, легко и быстро читать

Page 49: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Некоторые замечания• Просто, легко и быстро писать ИЛИ просто, легко и быстро читать

• Пока метрики помещаются в память - все хорошо

Page 50: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Некоторые замечания• Просто, легко и быстро писать ИЛИ просто, легко и быстро читать

• Пока метрики помещаются в память - все хорошо

• Мы имеем дело со средством оперативного мониторинга, период удержания более двух суток вряд ли имеет смысл, период оперативного слежения - около шести часов

Page 51: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Выводы• Graphite в 2016-м - это довольно смешно

• Не так, правда, смешно, как Zabbix

• Prometheus - лапочка

• Разбудите, когда команда InfluxDB что-нибудь зарелизит уже

Page 52: Тошнит от колец великая битва систем мониторинга, часть I, Александр Чистяков (Git in Sky)

Спасибо за внимание!• Ваши вопросы?

• С вами был Саша Чистяков, [email protected]

• http://meetup.com/DevOps-40