Александр Сербул Руководитель направления контроля...
DESCRIPTION
Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр. Александр Сербул Руководитель направления контроля качества интеграции и внедрений. А зачем мониторить веб-проекты?. Клиенты чутко реагируют на доступность и скорость веб-проекта – днем … и ночью - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/1.jpg)
Александр СербулРуководитель направления контроля качества интеграции и внедрений
Мониторинг веб-проектов:штаб оперативного реагирования
и аналитический центр
![Page 2: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/2.jpg)
Клиенты чутко реагируют на доступность и
скорость веб-проекта – днем … и ночью
Вашу веб-систему есть с чем сравнить - Google,
Facebook, Twitter …
Вас рассматривают «под лупой», обсуждая
недостатки в соцсетях и Twitter!
А зачем мониторить веб-проекты?
![Page 3: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/3.jpg)
«У них сайт часто зависает и глючит. В делах,
видимо, еще больший бардак!»
«Они потеряли мои данные. Как скоро их ждать на
диске на Горбушке?»
У Клиентов обострился вкус на качество веб-
систем, они ждут больше и «чтобы побыстрее»
А зачем мониторить веб-проекты?
![Page 4: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/4.jpg)
Часть бизнес-процессов компании/проекта
завязана на веб-интерфейс – узкое место
Чем медленнее веб-админки, тем медленнее
работает ваш бизнес
Весь офис вышел «покурить»
![Page 5: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/5.jpg)
Отдел продаж в конце месяца – «завесил» 20
образовательных проектов на сутки
При начислении зарплаты – сайты открываются по
минуте
База данных «внезапно» перестала справляться с
нагрузкой… Канал просел… Провайдер заглючил…
Ой, мощностей не хватает со вчера!
![Page 6: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/6.jpg)
Веб-лицо компании/проекта – должно нравиться и располагать
к действию!
![Page 7: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/7.jpg)
Клиент должен ощущать надежность веб-решения, легкость и стиль
Красный «кабриолет» Зеленый «лимузин»
![Page 8: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/8.jpg)
Сотрудник/группа эксплуатации – с подлинным
техническим образованием
Люди либо с опытом, либо … учатся на вашем
проекте и Клиентах
Админ «Петя» за $500 и телефон
подключит, и … сервера настроит
Прежде всего - люди
![Page 9: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/9.jpg)
Понимание Unix/Linux изнутри и сетевых
протоколов, RFC
Способность иногда «программировать» на bash
(приветствуется - perl, C и др.)
Некий «гибрид» разработчика и администратора«Ищем сисадмина: Windows Visa/7/Free BSD/Open BSD/Net
BSD/Solaris/Cisco/IP телефония, С, С++, Java. Умение верстать, JS,
разбираться в чужом коде, таскать коробки и работать в Agile
команде»
Прежде всего - люди
![Page 10: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/10.jpg)
Подход «жертвы»:
«Вы скажите, позвоните, напишите, напомните – мы же
умные, мы - сделаем». Сделают, но Клиент уже
прокатится на «красном кабриолете»
«Ой, мы потеряли данные клиентов. Сейчас настроим
бэкап»
«Сейчас все сделаю и за полдня –
все заново протестирую»
Стиль работы – «Ослик»
![Page 11: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/11.jpg)
Проактивность. Узнать раньше Клиента о проблеме или
одновременно.
Скорость. Автоматизировать решение типовых задач – не
тянуть резину по 2-3 дня.
Системный подход. Не наступать на одни грабли 2 раза
подряд. Фиксировать детали аварии.
Заглядывать за горизонт. Сбор и анализ трендов, закупка
оборудования, увеличение мощностей.
Стиль работы – «Штурман»
![Page 12: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/12.jpg)
Стиль работы – «Штурман»
![Page 13: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/13.jpg)
Дальше – детали и технический хардкор
![Page 14: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/14.jpg)
Наличие свежих бэкапов!
Учения по восстановлению из бэкапов – прошли
недавно, успешно
Доступность «морды» сайтов – снаружи. Желательно из
нескольких точек (ping-admin.ru, host-tracker.com …)
Срок действия SSL-сертификатов
Доступность «админок» – изнутри
…
Наличие свежих бэкапов!
Что мониторим прежде всего?
![Page 15: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/15.jpg)
Nagios (www.nagios.org)
Zabbix (www.zabbix.com/ru/)
Регистрация событий в журнале для аудита и анализа, e-mail/SMS –
уведомления, свои обработчики событий.
Чем мониторим
![Page 16: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/16.jpg)
Заведите машину мониторинга, если проектов много, «копейка
рубль бережет»
Важно мониторить сам сервер мониторинга из другого ДЦ
Чем мониторим
![Page 17: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/17.jpg)
Что мониторить на сервере
Базовые тесты сервера – ставим везде
Тесты критичного софта – иногда
Тесты mysql и другой БД – отдельная интересная
тема для DBA
«Комплексные» тесты – ставим на машину
мониторинга
![Page 18: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/18.jpg)
Базовые тесты сервера
Минимум, без которого - ну никак нельзя
vmstat
![Page 19: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/19.jpg)
Тесты критичного софта
Для критичного софта: считаем число процессов, объем RSS, %CPU,
process system/user time
![Page 20: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/20.jpg)
Тесты БД
Привожу пример для MySQL
![Page 21: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/21.jpg)
Мониторинг MySQL
Гистограмма времени обработки запросов (Percona)
![Page 22: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/22.jpg)
Мониторинг операционной системы
Очень полезные утилиты: atop, apachetop, innotop
atop (www.atoptool.nl):
![Page 23: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/23.jpg)
Мониторинг операционной системы
apachetop (freecode.com/projects/apachetop) – гистограмма запросов к apache - онлайн
![Page 24: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/24.jpg)
Мониторинг БД
innotop (code.google.com/p/innotop)
![Page 25: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/25.jpg)
Мониторинг веб-приложения
Лог работы скрипта (>) – обновился за N часов
Лог ошибок работы скрипта (2>) – должен быть пуст
![Page 26: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/26.jpg)
Pinba!
http://pinba.org
Плагин для PHP + cпециальный storage для MySQL
Онлайн агрегатор хитов
UDP-пакеты
Тэги позволяют гибко получать информацию о различных
показателях веб-приложения
Уже установили? Правильно
![Page 27: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/27.jpg)
Мониторинг веб-приложения
Число ошибок в хитах за 15 минут - меньше LМакс. время хита (тэга pinba) – меньше M сек.
Макс. использование памяти хитом – меньше N МБ
Графики рисует простой плагин для munin
![Page 28: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/28.jpg)
Мониторинг веб-приложения
Графики рисует простой плагин для munin
«Стоимость» хита в процессором времени - pinba
![Page 29: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/29.jpg)
Мониторинг веб-приложения
Графики рисует простой плагин для munin
Хиты в разрезе - pinba
![Page 30: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/30.jpg)
Мониторинг веб-приложения
Гистограммы распределения времени хитов, памяти, кодам ответа – из логов (awk-скрипт)
Общая температура «по палате»
![Page 31: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/31.jpg)
Аналитика
Видим, что было
Предвидим, что будет
Улавливаем тренды
Планируем мощности железа
Сравниваем настройки софта
Веб-система перестает быть черным ящиком, видно ее
развитие с течением времени
![Page 32: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/32.jpg)
Аналитика
Апачи
MaxClients = StartServers = MinSpareServers = MaxSpareServers < 20-30
![Page 33: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/33.jpg)
Аналитика
Nginx
![Page 34: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/34.jpg)
Аналитика - MySQL
Следите за числом потоков на БД! 100 уже немало
![Page 35: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/35.jpg)
Аналитика - MySQL
Кэш запросов иногда эффективнее отключить
![Page 36: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/36.jpg)
Аналитика - MySQL
Медленные запросы – часто признак проблемы
![Page 37: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/37.jpg)
Аналитика
Память
Apache MaxClients
MySQL buffers …
Нужно «прикинуть» максимальный расход памяти в приложениях и следить за ней
![Page 38: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/38.jpg)
Аналитика
Уход в swap. На графике машина - зависла.
Скорость работы с диском на несколько порядков ниже. Нужно стараться избегать своппинга.
![Page 39: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/39.jpg)
Аналитика
Дисковая подсистема
![Page 40: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/40.jpg)
Аналитика
Дисковая подсистема
iostat
![Page 41: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/41.jpg)
Аналитика
Сеть
![Page 42: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/42.jpg)
Аналитика
Нагрузка
![Page 43: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/43.jpg)
Аналитика
Нагрузка
![Page 44: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/44.jpg)
Аналитика
memcached
![Page 45: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/45.jpg)
Действия при аварии
Нужно быстро понять – где и как починить
Смотрим срабатывание тестов nagios – часто
единственный источник информации
Смотрим почту от nagios
Смотрим логи. Держим заготовленные скипты-парсеры
логов на поиск ошибок.
Вот тут наливаем чай
Смотрим графики munin, базу pinba
Если получается, запускаем инструменты поиска узких
мест
![Page 46: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/46.jpg)
Инструменты поиска узких мест
Apache /server-status
Включенные логи медленных запросов php-fpm, nginx, apache, mysql
![Page 47: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/47.jpg)
Инструменты поиска узких мест
XHProf, pinba, XDebug
![Page 48: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/48.jpg)
Инструменты поиска узких мест
XHProf (github.com/facebook/xhprof)
Почти не создает нагрузку на бою
Можно быстро найти корень проблемы
Полезно автоматически сохранять
трейсы долгих страниц
… и анализировать их с разработчиками
![Page 49: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/49.jpg)
Инструменты поиска узких мест
XDebug (xdebug.org)
Cоздает ощутимую нагрузку на бою
Можно снимать трейсы выполнения веб-страниц
Часто – незаменимый инструмент
![Page 50: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/50.jpg)
Инструменты поиска узких мест
Старые, добрые утилиты unix
strace
gdbgdb –p 123456
(gdb) source /src/php-5.3.19/.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
[0x02514010] SaveEmailAttachment() /var/www/html/bitrix/modules/crm/classes/general/crm_email.php:867
[0x065c2030] EmailMessageAdd()
[0x0250fcc8] call_user_func_array() /var/www/html/bitrix/modules/mail/classes/general/mail.php:2477
…
![Page 51: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/51.jpg)
Автоматизация жизнеобеспечения
Пишем хандлеры для nagios/zabbix
Можно поиграться с Pacemaker
Чем проще – тем лучше!
С удовольствием пообщаюсь на эту
тему в кулуарах
![Page 52: Александр Сербул Руководитель направления контроля качества интеграции и внедрений](https://reader035.vdocuments.net/reader035/viewer/2022081421/56815ab8550346895dc87136/html5/thumbnails/52.jpg)
Спасибо за внимание! Вопросы?
Александр Сербул
@AlexSerbul