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

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

  • Upload
    ontico

  • View
    502

  • Download
    5

Embed Size (px)

Citation preview

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