SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
Тошнит от колец
Великая битва систем мониторинга
(часть первая)
Александр Чистяков
Давайте познакомимся
• Меня зовут Саша
• Я адепт Церкви Метрик
• Я ненавижу 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

Mais conteúdo relacionado

Mais procurados

Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, Badoo
Ontico
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
Badoo Development
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
Ontico
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Ontico
 
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
Ontico
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?
Anton Turetsky
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Ontico
 

Mais procurados (20)

Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, Badoo
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустя
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
 
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
 
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
 
Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?Docker & Puppet: как их скрестить и надо ли вам это?
Docker & Puppet: как их скрестить и надо ли вам это?
 
Антон Турецкий
Антон ТурецкийАнтон Турецкий
Антон Турецкий
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
 
Тестируем производительность распределённых систем, Александр Киров (Parallels)
Тестируем производительность распределённых систем, Александр Киров (Parallels)Тестируем производительность распределённых систем, Александр Киров (Parallels)
Тестируем производительность распределённых систем, Александр Киров (Parallels)
 
HDD, SSD, RAM, RAID, и кого на ком кэшировать / Михаил Конюхов (Perfect Solut...
HDD, SSD, RAM, RAID, и кого на ком кэшировать / Михаил Конюхов (Perfect Solut...HDD, SSD, RAM, RAID, и кого на ком кэшировать / Михаил Конюхов (Perfect Solut...
HDD, SSD, RAM, RAID, и кого на ком кэшировать / Михаил Конюхов (Perfect Solut...
 
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
 
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
 
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
 
Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...Современная операционная система: что надо знать разработчику / Александр Кри...
Современная операционная система: что надо знать разработчику / Александр Кри...
 

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

распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
rit2011
 
Олег Анастасьев "Ближе к Cassandra". Выступление на Cassandra Conf 2013
Олег Анастасьев "Ближе к Cassandra". Выступление на Cassandra Conf 2013Олег Анастасьев "Ближе к Cassandra". Выступление на Cassandra Conf 2013
Олег Анастасьев "Ближе к Cassandra". Выступление на Cassandra Conf 2013
it-people
 
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicРеактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/music
Vadim Tsesko
 
Isilapp — Extreme Cloud Storage on FreeBSD
Isilapp — Extreme Cloud Storage on FreeBSDIsilapp — Extreme Cloud Storage on FreeBSD
Isilapp — Extreme Cloud Storage on FreeBSD
Andrew Pantyukhin
 
ekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилищеekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилище
it-people
 
VMUG Moscow 2014 Проблемы с дисками?
VMUG Moscow 2014 Проблемы с дисками?VMUG Moscow 2014 Проблемы с дисками?
VMUG Moscow 2014 Проблемы с дисками?
Anton Zhbankov
 
Андрей Лескин (QratorLabs/HLL)
Андрей Лескин (QratorLabs/HLL)Андрей Лескин (QratorLabs/HLL)
Андрей Лескин (QratorLabs/HLL)
Ontico
 
Брокер сообщений Kafka в условиях повышенной нагрузки
Брокер сообщений Kafka в условиях повышенной нагрузкиБрокер сообщений Kafka в условиях повышенной нагрузки
Брокер сообщений Kafka в условиях повышенной нагрузки
Artyom Vybornov
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Ontico
 
Марина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизуМарина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизу
Yandex
 
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Ontico
 
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...
it-people
 
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
Ontico
 
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Ontico
 

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

Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
 
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
 
High Load
High LoadHigh Load
High Load
 
MyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDBMyRocks: табличный движок для MySQL на основе RocksDB
MyRocks: табличный движок для MySQL на основе RocksDB
 
Олег Анастасьев "Ближе к Cassandra". Выступление на Cassandra Conf 2013
Олег Анастасьев "Ближе к Cassandra". Выступление на Cassandra Conf 2013Олег Анастасьев "Ближе к Cassandra". Выступление на Cassandra Conf 2013
Олег Анастасьев "Ближе к Cassandra". Выступление на Cassandra Conf 2013
 
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicРеактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/music
 
Isilapp — Extreme Cloud Storage on FreeBSD
Isilapp — Extreme Cloud Storage on FreeBSDIsilapp — Extreme Cloud Storage on FreeBSD
Isilapp — Extreme Cloud Storage on FreeBSD
 
ekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилищеekbpy'2012 - Данила Штань - Распределенное хранилище
ekbpy'2012 - Данила Штань - Распределенное хранилище
 
VMUG Moscow 2014 Проблемы с дисками?
VMUG Moscow 2014 Проблемы с дисками?VMUG Moscow 2014 Проблемы с дисками?
VMUG Moscow 2014 Проблемы с дисками?
 
Андрей Лескин (QratorLabs/HLL)
Андрей Лескин (QratorLabs/HLL)Андрей Лескин (QratorLabs/HLL)
Андрей Лескин (QratorLabs/HLL)
 
UDP Amplifiers на примере DNS и способы противодействия
UDP Amplifiers на примере DNS и способы противодействияUDP Amplifiers на примере DNS и способы противодействия
UDP Amplifiers на примере DNS и способы противодействия
 
Брокер сообщений Kafka в условиях повышенной нагрузки
Брокер сообщений Kafka в условиях повышенной нагрузкиБрокер сообщений Kafka в условиях повышенной нагрузки
Брокер сообщений Kafka в условиях повышенной нагрузки
 
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
 
Марина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизуМарина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизу
 
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
Как мы храним и анализируем большой социальный граф, Максим Бартенев (Норси-т...
 
Frontera обход испанского интернета
Frontera обход испанского интернетаFrontera обход испанского интернета
Frontera обход испанского интернета
 
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...
 
Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.Максим Дунин, Nginx, Inc.
Максим Дунин, Nginx, Inc.
 
Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
 Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва  Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
Реактивный кэш в Android, Андрей Мельников, Rambler&Co, Москва
 
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
 

Mais de Ontico

Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Ontico
 

Mais de Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

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

  • 1. Тошнит от колец Великая битва систем мониторинга (часть первая) Александр Чистяков
  • 2. Давайте познакомимся • Меня зовут Саша • Я адепт Церкви Метрик • Я ненавижу Zabbix
  • 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
  • 6. Участники забега • Graphite/Whisper (победитель прошлой Олимпиады)
  • 7. Участники забега • Graphite/Whisper (победитель прошлой Олимпиады) • Prometheus
  • 8. Участники забега • Graphite/Whisper (победитель прошлой Олимпиады) • Prometheus • InfluxDB
  • 9. Участники забега • Graphite/Whisper (победитель прошлой Олимпиады) • Prometheus • InfluxDB • Zabbix
  • 10. Команда поддержки • Grafana • Красивые графики, нарисованные прямо при помощи испытуемого хранилища
  • 11. Команда поддержки • Grafana • Красивые графики, нарисованные прямо при помощи испытуемого хранилища • blktrace и seekwatcher • Красивые графики, показывающие куда физически на диске попадают на чтение и запись
  • 13. Graphite/Whisper - метрики хоста • Мы возьмем несколько средств сбора и хранения • Мене, мене, текел, упарсин • Zabbix должен проиграть
  • 14. Graphite/Whisper - blktrace 120 секунд • Мы возьмем несколько средств сбора и хра • Мене, мене, текел, упарсин • Zabbix должен проиграть
  • 15. Graphite/Whisper - blktrace 30 секунд • Мы возьмем несколько средств сбора и хра • Мене, мене, текел, упарсин • Zabbix должен проиграть
  • 16. Как устроен Carbon/Whisper • Много файликов на диске (одна метрика - один файлик)
  • 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 • В момент записи метрики происходит также агрегация значений
  • 21. Ситуация в динамике • Выключим коллектор на 10 машинах (из 26)
  • 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 секунд
  • 36. Prometheus - blktrace 120 секунд • Мы возьмем несколько средств сбора и хра • Мене, мене, текел, упарсин • Zabbix должен проиграть
  • 37. Prometheus - blktrace 30 секунд • Мы возьмем несколько средств сбора и хра • Мене, мене, текел, упарсин • Zabbix должен проиграть
  • 38. Prometheus - blktrace 1200 секунд
  • 39. Так неинтересно :( • Но постойте! • Как сделать из 26 хостов 260?
  • 40. Так неинтересно :( • Но постойте! • Как сделать из 26 хостов 260? • Поставить на каждый хост 10 коллекторов • Репортить метрики 10 раз с разными префиксами
  • 41. Prometheus - 260 хостов
  • 42. Prometheus - blktrace 120 секунд
  • 43. Prometheus - blktrace 30 секунд
  • 44. Результаты забега • Graphite/Whisper - почетное последнее место • Prometheus - новый победитель!
  • 45. Результаты забега • Graphite/Whisper - почетное последнее место • Prometheus - новый победитель! • Zabbix - дисквалифицирован за употребление мельдония • InfluxDB - дисквалифицирован, авторы употребляли псилоцибин
  • 46. НО ПОЧЕМУ? • Точно так же, как и Carbon/Whisper, Prometheus хранит метрики в файликах
  • 47. НО ПОЧЕМУ? • Точно так же, как и Carbon/Whisper, Prometheus хранит метрики в файликах • Файлики записываются на диск порциями по 1Kb (1041 байт, если точнее) • Новая порция записывается, только когда она полностью готова
  • 48. Некоторые замечания • Просто, легко и быстро писать ИЛИ просто, легко и быстро читать
  • 49. Некоторые замечания • Просто, легко и быстро писать ИЛИ просто, легко и быстро читать • Пока метрики помещаются в память - все хорошо
  • 50. Некоторые замечания • Просто, легко и быстро писать ИЛИ просто, легко и быстро читать • Пока метрики помещаются в память - все хорошо • Мы имеем дело со средством оперативного мониторинга, период удержания более двух суток вряд ли имеет смысл, период оперативного слежения - около шести часов
  • 51. Выводы • Graphite в 2016-м - это довольно смешно • Не так, правда, смешно, как Zabbix • Prometheus - лапочка • Разбудите, когда команда InfluxDB что-нибудь зарелизит уже
  • 52. Спасибо за внимание! • Ваши вопросы? • С вами был Саша Чистяков, alex@gitinsky.com • http://meetup.com/DevOps-40