30
Александр Сербул Руководитель направления контроля качества интеграции и внедрений Проактивный мониторинг и анализ трендов #bitrix #bitrix24

Александр Сербул Руководитель направлени я контроля качества интеграции и внедрений

  • Upload
    jethro

  • View
    41

  • Download
    1

Embed Size (px)

DESCRIPTION

# bitrix. #bitrix24. Проактивный мониторинг и анализ трендов. Александр Сербул Руководитель направлени я контроля качества интеграции и внедрений. Цели. Понять, почему веб-проекты после запуска нередко становятся сложными и слабоуправляемыми. - PowerPoint PPT Presentation

Citation preview

Page 1: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Александр СербулРуководитель направления контроля

качества интеграции и внедрений

Проактивный мониторинги анализ трендов

#bitrix#bitrix24

Page 2: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Цели

Научиться видеть сложную веб-систему целиком в простом ракурсе

Понять, почему веб-проекты после запуска нередко становятся сложными и слабоуправляемыми

Рассмотреть несколько инструментов, метрик и цифр, научиться их трактовать. Понять принцип отбора метрик для мониторинга и анализа

Выстроить бизнес-процесс управления, обеспечивающий порядок и прозрачность веб-проекта

Page 3: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Запуск веб-проекта

Проектирование. Не всегда достаточно времени. Требования меняются до самого конца.

Сжатые сроки на развертывание веб-проекта на хостинге

Мало кто проводит и умеет делать нагрузочное тестирование

Система запускается «как есть» и по инерции может «поработать» год-два «без вмешательства»

Не все задумываются над организацией мониторинга, резервного копирования, обновления софта на серверах и т.п.

Page 4: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Вроде работает…

Веб-проект «вроде работает»

В случае торможения пинают сисадмина перезапустить apache или MySQL Программисты что-то дописывают «на боевых серверах» - так быстрее

Менеджеры проекта меняются

Кто отвечает за порядок, прозрачность и мониторинг??

Веб-проект начинает разрушаться и деградировать изнутри…

Page 5: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Как должно быть

Сервера «стерильны», код выкладывается через систему контроля версий

Доступ на сервера строго ограничен кругом квалифицированных администраторов

ПО на серверах постоянно обновляется, «дырки» закрываются, предварительно тестируется всё

Вся система «покрыта датчиками» и мониторится. SMS. Хорошо, если есть дежурные 24/7.

Перед попаданием «на бой» код попадает на testing, stage сервера для функционального и нагрузочного тестирования

Page 6: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Мифы о стабильности

Миф 1. Весь веб-проект покрыть unit и другими тестами на 100%

Миф 2. Проводится тщательное нагрузочное тестирование на реальных данных

Миф 3. При изменении настроек/обновлении серверов все тщательно тестируется

Миф 4. Если установлены все патчи безопасности, система безопасна.

Миф 5. Мы знаем, что может случиться, и ждем этого.

Page 7: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Взять контроль над веб-системой

Прозрачное поле боя (nagios)

Дисциплина и регламент Анализ трендов (munin)

Page 8: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Мониторинг «железа»

Рейды

S.M.A.R.T. – диск возможно скоро «умрет»

Утилиты вендора – внутренние аппаратные тесты

Имеем «запчасти» (блоки питания, вентиляторы …) или знаем где их быстро найти

Периодическое тестирование железа в оффлайне

Page 9: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Мониторинг операционной системы

Место на дисках

Периодическая проверка файловой системы - fsck

Регулярно пробуем прочитать записанные (в архив) файлы iostat

Page 10: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Мониторинг операционной системы

Очередь выполнения

vmstat

Размер и использование swap

Page 11: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Мониторинг операционной системы

Сеть. netstat, -o -p

Полезные утилиты: atop, ps, pstree, apachetop, innotop

Page 12: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Мониторинг MySQL

Ключевые тесты

Page 13: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Мониторинг MySQL

Гистограмма времени обработки запросов (Percona)

Page 14: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Мониторинг веб-приложения

Лог работы скрипта (>) – обновился за N часов

Лог ошибок работы скрипта (2>) – должен быть пуст

Обязательно ротируем логи - logrotate

Page 15: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Мониторинг веб-приложения

Число ошибок в хитах за 15 минут - меньше L (из pinba)

Макс. время хита (тэга) – меньше M сек.

Макс. использование памяти хитом – меньше N МБ

Графики рисует простой плагин для munin

Page 16: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Мониторинг веб-приложения

Гистограммы распределения времени хитов, памяти, кодам ответа – из логов (awk-скрипт) или pinba Общая температура «по палате»

Page 17: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Аналитика - munin

Дисковая подсистема

Page 18: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Аналитика - munin

Сеть

Page 19: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Аналитика - munin

Память

Apache MaxClients

MySQL buffers …

Нужно «прикинуть» максимальный расход памяти в приложениях и следить за ней

Page 20: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Аналитика - munin

swap

Скорость работы с диском на неск. порядков ниже. Нужно стараться избегать своппинга.

Page 21: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Аналитика - munin

Нагрузка

Page 22: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Аналитика - munin

Нагрузка

Page 23: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Аналитика - memcached

Ключевые графики

Page 24: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Аналитика - MySQL

Ключевые графики

Page 25: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Аналитика - MySQL

Ключевые графики

Page 26: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Аналитика - MySQL

Ключевые графики

Page 27: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Поиск узких мест

XHProf, pinba, XDebug

Page 28: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Поиск узких мест

Apache /server-status

Включенные логи медленных запросов php-fpm, nginx, apache, mysql

Page 29: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Да пребудет с нами сила!

Page 30: Александр  Сербул Руководитель направлени я контроля качества интеграции и внедрений

Спасибо за внимание! Вопросы?

Александр Сербул

[email protected]@AlexSerbul

#bitrix24