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

Презентация:



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

Мониторинг веб-кластера, анализ трендов и планирование развития Александр Демидов «1С-Битрикс»
Организация инфраструктуры разработки - примеры из жизни Александр Сербул Руководитель направления контроля качества интеграции и внедрений 1С-Битрикс.
Создание тест-плана jmeter – от расчета цепочек до нагрузочного кластера на 5-10 млн. хитов Сербул Александр Руководитель направления контроля качества.
Интернет-магазины, высокие нагрузки, синхронизации бизнес- приложений с веб-системой Александр Сербул Руководитель направления контроля качества интеграции.
Подводные камни разработки – чего делать нельзя Александр Сербул Руководитель направления контроля качества интеграции и
Как улучшить производительность проекта за три шага Шаромов Денис руководитель отдела техподдержки.
Веб-кластер, планы по развитию, распределенный веб-кластер Максим Смирнов ведущий разработчик.
Александр Сербул Руководитель направления контроля качества интеграции и внедрений Создание отказоустойчивых сайтов Александр Демидов Руководитель направления.
Мониторинг веб-проектов: real-time мониторинг и аналитика, поиск ошибок и «боевая» отладка Александр Демидов «1С-Битрикс»
Веб-кластер 1С-Битрикс – примеры работающих проектов Александр Сербул Руководитель направления контроля качества интеграции и внедрений ООО «1С-Битрикс»
ПОРТАЛЬНЫЕ РЕШЕНИЯ Облачные технологии управления.
Платформа разработки высоконагруженного веб-сервиса: инструменты отладки и возможности масштабирования Александр Демидов руководитель направления арендных.
CMS и хостинг Докладчик: Константин Малов Компания : Хостинг-Центр РБК.
Экономика отказоустойчивости веб-проектов Александр Демидов «1С-Битрикс» #FailOverConf.
Что клиенты просят доделать после партнеров Евгений Потапов ITSumma.
Сервисы сетевых операционных систем : web- сервер Seti.ucoz.ru.
СИСТЕМА УЧЕТА И АНАЛИТИКИ ТЕЛЕФОННЫХ ЗВОНКОВ ДОК. ТЕЛЕКОМ Новые возможности эффективного управления бизнесом Москва 2012.
Онлайн-система учета времени и продуктивности персонала.
Использование Amazon Web Services Соболев Д.Н. (ВМИ-115)
Транксрипт:

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

Клиенты чутко реагируют на доступность и скорость веб-проекта – днем … и ночью Вашу веб-систему есть с чем сравнить - Google, Facebook, Twitter … Вас рассматривают «под лупой», обсуждая недостатки в соцсетях и Twitter! А зачем мониторить веб-проекты?

«У них сайт часто зависает и глючит. В делах, видимо, еще больший бардак!» «Они потеряли мои данные. Как скоро их ждать на диске на Горбушке?» У Клиентов обострился вкус на качество веб- систем, они ждут больше и «чтобы побыстрее» А зачем мониторить веб-проекты?

Часть бизнес-процессов компании/проекта завязана на веб-интерфейс – узкое место Чем медленнее веб-админки, тем медленнее работает ваш бизнес Весь офис вышел «покурить»

Отдел продаж в конце месяца – «завесил» 20 образовательных проектов на сутки При начислении зарплаты – сайты открываются по минуте База данных «внезапно» перестала справляться с нагрузкой… Канал просел… Провайдер заглючил… Ой, мощностей не хватает со вчера!

Веб-лицо компании/проекта – должно нравиться и располагать к действию!

Клиент должен ощущать надежность веб-решения, легкость и стиль Красный «кабриолет» Зеленый «лимузин»

Сотрудник/группа эксплуатации – с подлинным техническим образованием Люди либо с опытом, либо … учатся на вашем проекте и Клиентах Админ «Петя» за $500 и телефон подключит, и … сервера настроит Прежде всего - люди

Понимание Unix/Linux изнутри и сетевых протоколов, RFC Способность иногда «программировать» на bash (приветствуется - perl, C и др.) Некий «гибрид» разработчика и администратора «Ищем сисадмина: Windows Visa/7/Free BSD/Open BSD/Net BSD/Solaris/Cisco/IP телефония, С, С++, Java. Умение верстать, JS, разбираться в чужом коде, таскать коробки и работать в Agile команде» Прежде всего - люди

Подход «жертвы»: «Вы скажите, позвоните, напишите, напомните – мы же умные, мы - сделаем». Сделают, но Клиент уже прокатится на «красном кабриолете» «Ой, мы потеряли данные клиентов. Сейчас настроим бэкап» «Сейчас все сделаю и за полдня – все заново протестирую» Стиль работы – «Ослик»

Проактивность. Узнать раньше Клиента о проблеме или одновременно. Скорость. Автоматизировать решение типовых задач – не тянуть резину по 2-3 дня. Системный подход. Не наступать на одни грабли 2 раза подряд. Фиксировать детали аварии. Заглядывать за горизонт. Сбор и анализ трендов, закупка оборудования, увеличение мощностей. Стиль работы – «Штурман»

Дальше – детали и технический хардкор

Наличие свежих бэкапов! Учения по восстановлению из бэкапов – прошли недавно, успешно Доступность «морды» сайтов – снаружи. Желательно из нескольких точек (ping-admin.ru, host-tracker.com …) Срок действия SSL-сертификатов Доступность «админок» – изнутри … Наличие свежих бэкапов! Что мониторим прежде всего?

Nagios ( Zabbix ( Регистрация событий в журнале для аудита и анализа, /SMS – уведомления, свои обработчики событий. Чем мониторим

Заведите машину мониторинга, если проектов много, «копейка рубль бережет» Важно мониторить сам сервер мониторинга из другого ДЦ Чем мониторим

Что мониторить на сервере Базовые тесты сервера – ставим везде Тесты критичного софта – иногда Тесты mysql и другой БД – отдельная интересная тема для DBA «Комплексные» тесты – ставим на машину мониторинга

Базовые тесты сервера Минимум, без которого - ну никак нельзя vmstat

Тесты критичного софта Для критичного софта: считаем число процессов, объем RSS, %CPU, process system/user time

Тесты БД Привожу пример для MySQL

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

Мониторинг операционной системы Очень полезные утилиты: atop, apachetop, innotop atop (

Мониторинг операционной системы apachetop (freecode.com/projects/apachetop) – гистограмма запросов к apache - онлайн

Мониторинг БД innotop (code.google.com/p/innotop)

Мониторинг веб-приложения Лог работы скрипта (>) – обновился за N часов Лог ошибок работы скрипта (2>) – должен быть пуст

Pinba! Плагин для PHP + cпециальный storage для MySQL Онлайн агрегатор хитов UDP-пакеты Тэги позволяют гибко получать информацию о различных показателях веб-приложения Уже установили? Правильно

Мониторинг веб-приложения Число ошибок в хитах за 15 минут - меньше L Макс. время хита (тэга pinba) – меньше M сек. Макс. использование памяти хитом – меньше N МБ Графики рисует простой плагин для munin

Мониторинг веб-приложения Графики рисует простой плагин для munin «Стоимость» хита в процессором времени - pinba

Мониторинг веб-приложения Графики рисует простой плагин для munin Хиты в разрезе - pinba

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

Аналитика Видим, что было Предвидим, что будет Улавливаем тренды Планируем мощности железа Сравниваем настройки софта Веб-система перестает быть черным ящиком, видно ее развитие с течением времени

Аналитика Апачи MaxClients = StartServers = MinSpareServers = MaxSpareServers < 20-30

Аналитика Nginx

Аналитика - MySQL Следите за числом потоков на БД! 100 уже немало

Аналитика - MySQL Кэш запросов иногда эффективнее отключить

Аналитика - MySQL Медленные запросы – часто признак проблемы

Аналитика Память Apache MaxClients MySQL buffers … Нужно «прикинуть» максимальный расход памяти в приложениях и следить за ней

Аналитика Уход в swap. На графике машина - зависла. Скорость работы с диском на несколько порядков ниже. Нужно стараться избегать своппинга.

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

Аналитика Дисковая подсистема iostat

Аналитика Сеть

Аналитика Нагрузка

Аналитика Нагрузка

Аналитика memcached

Действия при аварии Нужно быстро понять – где и как починить Смотрим срабатывание тестов nagios – часто единственный источник информации Смотрим почту от nagios Смотрим логи. Держим заготовленные скипты-парсеры логов на поиск ошибок. Вот тут наливаем чай Смотрим графики munin, базу pinba Если получается, запускаем инструменты поиска узких мест

Инструменты поиска узких мест Apache /server-status Включенные логи медленных запросов php-fpm, nginx, apache, mysql

Инструменты поиска узких мест XHProf, pinba, XDebug

Инструменты поиска узких мест XHProf (github.com/facebook/xhprof) Почти не создает нагрузку на бою Можно быстро найти корень проблемы Полезно автоматически сохранять трейсы долгих страниц … и анализировать их с разработчиками

Инструменты поиска узких мест XDebug (xdebug.org) Cоздает ощутимую нагрузку на бою Можно снимать трейсы выполнения веб-страниц Часто – незаменимый инструмент

Инструменты поиска узких мест Старые, добрые утилиты unix strace gdb gdb –p (gdb) source /src/php /.gdbinit (gdb) dump_bt executor_globals.current_execute_data [0x0252d628] stemming() /var/www/html/bitrix/modules/search/tools/stemming.php:231 [0x0252bc78] stemming() /var/www/html/bitrix/modules/search/classes/mysql/search.php:1090 [0x02525ec8] StemIndex() /var/www/html/bitrix/modules/search/classes/general/search.php:1332 [0x025223f8] Index() /var/www/html/bitrix/modules/iblock/classes/general/iblockelement.php:4857 [0x0251b670] UpdateSearch() /var/www/html/bitrix/modules/iblock/classes/general/iblockelement.php:3295 [0x02519c40] Add() /var/www/html/bitrix/modules/crm/classes/general/crm_webdav_helper.php:486 [0x ] Save Attachment() /var/www/html/bitrix/modules/crm/classes/general/crm_ .php:867 [0x065c2030] MessageAdd() [0x0250fcc8] call_user_func_array() /var/www/html/bitrix/modules/mail/classes/general/mail.php:2477 …

Автоматизация жизнеобеспечения Пишем хандлеры для nagios/zabbix Можно поиграться с Pacemaker Чем проще – тем лучше! С удовольствием пообщаюсь на эту тему в кулуарах

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