SlideShare a Scribd company logo
1 of 45
Download to read offline
Евгений Потапов / ITSumma
Новое не значит лучшее.
Преждевеременное
внедрение технологий
350+ компаний на поддержке
75 сотрудников, офисы в
Иркутске, Москве, Санкт-
Петербурге и Сан-Франциско
6000+ серверов на поддержке
SLA 15 минут
О компании
Главные	причины	аварий
• Аварии,	связанные	с	новыми	версиями	
приложения
• Проблемы,	связанные	с	ростом	нагрузки	и	
масштабированием
• Человеческий	фактор
Закон	Луссера
надёжность ракеты равна произведению надёжности
всех компонентов,
а не надёжности самого ненадёжного элемента
Структура	анализа	ошибки
• Что	случилось?
• В	чем	была	ошибка?
• Как	сделать	так,	чтобы	такого	больше	никогда	не	
было?
«Поиск	виновных»
• Один	раз	может	ошибиться	любой	человек
• Частые	ошибки	– возможная	
профнепригодность,	но	не	вина
• Наказание	– за	целенаправленное	нарушение	
процессов
Основные	причины
• Отсутствие	процесса
• Ошибки	в	процессе
• Ошибки	взаимодействия
Отсутствие	процесса
31	марта	2016	года
31	марта	2016	года	- проблема
• Клиент	пришел	на	поддержку	без	бэкапов баз	
данных
31	марта	2016	года	- проблема
• Клиент	пришел	на	поддержку	без	бэкапов баз	
данных
• Размер	БД	(MySQL) – 2ТБ,	около	300гб	на	
таблицу
31	марта	2016	года	- проблема
• Клиент	пришел	на	поддержку	без	бэкапов баз	
данных
• Размер	БД	(MySQL) – 2ТБ,	около	300гб	на	
таблицу
• Нет	слейва,	работу	останавливать	нельзя
31	марта	2016	года	- проблема
• Клиент	пришел	на	поддержку	без	бэкапов баз	
данных
• Размер	БД	(MySQL) – 2ТБ,	около	300гб	на	
таблицу
• Нет	слейва,	работу	останавливать	нельзя
• 300гб	MyISAM (лок xtrabackup)
31	марта	2016	года	- план
• Запуск	xtrabackup,	вручную, без	MyISAM части
• Перенос	данных	на	слейв,	поднятие	слейва со	
слейва
• Последующие	бэкапы – остановка	второго	
слейва
31	марта	2016	года	- жизнь
• 31	марта,	02:00	– запуск	xtrabackup
31	марта	2016	года	- жизнь
• 31	марта,	02:00	– запуск	xtrabackup
• 31	марта,	02:00	– 1	апреля,	16:00	– рост	(deleted)
redo-log-а
31	марта	2016	года	- жизнь
• 31	марта,	02:00	– запуск	xtrabackup
• 31	марта,	02:00	– 1	апреля,	16:00	– рост	(deleted)
redo-log-а
• 1	апреля,	16:00	– алерт «мало	места	на	диске»
31	марта	2016	года	- жизнь
• 31	марта,	02:00	– запуск	xtrabackup
• 31	марта,	02:00	– 1	апреля,	16:00	– рост	(deleted)
redo-log-а
• 1	апреля,	16:00	– алерт «мало	места	на	диске»
• 1	апреля,	17:00	– ответственный	администратор	
не	знает	о	redo-log-е,	решает	чистить	(deleted)	
xtrabackup,	создает	скрипт	для	зануления file-
handler-а	с	(deleted)
31	марта	2016	года	- жизнь
• 31	марта,	02:00	– запуск	xtrabackup
• 31	марта,	02:00	– 1	апреля,	16:00	– рост	(deleted)
redo-log-а
• 1	апреля,	16:00	– алерт «мало	места	на	диске»
• 1	апреля,	17:00	– ответственный	администратор	
не	знает	о	redo-log-е,	решает	чистить	(deleted)	
xtrabackup,	создает	скрипт	для	зануления file-
handler-а	с	(deleted)
• 1	апреля,	18:00	– ответственный	администратор	
запускает	скрипт
31	марта	2016	года	- жизнь
• 31	марта,	02:00	– запуск	xtrabackup
• 31	марта,	02:00	– 1	апреля,	16:00	– рост	(deleted)
redo-log-а
• 1	апреля,	16:00	– алерт «мало	места	на	диске»
• 1	апреля,	17:00	– ответственный	администратор	не	
знает	о	redo-log-е,	решает	чистить	(deleted)	
xtrabackup,	создает	скрипт	для	зануления file-
handler-а	с	(deleted)
• 1	апреля,	18:00	– ответственный	администратор	
запускает	скрипт
• 1	апреля,	18:00	– сайт	недоступен
1-2	апреля	2016	года	- спасение
• 1	апреля,	18:00-18:30	– mysql упал	и	не	
запускается
1-2	апреля	2016	года	- спасение
• 1	апреля,	18:00-18:30	– mysql упал	и	не	
запускается
• 1	апреля,	18:30	– зануленный file	handler был	
ibdata процесса	mysql
1-2	апреля	2016	года	- спасение
• 1	апреля,	18:00-18:30	– mysql упал	и	не	
запускается
• 1	апреля,	18:30	– зануленный file	handler был	
ibdata процесса	mysql
• 1	апреля,	19:00	– остался	скопированный	
нагорячую ibdata в	куске	xtrabackup дампа
1-2	апреля	2016	года	- спасение
• 1	апреля,	18:00-18:30	– mysql упал	и	не	
запускается
• 1	апреля,	18:30	– зануленный file	handler был	
ibdata процесса	mysql
• 1	апреля,	19:00	– остался	скопированный	
нагорячую ibdata в	куске	xtrabackup дампа
• 1	апреля,	20:00	– компания	data	recovery	mysql
отказывается	работать	в	такой	ситуации
1-2	апреля	2016	года	- спасение
• 1	апреля,	18:00-18:30	– mysql упал	и	не	
запускается
• 1	апреля,	18:30	– зануленный file	handler был	
ibdata процесса	mysql
• 1	апреля,	19:00	– остался	скопированный	
нагорячую ibdata в	куске	xtrabackup дампа
• 1	апреля,	20:00	– компания	data	recovery	mysql
отказывается	работать	в	такой	ситуации
• 1	апреля,	21:00	– блогпост о	восстановлении	
через	gdb
1-2	апреля	2016	года	- спасение
• 1	апреля,	18:00-18:30	– mysql упал	и	не	запускается
• 1	апреля,	18:30	– зануленный file	handler был	ibdata
процесса	mysql
• 1	апреля,	19:00	– остался	скопированный	нагорячую
ibdata в	куске	xtrabackup дампа
• 1	апреля,	20:00	– компания	data	recovery	mysql
отказывается	работать	в	такой	ситуации
• 1	апреля,	21:00	– блогпост о	восстановлении	через	
gdb
• 1	апреля,	21:00	- 2	апреля,	03:00	– попытки	запуска,	
успешный	запуск	в	recovery	mode
1-2	апреля	2016	года	- спасение
• 1	апреля,	18:00-18:30	– mysql упал	и	не	запускается
• 1	апреля,	18:30	– зануленный file	handler был	ibdata
процесса	mysql
• 1	апреля,	19:00	– остался	скопированный	нагорячую
ibdata в	куске	xtrabackup дампа
• 1	апреля,	20:00	– компания	data	recovery	mysql
отказывается	работать	в	такой	ситуации
• 1	апреля,	21:00	– блогпост о	восстановлении	через	
gdb
• 1	апреля,	21:00	- 2	апреля,	03:00	– попытки	запуска,	
успешный	запуск	в	recovery	mode
• 2	апреля,	03:00	– 3	апреля,	06:00	- mysqldump
Что	случилось?
• Ответственный	администратор,	добавляя	
системе	свободного	места,	путем	
зануления(deleted) file-handler-а	удалил	ibdata
mysql
В	чем	причина?
• Недостаточная	информированность	о	работе	
xtrabackup
• Отсутствие	чеклиста и	дополнительного	
контроля
• Нестандартная	операция,	о	которой	не	были	
проинформированы	сотрудники
Как	сделать	так,	чтобы	такого	
никогда	не	было?
• Избегать	нестандартных	операций
• Если	они	происходят	– работа	одной	группой
• Непонятная	проблема	– доложить	менеджеру
• Рискованная	операция	– двойной	контроль
Ошибки	в	процессе
Январь	2017
Январь	2017	- жизнь
• Для	подготовки	к	кибервторнику утром	и	днем	
на	production-серверах	проводится	нагрузочное	
тестирование	на	разладку.
Январь	2017	- жизнь
• Для	подготовки	к	кибервторнику утром	и	днем	
на	production-серверах	проводится	нагрузочное	
тестирование	на	разладку.
• Дежурный	администратор	отмечает	в	заметках	
«проблемы	с	открытием	страниц	на	проекте	ABC
- ОК»
Январь	2017	- жизнь
• Для	подготовки	к	кибервторнику утром	и	днем	
на	production-серверах	проводится	нагрузочное	
тестирование	на	разладку.
• Дежурный	администратор	отмечает	в	заметках	
«проблемы	с	открытием	страниц	на	проекте	ABC
- ОК»
• В	момент	рассылки	кэш	страницы	акции	
отключен,	сайт	периодически	недоступен	весь	
вечер	и	ночь
Что	случилось?
• Дежурный	администратор,	выйдя	на	смену,	
прочитал	сообщение	и	получил	подтверждение	
от	предыдущего	дежурного	о	легитимности	
алертов на	время	открытия	страницы	и	не	
реагировал	на	проблемы
В	чем	причина?
• Отсутствие	процесса	валидации сообщений	в	
системе	мониторинга	при	пересмене
Как	сделать	так,	чтобы	такого	
никогда	не	было?
• Дежурный	менеджер	присутствует	при	
пересмене
• Любые	критические	оповещения	– получить	
подтверждения	у	дежурного	менеджера
• Дежурный	менеджер	валидирует текущие	
сообщения	в	системе	мониторинга
Ошибки	взаимодействия
5	октября	2017	года
5	октября	- жизнь
• Сотрудник	отдела	разработки	мониторинга	
попросил	дежурного	администратора	
выключить	модуль	на	production-сервере	
клиента.	Продажи	в	мобильном	приложении	не	
шли	6	часов.
Что	случилось?
• Сотрудник	отдела	разработки	мониторинга	
попросил	дежурного	администратора	
выключить	модуль	на	production-сервере	
клиента.	Продажи	в	мобильном	приложении	не	
шли	6	часов.
В	чем	причина?
• Дежурный	администратор	ожидал,	что	
отключение	согласовал	разработчик,	а	
разработчик	ожидал,	что	отключение	согласует	
дежурный	администратор
Как	сделать	так,	чтобы	такого	
никогда	не	было?
• Любое	ожидаемое	действие	должно	быть	
подтверждено.
Евгений Потапов
facebook.com/eapotapov
eapotapov@itsumma.ru
itsumma.ru

More Related Content

Similar to Евгений Потапов / ITSumma — Менеджмент инцидентов и исследование жизненного цикла аварии

Конкурентная Разведка в Интернете
Конкурентная Разведка в ИнтернетеКонкурентная Разведка в Интернете
Конкурентная Разведка в Интернете
Positive Hack Days
 
Возможности быстрого запуска СЭД на базе "1С-Битрикс: Корпоративный портал"
Возможности быстрого запуска СЭД на базе "1С-Битрикс: Корпоративный портал"Возможности быстрого запуска СЭД на базе "1С-Битрикс: Корпоративный портал"
Возможности быстрого запуска СЭД на базе "1С-Битрикс: Корпоративный портал"
Expolink
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
Ontico
 
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
Ontico
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
Sergey Xek
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
Sergey Xek
 
Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на Java
Alex Chistyakov
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
Ontico
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
Sergey Xek
 
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Ontico
 

Similar to Евгений Потапов / ITSumma — Менеджмент инцидентов и исследование жизненного цикла аварии (16)

Конкурентная Разведка в Интернете
Конкурентная Разведка в ИнтернетеКонкурентная Разведка в Интернете
Конкурентная Разведка в Интернете
 
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
Евгения Фирсова "Выкладка вёрстки — просто, быстро, безопасно"
 
Возможности быстрого запуска СЭД на базе "1С-Битрикс: Корпоративный портал"
Возможности быстрого запуска СЭД на базе "1С-Битрикс: Корпоративный портал"Возможности быстрого запуска СЭД на базе "1С-Битрикс: Корпоративный портал"
Возможности быстрого запуска СЭД на базе "1С-Битрикс: Корпоративный портал"
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
 
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
 
Выступление Сергея Аверина, Badoo, на High Performance Conference
Выступление Сергея Аверина, Badoo, на High Performance ConferenceВыступление Сергея Аверина, Badoo, на High Performance Conference
Выступление Сергея Аверина, Badoo, на High Performance Conference
 
Не все базы данных одинаково полезны
Не все базы данных одинаково полезныНе все базы данных одинаково полезны
Не все базы данных одинаково полезны
 
"Тестирование распределенных систем" Сатарин Андрей, Яндекс
"Тестирование распределенных систем" Сатарин Андрей, Яндекс"Тестирование распределенных систем" Сатарин Андрей, Яндекс
"Тестирование распределенных систем" Сатарин Андрей, Яндекс
 
Оптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на JavaОптимизация производительности нагруженных веб-систем на Java
Оптимизация производительности нагруженных веб-систем на Java
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
 
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
Как сделать сложное простым. История создания Проект1917 / Сергей Спорышев (I...
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитики
 
Резервное копирование – важный шаг к защите информации. Советы для руководителей
Резервное копирование – важный шаг к защите информации. Советы для руководителейРезервное копирование – важный шаг к защите информации. Советы для руководителей
Резервное копирование – важный шаг к защите информации. Советы для руководителей
 
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
Поддержка высоконагруженного проекта: мониторинг, резервирование, обслуживани...
 

More from Uptime community

More from Uptime community (7)

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

Евгений Потапов / ITSumma — Менеджмент инцидентов и исследование жизненного цикла аварии