SlideShare a Scribd company logo
От Low Level к Super Discovery
Илья Аблеев
в
или как переложить мониторинг на девелопера
Инфраструктура:
~3K Linux хостов;
~4 датацентра: Европа, Америка, Азия, Россия;
2 девел-площадки: Москва, Лондон
Отдел мониторинга:
реакция на проблемы
введение нового и поддержание старого добра;
автоматизация.
Badoo
Всё
!
– доступность серверов / сетевых железок
!
– “хардварную” статистику: память, CPU, load average, RAID
!
– сервисы: MySQL, Nginx, PHP-FPM, самописные
!
– статистику сервисов: количество запросов / время ответа
Что мониторим Zabbix’ом?
А ещё…
!
– логику приложений: очереди, актуальность /
консистентность данных
!
– бизнес-метрики (активность пользователей): онлайн,
регистрации, загрузка фото
Что мониторим Zabbix’ом?
!
Когда:
• подумали заранее, при создании сервиса
• что-то сломалось, нужно предотвратить повторение
!
Как:
• оформляем задачу, описываем требования
• реализовываем логику (скрипты)
• прикручиваем триггеры, уведомления
!
!
Как решаем, что нужно мониторить?
!
!
Но долго, если у нас очень много мелких задач.
!
!
Больше задач –> больше времени тратится на повторение уже
существующих приёмов.
Замониторить – просто
Коллеги, нам бы мониторить количество записей
в таблице и если превысит 100 – слать sms’ку.
Можете?
!
mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb1.MyTable1”
!
Вроде просто.
!
Добавили в zabbix, подписали на SMS.
Пример
Коллеги, слушайте, тут аналогичная база есть.
Можете добавить?
!
mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable1”
!
Опять просто.
!
Добавили в zabbix, подписали на SMS.
Пример
Мы тут подумали… У нас есть десяток таких
таблиц. Сможете? И по каждой нужно выставить
свой лимит…
!
mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb1.MyTable1”
mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable1”
mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable2”
mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable3”
mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable4”
…
mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable10”
Пример
А у нас тут база
переехала…
А давайте нечётные не
проверять!
А можете новый номер для
SMS добавить?
Давайте на пятую
таблицу недельку
позабиваем?
А таблицы из первой базы вообще не
используются уже давно, чо вы их до сих пор
мониторите-то???
ЧО ТАК ДОЛГО-ТО?
ДЕВЕЛОПЕР(ы)
ХОЧУ БОЛЬШЕ!
ОТПИШИТЕ МЕНЯ ОТ
СМС…
МОНИТОРИНГ
mysql> DROP DATABASE zabbix;
Шаблоны
• массово раскатываем на кучу хостов
• меняем всё и сразу
• нет возможности менять триггеры для одного хоста
!
API
• сложно ввести в курс дела тех, кто не видел заббикс
Нужно делать быстрее и больше
Низкоуровневое обнаружение
!
Не слышали? Быстро изучать:
https://www.zabbix.com/documentation/2.0/manual/discovery/low_level_discovery
В двух словах: что-то среднее между API и шаблонами.
!
Новые объекты доставляются в JSON массиве.
Low Level Discovery
Low Level Discovery
Low Level Discovery
Просто обнаружить и повесить лампочки – скучно.
!
Макросы можно подставлять в разные объекты:
айтемы: {названия, ключи},
триггеры: {текст, формула, лимит}
!
Нельзя подставить макрос в функцию 😟
https://support.zabbix.com/browse/ZBXNEXT-1667
(ровно через два дня – тикету исполнится три!!! года)
Low Level Discovery
Привет, Zabbix 3.0
https://www.zabbix.com/documentation/3.0/manual/config/macros/usermacros
!
Общий смысл: позволит использовать разные значения
для разных LLD макросов, которые были обнаружены.
!
Если не найдёт – будет использовать дефолтное.
!
* Контекстные макросы
!
Даже с контекстными макросами приходится совершать
два действия:
– дискаверить новые метрики
– задавать лимиты (через API или руками)
!
Оставили в старом варианте: значение задаётся прямо во
время дискавери, в одном действии.
А как у нас?
Расширяем JSON массив
дефолтные лимиты
кастомные лимиты
Создаём ОДИН раз айтемы:
И триггеры:
Лёгким движением руки…
У разработчиков – много однотипных сервисов.
У этих однотипных сервисов – ещё больше айтемов.
!
Чем отличаются:
– названием
– критичностью
– ответственными
!
Всё это “укладывается” в LLD.
Дискаверим на более “высоком” уровне
Дискаверим сервисы. Как? Доклад прошлого года :)
https://youtu.be/ZfZL39By0cw?t=10m15s
!
В заббиксе нет понятия “сервис”, поэтому для удобства
каждый сервис добавляем как хост.
!
Список сервисов предоставляет девелопер.
!
Например: online_users, registration, push_send,
push_click, email_send, email_open, …
Шаг первый
Создаём “универсальный” шаблон дискавери.
!
Универсальный – значит применим для всех сервисов.
!
Все айтемы с типом “траппер”:
!
status[{#ID}] состояние метрики
count[{#ID}] текущее значение
limit_disaster[{#ID}] порог для самого критичного
limit_high[{#ID}] для менее критичного
limit_high[{#ID}] для наименее критичного
Шаг второй
Макросы:
!
{#ID} уникальный id метрики
{#TRIGGER} название триггера
{#EMAIL} список адресов для уведомлений
{#SMS} список телефонов
!
Название для триггера – чтобы назвали так, как будет удобно.
Шаг второй
Шаг второй
Все айтемы – трапперы.
!
Девелоперы сами будут отправлять нам данные через
zabbix_sender: из крона, из “облаков”, и тд.
!
Логику, когда нужно зажечь триггер – пишут они же.
!
Список адресов и телефонов – заботятся снова они, заранее.
!
Заббикс зажигает лампочки и отправляет уведомления.
Шаг третий
А у нас тут база
переехала…
А давайте нечётные не
проверять!
А можете новый номер для
SMS добавить?
Давайте на пятую
таблицу недельку
позабиваем?
А таблицы из первой базы вообще не
используются уже давно, чо вы их до сих пор
мониторите-то???
Сейчас сам всё поправлю
Итоги
Вопросы?
http://habrahabr.ru/company/Badoo/
!
!
Илья Аблеев
ableev@corp.badoo.com

More Related Content

What's hot

«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС
«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС «Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС
«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС
2ГИС Технологии
 
Alexei Vladishev - Zabbix 3.0 что дальше
Alexei Vladishev - Zabbix 3.0 что дальшеAlexei Vladishev - Zabbix 3.0 что дальше
Alexei Vladishev - Zabbix 3.0 что дальше
Zabbix
 
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Badoo Development
 
AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013Roman Pavlushko
 
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Tanya Denisyuk
 
MongoDB. Как готовить, с чем едят?
MongoDB. Как готовить, с чем едят?MongoDB. Как готовить, с чем едят?
MongoDB. Как готовить, с чем едят?
Tim Mironov
 
Нагруженный поиск на Sphinx
Нагруженный поиск на SphinxНагруженный поиск на Sphinx
Нагруженный поиск на SphinxRoman Pavlushko
 
Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)Andrew Avdeev
 
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
Ontico
 
MongoDB первые впечатления
MongoDB первые впечатленияMongoDB первые впечатления
MongoDB первые впечатленияfudz1k
 
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяцМихаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Tanya Denisyuk
 
Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Ontico
 
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Ontico
 
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
Ontico
 
Андрей Абакумов (Россия). Yandex.ru. Соавтор: Эльдар Заитов. Автоматизация ск...
Андрей Абакумов (Россия). Yandex.ru. Соавтор: Эльдар Заитов. Автоматизация ск...Андрей Абакумов (Россия). Yandex.ru. Соавтор: Эльдар Заитов. Автоматизация ск...
Андрей Абакумов (Россия). Yandex.ru. Соавтор: Эльдар Заитов. Автоматизация ск...
KazHackStan
 
Доклад Валерия Старынина на DevConf 2014. "StatsCollector, или "Мама! Он и ме...
Доклад Валерия Старынина на DevConf 2014. "StatsCollector, или "Мама! Он и ме...Доклад Валерия Старынина на DevConf 2014. "StatsCollector, или "Мама! Он и ме...
Доклад Валерия Старынина на DevConf 2014. "StatsCollector, или "Мама! Он и ме...
Badoo Development
 
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Ontico
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Ontico
 
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo). С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
Badoo Development
 
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)
Ontico
 

What's hot (20)

«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС
«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС «Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС
«Путь от монолита на PHP к микросервисам на Scala» – Денис Иванов, 2ГИС
 
Alexei Vladishev - Zabbix 3.0 что дальше
Alexei Vladishev - Zabbix 3.0 что дальшеAlexei Vladishev - Zabbix 3.0 что дальше
Alexei Vladishev - Zabbix 3.0 что дальше
 
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
Доклад Виталия Котова на конференции LoveQA. "Selenium тесты. От RC и одного ...
 
AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013
 
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
Антон Щербаков, Отказоустойчивость на примере aviasales — почему даже если на...
 
MongoDB. Как готовить, с чем едят?
MongoDB. Как готовить, с чем едят?MongoDB. Как готовить, с чем едят?
MongoDB. Как готовить, с чем едят?
 
Нагруженный поиск на Sphinx
Нагруженный поиск на SphinxНагруженный поиск на Sphinx
Нагруженный поиск на Sphinx
 
Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)Масштабирование баз данных. (Database Scalability)
Масштабирование баз данных. (Database Scalability)
 
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
 
MongoDB первые впечатления
MongoDB первые впечатленияMongoDB первые впечатления
MongoDB первые впечатления
 
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяцМихаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
 
Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)Безопасность Node.js / Илья Вербицкий (Независимый консультант)
Безопасность Node.js / Илья Вербицкий (Независимый консультант)
 
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
 
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
NAS, Predictions, Preloading, Presudo-Isomorphism / Охрименко Алексей (Acronis)
 
Андрей Абакумов (Россия). Yandex.ru. Соавтор: Эльдар Заитов. Автоматизация ск...
Андрей Абакумов (Россия). Yandex.ru. Соавтор: Эльдар Заитов. Автоматизация ск...Андрей Абакумов (Россия). Yandex.ru. Соавтор: Эльдар Заитов. Автоматизация ск...
Андрей Абакумов (Россия). Yandex.ru. Соавтор: Эльдар Заитов. Автоматизация ск...
 
Доклад Валерия Старынина на DevConf 2014. "StatsCollector, или "Мама! Он и ме...
Доклад Валерия Старынина на DevConf 2014. "StatsCollector, или "Мама! Он и ме...Доклад Валерия Старынина на DevConf 2014. "StatsCollector, или "Мама! Он и ме...
Доклад Валерия Старынина на DevConf 2014. "StatsCollector, или "Мама! Он и ме...
 
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
Как считать и анализировать сотни гигабит трафика в секунду, Станислав Николо...
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
 
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo). С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
С чего начать внедрение Hadoop в компании. Доклад Алексея Еремихина (Badoo).
 
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)
 

Viewers also liked

Zabbix 3.0 что дальше
Zabbix 3.0 что дальше Zabbix 3.0 что дальше
Zabbix 3.0 что дальше
Badoo Development
 
Docker networking
Docker networkingDocker networking
Docker networking
Badoo Development
 
Мониторь, автоматизируй Docker
Мониторь, автоматизируй DockerМониторь, автоматизируй Docker
Мониторь, автоматизируй Docker
Badoo Development
 
Docker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрацияDocker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрация
Badoo Development
 
Docker penetration
Docker penetrationDocker penetration
Docker penetration
Badoo Development
 
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Badoo Development
 
Near-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проектеNear-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проекте
Badoo Development
 
Pavel Amosov - Zabbix 3.0: Excited for new features? DESIGN
Pavel Amosov - Zabbix 3.0: Excited for new features? DESIGNPavel Amosov - Zabbix 3.0: Excited for new features? DESIGN
Pavel Amosov - Zabbix 3.0: Excited for new features? DESIGN
Zabbix
 
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Vadim Nesterov
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Badoo Development
 
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...Badoo Development
 
Юнит-тесты: от общего к частному. Доклад Александра Свинцова На LoveQA РИТ
Юнит-тесты: от общего к частному. Доклад Александра Свинцова На LoveQA РИТЮнит-тесты: от общего к частному. Доклад Александра Свинцова На LoveQA РИТ
Юнит-тесты: от общего к частному. Доклад Александра Свинцова На LoveQA РИТ
Badoo Development
 
"Геолокация в Badoo", Андрей Воликов (Badoo)
"Геолокация в Badoo", Андрей Воликов (Badoo)"Геолокация в Badoo", Андрей Воликов (Badoo)
"Геолокация в Badoo", Андрей Воликов (Badoo)
Badoo Development
 
"Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7""Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7"
Badoo Development
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации"
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации"Эволюция клиентской разработки: от веба ко "всеобщей мобилизации"
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации"
Badoo Development
 
Ровная балансировка нагрузки на фронтенд-кластере
Ровная балансировка нагрузки на фронтенд-кластереРовная балансировка нагрузки на фронтенд-кластере
Ровная балансировка нагрузки на фронтенд-кластере
Badoo Development
 
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио..."PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
Badoo Development
 
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?""Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"
Badoo Development
 
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
Badoo Development
 
Мобильный веб: назад в будущее
Мобильный веб: назад в будущееМобильный веб: назад в будущее
Мобильный веб: назад в будущее
Badoo Development
 

Viewers also liked (20)

Zabbix 3.0 что дальше
Zabbix 3.0 что дальше Zabbix 3.0 что дальше
Zabbix 3.0 что дальше
 
Docker networking
Docker networkingDocker networking
Docker networking
 
Мониторь, автоматизируй Docker
Мониторь, автоматизируй DockerМониторь, автоматизируй Docker
Мониторь, автоматизируй Docker
 
Docker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрацияDocker в Badoo: ПМЖ или временная регистрация
Docker в Badoo: ПМЖ или временная регистрация
 
Docker penetration
Docker penetrationDocker penetration
Docker penetration
 
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
 
Near-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проектеNear-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проекте
 
Pavel Amosov - Zabbix 3.0: Excited for new features? DESIGN
Pavel Amosov - Zabbix 3.0: Excited for new features? DESIGNPavel Amosov - Zabbix 3.0: Excited for new features? DESIGN
Pavel Amosov - Zabbix 3.0: Excited for new features? DESIGN
 
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow Zabbix в сервисной компании  ОНЛАНТА -  Zabbix Meetup Moscow
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
 
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
Внедрение Docker в процесс разработки демонов. Доклад Константина Карпова на ...
 
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
QaAPI. Взгляд на тестирование с другой стороны баррикад. Доклад Дмитрия Марущ...
 
Юнит-тесты: от общего к частному. Доклад Александра Свинцова На LoveQA РИТ
Юнит-тесты: от общего к частному. Доклад Александра Свинцова На LoveQA РИТЮнит-тесты: от общего к частному. Доклад Александра Свинцова На LoveQA РИТ
Юнит-тесты: от общего к частному. Доклад Александра Свинцова На LoveQA РИТ
 
"Геолокация в Badoo", Андрей Воликов (Badoo)
"Геолокация в Badoo", Андрей Воликов (Badoo)"Геолокация в Badoo", Андрей Воликов (Badoo)
"Геолокация в Badoo", Андрей Воликов (Badoo)
 
"Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7""Новые возможности MySQL 5.7"
"Новые возможности MySQL 5.7"
 
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации"
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации"Эволюция клиентской разработки: от веба ко "всеобщей мобилизации"
Эволюция клиентской разработки: от веба ко "всеобщей мобилизации"
 
Ровная балансировка нагрузки на фронтенд-кластере
Ровная балансировка нагрузки на фронтенд-кластереРовная балансировка нагрузки на фронтенд-кластере
Ровная балансировка нагрузки на фронтенд-кластере
 
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио..."PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...
 
"Производительность MySQL: что нового?"
"Производительность MySQL: что нового?""Производительность MySQL: что нового?"
"Производительность MySQL: что нового?"
 
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
"Почему язык Lua — это интересно?", Ник Заварицкий, (Mail.ru Group)
 
Мобильный веб: назад в будущее
Мобильный веб: назад в будущееМобильный веб: назад в будущее
Мобильный веб: назад в будущее
 

Similar to Zabbix в badoo, от lld к super discovery

Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
CodeFest
 
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix
 
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
Ontico
 
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix
 
Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013Serguei Gitinsky
 
SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013
Alex Chistyakov
 
Top-10 популярных вопросов администраторам баз данных или почему я против св...
Top-10  популярных вопросов администраторам баз данных или почему я против св...Top-10  популярных вопросов администраторам баз данных или почему я против св...
Top-10 популярных вопросов администраторам баз данных или почему я против св...Ilya Kosmodemiansky
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Ontico
 
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON
 
Дорога к микросервисной архитектуре
Дорога к микросервисной архитектуреДорога к микросервисной архитектуре
Дорога к микросервисной архитектуре
CodeFest
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrusAlex Chistyakov
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Ontico
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
Vadim Madison
 
Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Dmytro Mindra
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
IT-Portfolio
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyAlex Chistyakov
 
Сергей Житинский, Александр Чистяков (Git in Sky)
Сергей Житинский, Александр Чистяков (Git in Sky)Сергей Житинский, Александр Чистяков (Git in Sky)
Сергей Житинский, Александр Чистяков (Git in Sky)
Ontico
 
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноИлья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Badoo Development
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS
Pavel Tsukanov
 

Similar to Zabbix в badoo, от lld к super discovery (20)

Sivko
SivkoSivko
Sivko
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
Zabbix и правильное обнаружение проблем - Алексей Владышев @ RootConf 2015
 
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
 
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
 
Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013Git in Sky presentation @ HighLoad++ 2013
Git in Sky presentation @ HighLoad++ 2013
 
SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013SmartOS/Solaris app tuning tools/technologies on HL++ 2013
SmartOS/Solaris app tuning tools/technologies on HL++ 2013
 
Top-10 популярных вопросов администраторам баз данных или почему я против св...
Top-10  популярных вопросов администраторам баз данных или почему я против св...Top-10  популярных вопросов администраторам баз данных или почему я против св...
Top-10 популярных вопросов администраторам баз данных или почему я против св...
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
 
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
 
Дорога к микросервисной архитектуре
Дорога к микросервисной архитектуреДорога к микросервисной архитектуре
Дорога к микросервисной архитектуре
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrus
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
 
Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012 Windows Azure & NodeJS Microsoft SWIT 2012
Windows Azure & NodeJS Microsoft SWIT 2012
 
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
20 апреля, DEV {highload}, "Демоны в большом проекте – проблемы и их решения ...
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на Ruby
 
Сергей Житинский, Александр Чистяков (Git in Sky)
Сергей Житинский, Александр Чистяков (Git in Sky)Сергей Житинский, Александр Чистяков (Git in Sky)
Сергей Житинский, Александр Чистяков (Git in Sky)
 
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественноИлья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
Илья Аблеев – Zabbix в Badoo: реагируем быстро и качественно
 
ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS ВВЕДЕНИЕ В NODE.JS
ВВЕДЕНИЕ В NODE.JS
 

More from Badoo Development

Viktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel AutomationViktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel Automation
Badoo Development
 
Как мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальКак мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон Довгаль
Badoo Development
 
Григорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RUГригорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RU
Badoo Development
 
Андрей Сидоров, Яндекс.Браузер
Андрей Сидоров, Яндекс.БраузерАндрей Сидоров, Яндекс.Браузер
Андрей Сидоров, Яндекс.Браузер
Badoo Development
 
Филипп Уваров, Avito
Филипп Уваров, AvitoФилипп Уваров, Avito
Филипп Уваров, Avito
Badoo Development
 
Cocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magicCocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magic
Badoo Development
 
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
Cocoaheads Meetup / Kateryna Trofimenko / Feature developmentCocoaheads Meetup / Kateryna Trofimenko / Feature development
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
Badoo Development
 
Alex Krasheninnikov – Hadoop High Availability
Alex Krasheninnikov – Hadoop High AvailabilityAlex Krasheninnikov – Hadoop High Availability
Alex Krasheninnikov – Hadoop High Availability
Badoo Development
 
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхАндрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данных
Badoo Development
 
Александр Зобнин, Grafana Labs
Александр Зобнин, Grafana LabsАлександр Зобнин, Grafana Labs
Александр Зобнин, Grafana Labs
Badoo Development
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Badoo Development
 
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooTechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, Badoo
Badoo Development
 
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma
Badoo Development
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
Badoo Development
 
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»  Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Badoo Development
 
Как мы готовим MySQL
 Как мы готовим MySQL  Как мы готовим MySQL
Как мы готовим MySQL
Badoo Development
 
Архитектура хранения и отдачи фотографий в Badoo
Архитектура хранения и отдачи фотографий в Badoo Архитектура хранения и отдачи фотографий в Badoo
Архитектура хранения и отдачи фотографий в Badoo
Badoo Development
 
5 способов деплоя PHP-кода в условиях хайлоада
5 способов деплоя PHP-кода в условиях хайлоада5 способов деплоя PHP-кода в условиях хайлоада
5 способов деплоя PHP-кода в условиях хайлоада
Badoo Development
 
ChromeDriver Jailbreak
ChromeDriver JailbreakChromeDriver Jailbreak
ChromeDriver Jailbreak
Badoo Development
 
Git хуки на страже качества кода
Git хуки на страже качества кодаGit хуки на страже качества кода
Git хуки на страже качества кода
Badoo Development
 

More from Badoo Development (20)

Viktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel AutomationViktar Karanevich – iOS Parallel Automation
Viktar Karanevich – iOS Parallel Automation
 
Как мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон ДовгальКак мы делаем модули PHP в Badoo – Антон Довгаль
Как мы делаем модули PHP в Badoo – Антон Довгаль
 
Григорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RUГригорий Джанелидзе, OK.RU
Григорий Джанелидзе, OK.RU
 
Андрей Сидоров, Яндекс.Браузер
Андрей Сидоров, Яндекс.БраузерАндрей Сидоров, Яндекс.Браузер
Андрей Сидоров, Яндекс.Браузер
 
Филипп Уваров, Avito
Филипп Уваров, AvitoФилипп Уваров, Avito
Филипп Уваров, Avito
 
Cocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magicCocoaheads Meetup / Alex Zimin / Swift magic
Cocoaheads Meetup / Alex Zimin / Swift magic
 
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
Cocoaheads Meetup / Kateryna Trofimenko / Feature developmentCocoaheads Meetup / Kateryna Trofimenko / Feature development
Cocoaheads Meetup / Kateryna Trofimenko / Feature development
 
Alex Krasheninnikov – Hadoop High Availability
Alex Krasheninnikov – Hadoop High AvailabilityAlex Krasheninnikov – Hadoop High Availability
Alex Krasheninnikov – Hadoop High Availability
 
Андрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данныхАндрей Денисов – В ожидании мониторинга баз данных
Андрей Денисов – В ожидании мониторинга баз данных
 
Александр Зобнин, Grafana Labs
Александр Зобнин, Grafana LabsАлександр Зобнин, Grafana Labs
Александр Зобнин, Grafana Labs
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
 
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooTechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, Badoo
 
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
 
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»  Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
Паша Мурзаков: Как 200 строк на Go помогли нам освободить 15 серверов»
 
Как мы готовим MySQL
 Как мы готовим MySQL  Как мы готовим MySQL
Как мы готовим MySQL
 
Архитектура хранения и отдачи фотографий в Badoo
Архитектура хранения и отдачи фотографий в Badoo Архитектура хранения и отдачи фотографий в Badoo
Архитектура хранения и отдачи фотографий в Badoo
 
5 способов деплоя PHP-кода в условиях хайлоада
5 способов деплоя PHP-кода в условиях хайлоада5 способов деплоя PHP-кода в условиях хайлоада
5 способов деплоя PHP-кода в условиях хайлоада
 
ChromeDriver Jailbreak
ChromeDriver JailbreakChromeDriver Jailbreak
ChromeDriver Jailbreak
 
Git хуки на страже качества кода
Git хуки на страже качества кодаGit хуки на страже качества кода
Git хуки на страже качества кода
 

Zabbix в badoo, от lld к super discovery

  • 1. От Low Level к Super Discovery Илья Аблеев в или как переложить мониторинг на девелопера
  • 2. Инфраструктура: ~3K Linux хостов; ~4 датацентра: Европа, Америка, Азия, Россия; 2 девел-площадки: Москва, Лондон Отдел мониторинга: реакция на проблемы введение нового и поддержание старого добра; автоматизация. Badoo
  • 3.
  • 4. Всё ! – доступность серверов / сетевых железок ! – “хардварную” статистику: память, CPU, load average, RAID ! – сервисы: MySQL, Nginx, PHP-FPM, самописные ! – статистику сервисов: количество запросов / время ответа Что мониторим Zabbix’ом?
  • 5. А ещё… ! – логику приложений: очереди, актуальность / консистентность данных ! – бизнес-метрики (активность пользователей): онлайн, регистрации, загрузка фото Что мониторим Zabbix’ом?
  • 6. ! Когда: • подумали заранее, при создании сервиса • что-то сломалось, нужно предотвратить повторение ! Как: • оформляем задачу, описываем требования • реализовываем логику (скрипты) • прикручиваем триггеры, уведомления ! ! Как решаем, что нужно мониторить?
  • 7. ! ! Но долго, если у нас очень много мелких задач. ! ! Больше задач –> больше времени тратится на повторение уже существующих приёмов. Замониторить – просто
  • 8. Коллеги, нам бы мониторить количество записей в таблице и если превысит 100 – слать sms’ку. Можете? ! mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb1.MyTable1” ! Вроде просто. ! Добавили в zabbix, подписали на SMS. Пример
  • 9. Коллеги, слушайте, тут аналогичная база есть. Можете добавить? ! mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable1” ! Опять просто. ! Добавили в zabbix, подписали на SMS. Пример
  • 10. Мы тут подумали… У нас есть десяток таких таблиц. Сможете? И по каждой нужно выставить свой лимит… ! mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb1.MyTable1” mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable1” mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable2” mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable3” mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable4” … mysql -uzabbix -SNe “SELECT COUNT(*) FROM MyDb2.MyTable10” Пример
  • 11. А у нас тут база переехала… А давайте нечётные не проверять! А можете новый номер для SMS добавить? Давайте на пятую таблицу недельку позабиваем? А таблицы из первой базы вообще не используются уже давно, чо вы их до сих пор мониторите-то???
  • 12. ЧО ТАК ДОЛГО-ТО? ДЕВЕЛОПЕР(ы) ХОЧУ БОЛЬШЕ! ОТПИШИТЕ МЕНЯ ОТ СМС…
  • 14. Шаблоны • массово раскатываем на кучу хостов • меняем всё и сразу • нет возможности менять триггеры для одного хоста ! API • сложно ввести в курс дела тех, кто не видел заббикс Нужно делать быстрее и больше
  • 15. Низкоуровневое обнаружение ! Не слышали? Быстро изучать: https://www.zabbix.com/documentation/2.0/manual/discovery/low_level_discovery В двух словах: что-то среднее между API и шаблонами. ! Новые объекты доставляются в JSON массиве. Low Level Discovery
  • 18. Просто обнаружить и повесить лампочки – скучно. ! Макросы можно подставлять в разные объекты: айтемы: {названия, ключи}, триггеры: {текст, формула, лимит} ! Нельзя подставить макрос в функцию 😟 https://support.zabbix.com/browse/ZBXNEXT-1667 (ровно через два дня – тикету исполнится три!!! года) Low Level Discovery
  • 19. Привет, Zabbix 3.0 https://www.zabbix.com/documentation/3.0/manual/config/macros/usermacros ! Общий смысл: позволит использовать разные значения для разных LLD макросов, которые были обнаружены. ! Если не найдёт – будет использовать дефолтное. ! * Контекстные макросы
  • 20. ! Даже с контекстными макросами приходится совершать два действия: – дискаверить новые метрики – задавать лимиты (через API или руками) ! Оставили в старом варианте: значение задаётся прямо во время дискавери, в одном действии. А как у нас?
  • 21. Расширяем JSON массив дефолтные лимиты кастомные лимиты
  • 22. Создаём ОДИН раз айтемы: И триггеры:
  • 24. У разработчиков – много однотипных сервисов. У этих однотипных сервисов – ещё больше айтемов. ! Чем отличаются: – названием – критичностью – ответственными ! Всё это “укладывается” в LLD. Дискаверим на более “высоком” уровне
  • 25. Дискаверим сервисы. Как? Доклад прошлого года :) https://youtu.be/ZfZL39By0cw?t=10m15s ! В заббиксе нет понятия “сервис”, поэтому для удобства каждый сервис добавляем как хост. ! Список сервисов предоставляет девелопер. ! Например: online_users, registration, push_send, push_click, email_send, email_open, … Шаг первый
  • 26. Создаём “универсальный” шаблон дискавери. ! Универсальный – значит применим для всех сервисов. ! Все айтемы с типом “траппер”: ! status[{#ID}] состояние метрики count[{#ID}] текущее значение limit_disaster[{#ID}] порог для самого критичного limit_high[{#ID}] для менее критичного limit_high[{#ID}] для наименее критичного Шаг второй
  • 27. Макросы: ! {#ID} уникальный id метрики {#TRIGGER} название триггера {#EMAIL} список адресов для уведомлений {#SMS} список телефонов ! Название для триггера – чтобы назвали так, как будет удобно. Шаг второй
  • 29. Все айтемы – трапперы. ! Девелоперы сами будут отправлять нам данные через zabbix_sender: из крона, из “облаков”, и тд. ! Логику, когда нужно зажечь триггер – пишут они же. ! Список адресов и телефонов – заботятся снова они, заранее. ! Заббикс зажигает лампочки и отправляет уведомления. Шаг третий
  • 30. А у нас тут база переехала… А давайте нечётные не проверять! А можете новый номер для SMS добавить? Давайте на пятую таблицу недельку позабиваем? А таблицы из первой базы вообще не используются уже давно, чо вы их до сих пор мониторите-то??? Сейчас сам всё поправлю Итоги