SlideShare uma empresa Scribd logo
1 de 34
Евгений Потапов / ITSumma
Изобретая колесо: как
мы писали свой
мониторинг
Работаем с 2008 года
Штат 60 человек
250 клиентов
ITSumma
круглоcуточное удаленное
администрирование серверов
и техническая поддержка
сайтов;
оборота российского
e-commerce проходит через
сайты на нашей поддержке.
миллионов уникальных посетителей
в сутки на поддерживаемых сайтах:
начало
2014 2015
28%
 rrdtool
начало
 rrdtool
 cacti
начало
 графики не зумятся
 данных много
 алерты доставляются ненадежно
начало
 графики с zoom-ом
 выборка до 200мс
 надежное хранение данных и
отказоустойчивость
 система дежурств и эскалации
задача:
 первая версия: переписанный atop +
protobuf
 агент на c + bson
 передача данных через udp
 приемник на ruby, eventmachine –
проблемы с udp polling, переписали на
node
 фрагментированные udp, добавили tcp
агенты и приемник:
Надо как-то
хранить
данные
mysql:
mysql:
19193522
Как их
рисовать?
 у opensource аналогов нет хороших
графиков
 highcharts - тормозит
 надо написать свое!
графики:
 графики – на canvas
 если глючит – ничего страшного
 данные только по порядку
 таймстемп – отклонение от предыдущего
графики:
графики:
графики:
 в компании ввели 8-и часовые дежурства
 алерты – на экране
 график дежурств
дежурства:
Как это все
быстро
отдавать?
 dedicated в softlayer
 очень хорошие
 $200 в месяц за каждый 200gb SSD
серверы:
 2 б/у dell r610 128 gb RAM на ebay за
$2000
 +4x500gb SSD, RAID 10
 colocation в constant.com и где-то в
калифорнии
 =$200 в месяц за colocation
серверы:
 горячие данные в statistics1
 buffer_pool в 90GB
 выдача <200ms
выдача:
 web: vrrp/global ip/etc
 агенты: запросы к route53
отказоустойчивость:
 colocation -> арендованные машины
 хочется APM
что дальше?
Евгений Потапов
facebook.com/eapotapov
eapotapov@itsumma.ru
itsumma.ru

Mais conteúdo relacionado

Mais procurados

мониторинг производительности Web приложений на python
мониторинг производительности Web приложений на pythonмониторинг производительности Web приложений на python
мониторинг производительности Web приложений на pythonSlach
 
Мониторинг, когда не тестируешь
Мониторинг, когда не тестируешьМониторинг, когда не тестируешь
Мониторинг, когда не тестируешьUptime Community
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Ontico
 
Мониторинг всех слоев web проекта (hl2015)
Мониторинг всех слоев web проекта (hl2015)Мониторинг всех слоев web проекта (hl2015)
Мониторинг всех слоев web проекта (hl2015)Nikolay Sivko
 
мониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBAмониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBASlach
 
SOA: послать запрос на сервер? Что может быть проще?!
SOA: послать запрос на сервер? Что может быть проще?!SOA: послать запрос на сервер? Что может быть проще?!
SOA: послать запрос на сервер? Что может быть проще?!Ivan Kruglov
 
Потоковая обработка событий клиентов и их отображение на интерактивной карте
Потоковая обработка событий клиентов и их отображение на интерактивной картеПотоковая обработка событий клиентов и их отображение на интерактивной карте
Потоковая обработка событий клиентов и их отображение на интерактивной картеVoximplant
 
Экономное масштабирование в облаке, Иван Кокорин, Vostok Projects
 Экономное масштабирование в облаке, Иван Кокорин, Vostok Projects  Экономное масштабирование в облаке, Иван Кокорин, Vostok Projects
Экономное масштабирование в облаке, Иван Кокорин, Vostok Projects it-people
 
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...Ontico
 
Moving from Flash to HTML5 – converting large projects
Moving from Flash to HTML5 – converting large projectsMoving from Flash to HTML5 – converting large projects
Moving from Flash to HTML5 – converting large projectsDevGAMM Conference
 
Параллельные и распределенные вычисления
Параллельные и распределенные вычисленияПараллельные и распределенные вычисления
Параллельные и распределенные вычисленияMATLAB
 
"Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металли...
"Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металли..."Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металли...
"Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металли...Ontico
 
Экономное масштабирование в облаке, Иван Кокорин, Vostok Projects
Экономное масштабирование в облаке, Иван Кокорин, Vostok ProjectsЭкономное масштабирование в облаке, Иван Кокорин, Vostok Projects
Экономное масштабирование в облаке, Иван Кокорин, Vostok Projectsit-people
 
Java GC tuning and monitoring (by Alexander Ashitkin)
Java GC tuning and monitoring (by Alexander Ashitkin)Java GC tuning and monitoring (by Alexander Ashitkin)
Java GC tuning and monitoring (by Alexander Ashitkin)aragozin
 
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...Ontico
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Ontico
 
Pulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовPulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовMax Lapshin
 
Onliner development workflow
Onliner development workflowOnliner development workflow
Onliner development workflowAlexander Katynia
 

Mais procurados (19)

мониторинг производительности Web приложений на python
мониторинг производительности Web приложений на pythonмониторинг производительности Web приложений на python
мониторинг производительности Web приложений на python
 
Мониторинг, когда не тестируешь
Мониторинг, когда не тестируешьМониторинг, когда не тестируешь
Мониторинг, когда не тестируешь
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
 
Мониторинг всех слоев web проекта (hl2015)
Мониторинг всех слоев web проекта (hl2015)Мониторинг всех слоев web проекта (hl2015)
Мониторинг всех слоев web проекта (hl2015)
 
мониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBAмониторинг производительности приложения на PINBA
мониторинг производительности приложения на PINBA
 
SOA: послать запрос на сервер? Что может быть проще?!
SOA: послать запрос на сервер? Что может быть проще?!SOA: послать запрос на сервер? Что может быть проще?!
SOA: послать запрос на сервер? Что может быть проще?!
 
Потоковая обработка событий клиентов и их отображение на интерактивной карте
Потоковая обработка событий клиентов и их отображение на интерактивной картеПотоковая обработка событий клиентов и их отображение на интерактивной карте
Потоковая обработка событий клиентов и их отображение на интерактивной карте
 
Экономное масштабирование в облаке, Иван Кокорин, Vostok Projects
 Экономное масштабирование в облаке, Иван Кокорин, Vostok Projects  Экономное масштабирование в облаке, Иван Кокорин, Vostok Projects
Экономное масштабирование в облаке, Иван Кокорин, Vostok Projects
 
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmati...
 
Moving from Flash to HTML5 – converting large projects
Moving from Flash to HTML5 – converting large projectsMoving from Flash to HTML5 – converting large projects
Moving from Flash to HTML5 – converting large projects
 
Параллельные и распределенные вычисления
Параллельные и распределенные вычисленияПараллельные и распределенные вычисления
Параллельные и распределенные вычисления
 
"Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металли...
"Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металли..."Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металли...
"Распределенные" вычисления на мобильных платформах. Зачем еще нужен "металли...
 
Экономное масштабирование в облаке, Иван Кокорин, Vostok Projects
Экономное масштабирование в облаке, Иван Кокорин, Vostok ProjectsЭкономное масштабирование в облаке, Иван Кокорин, Vostok Projects
Экономное масштабирование в облаке, Иван Кокорин, Vostok Projects
 
Java GC tuning and monitoring (by Alexander Ashitkin)
Java GC tuning and monitoring (by Alexander Ashitkin)Java GC tuning and monitoring (by Alexander Ashitkin)
Java GC tuning and monitoring (by Alexander Ashitkin)
 
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
 
Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...Машинное обучение в электронной коммерции — практика использования и подводны...
Машинное обучение в электронной коммерции — практика использования и подводны...
 
Зачем ускорять сайты
Зачем ускорять сайтыЗачем ускорять сайты
Зачем ускорять сайты
 
Pulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядовPulsedb — система хранения временных рядов
Pulsedb — система хранения временных рядов
 
Onliner development workflow
Onliner development workflowOnliner development workflow
Onliner development workflow
 

Semelhante a Изобретая колесо: как мы писали свой мониторинг

Презентация RPA
Презентация RPAПрезентация RPA
Презентация RPADanixoid Saum
 
Presentation highload-2011-openstat-myakshin - копия
Presentation highload-2011-openstat-myakshin - копияPresentation highload-2011-openstat-myakshin - копия
Presentation highload-2011-openstat-myakshin - копияМатвей Алексеев
 
Управляемый Code injection (Михаил Якшин)
Управляемый Code injection  (Михаил Якшин)Управляемый Code injection  (Михаил Якшин)
Управляемый Code injection (Михаил Якшин)Ontico
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonAndrey Smirnov
 
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Ontico
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonAndrey Smirnov
 
Автоматизация это модно
Автоматизация это модноАвтоматизация это модно
Автоматизация это модноAndrey Rebrov
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрsportgid
 
Smirnov Twisted Python
Smirnov Twisted PythonSmirnov Twisted Python
Smirnov Twisted PythonHighLoad2009
 
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»Tanya Denisyuk
 
Инфоком ЛТД Беспилотное наземное транспортное средство
Инфоком ЛТД Беспилотное наземное транспортное средствоИнфоком ЛТД Беспилотное наземное транспортное средство
Инфоком ЛТД Беспилотное наземное транспортное средствоmax_ko
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Anton Baranov
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Ontico
 
Платформа SmartActors
Платформа SmartActorsПлатформа SmartActors
Платформа SmartActorsetyumentcev
 
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...Ontico
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEАртём Кудзев
 
Марат Мавлютов - Современный веб как сложная система
Марат Мавлютов - Современный веб как сложная системаМарат Мавлютов - Современный веб как сложная система
Марат Мавлютов - Современный веб как сложная системаYandex
 
«Рамблер Касса» как пример высокопроизводительного проекта на .Net (Дмитрий П...
«Рамблер Касса» как пример высокопроизводительного проекта на .Net (Дмитрий П...«Рамблер Касса» как пример высокопроизводительного проекта на .Net (Дмитрий П...
«Рамблер Касса» как пример высокопроизводительного проекта на .Net (Дмитрий П...Ontico
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийsnowytoxa
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Positive Hack Days
 

Semelhante a Изобретая колесо: как мы писали свой мониторинг (20)

Презентация RPA
Презентация RPAПрезентация RPA
Презентация RPA
 
Presentation highload-2011-openstat-myakshin - копия
Presentation highload-2011-openstat-myakshin - копияPresentation highload-2011-openstat-myakshin - копия
Presentation highload-2011-openstat-myakshin - копия
 
Управляемый Code injection (Михаил Якшин)
Управляемый Code injection  (Михаил Якшин)Управляемый Code injection  (Михаил Якшин)
Управляемый Code injection (Михаил Якшин)
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в Python
 
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
 
Twisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в PythonTwisted Framework - сетевые приложения в Python
Twisted Framework - сетевые приложения в Python
 
Автоматизация это модно
Автоматизация это модноАвтоматизация это модно
Автоматизация это модно
 
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центрМониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр
 
Smirnov Twisted Python
Smirnov Twisted PythonSmirnov Twisted Python
Smirnov Twisted Python
 
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
 
Инфоком ЛТД Беспилотное наземное транспортное средство
Инфоком ЛТД Беспилотное наземное транспортное средствоИнфоком ЛТД Беспилотное наземное транспортное средство
Инфоком ЛТД Беспилотное наземное транспортное средство
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
 
Платформа SmartActors
Платформа SmartActorsПлатформа SmartActors
Платформа SmartActors
 
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...
Хранилище данных Avito: аналитика для микросервисной архитектуры / Артем Дани...
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
 
Марат Мавлютов - Современный веб как сложная система
Марат Мавлютов - Современный веб как сложная системаМарат Мавлютов - Современный веб как сложная система
Марат Мавлютов - Современный веб как сложная система
 
«Рамблер Касса» как пример высокопроизводительного проекта на .Net (Дмитрий П...
«Рамблер Касса» как пример высокопроизводительного проекта на .Net (Дмитрий П...«Рамблер Касса» как пример высокопроизводительного проекта на .Net (Дмитрий П...
«Рамблер Касса» как пример высокопроизводительного проекта на .Net (Дмитрий П...
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложений
 
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
Автоматизация нагрузочного тестирования в связке JMeter + TeamСity + Grafana ...
 

Mais de Uptime community

Евгений Потапов / ITSumma — Менеджмент инцидентов и исследование жизненного ц...
Евгений Потапов / ITSumma — Менеджмент инцидентов и исследование жизненного ц...Евгений Потапов / ITSumma — Менеджмент инцидентов и исследование жизненного ц...
Евгений Потапов / ITSumma — Менеджмент инцидентов и исследование жизненного ц...Uptime community
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime community
 
Как устроен мониторинг в Badoo
Как устроен мониторинг в BadooКак устроен мониторинг в Badoo
Как устроен мониторинг в BadooUptime community
 
Эффективная техподдержка 24х7: инструкция по применению
Эффективная техподдержка 24х7: инструкция по применениюЭффективная техподдержка 24х7: инструкция по применению
Эффективная техподдержка 24х7: инструкция по применениюUptime community
 
Мониторинг, когда не тестируешь
Мониторинг, когда не тестируешьМониторинг, когда не тестируешь
Мониторинг, когда не тестируешьUptime community
 
Как обычно происходит внедрение мониторинга с нуля
Как обычно происходит внедрение мониторинга с нуляКак обычно происходит внедрение мониторинга с нуля
Как обычно происходит внедрение мониторинга с нуляUptime community
 
Стриминг мониторинга
Стриминг мониторингаСтриминг мониторинга
Стриминг мониторингаUptime community
 

Mais de Uptime community (7)

Евгений Потапов / ITSumma — Менеджмент инцидентов и исследование жизненного ц...
Евгений Потапов / ITSumma — Менеджмент инцидентов и исследование жизненного ц...Евгений Потапов / ITSumma — Менеджмент инцидентов и исследование жизненного ц...
Евгений Потапов / ITSumma — Менеджмент инцидентов и исследование жизненного ц...
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
Как устроен мониторинг в Badoo
Как устроен мониторинг в BadooКак устроен мониторинг в Badoo
Как устроен мониторинг в Badoo
 
Эффективная техподдержка 24х7: инструкция по применению
Эффективная техподдержка 24х7: инструкция по применениюЭффективная техподдержка 24х7: инструкция по применению
Эффективная техподдержка 24х7: инструкция по применению
 
Мониторинг, когда не тестируешь
Мониторинг, когда не тестируешьМониторинг, когда не тестируешь
Мониторинг, когда не тестируешь
 
Как обычно происходит внедрение мониторинга с нуля
Как обычно происходит внедрение мониторинга с нуляКак обычно происходит внедрение мониторинга с нуля
Как обычно происходит внедрение мониторинга с нуля
 
Стриминг мониторинга
Стриминг мониторингаСтриминг мониторинга
Стриминг мониторинга
 

Изобретая колесо: как мы писали свой мониторинг