Мониторинг
Download
1 / 52

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


  • 164 Views
  • Uploaded on

Мониторинг веб-проектов: штаб оперативного реагирования и аналитический центр. Александр Сербул Руководитель направления контроля качества интеграции и внедрений. А зачем мониторить веб-проекты?. Клиенты чутко реагируют на доступность и скорость веб-проекта – днем … и ночью

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

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


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Мониторинг веб-проектов:штаб оперативного реагированияи аналитический центр

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

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


А зачем мониторить веб-проекты?

  • Клиенты чутко реагируют на доступность и скорость веб-проекта – днем … и ночью

  • Вашу веб-систему есть с чем сравнить - 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(www.nagios.org)

  • Zabbix (www.zabbix.com/ru/)

  • Регистрация событий в журнале для аудита и анализа, e-mail/SMS – уведомления, свои обработчики событий.


Чем мониторим хардкор

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

  • Важно мониторить сам сервер мониторинга из другого ДЦ 


Что мониторить на сервере хардкор

  • Базовые тесты сервера – ставим везде

  • Тесты критичного софта – иногда

  • Тесты mysql и другой БД – отдельная интересная тема для DBA

  • «Комплексные» тесты – ставим на машину мониторинга


Базовые тесты сервера хардкор

  • Минимум, без которого - ну никак нельзя

vmstat


Тесты критичного софта хардкор

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


Тесты БД хардкор

  • Привожу пример для MySQL


Мониторинг хардкорMySQL

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


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

Очень полезные утилиты: atop, apachetop, innotop

atop (www.atoptool.nl):


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

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


Мониторинг БД хардкор

innotop (code.google.com/p/innotop)


Мониторинг веб-приложения хардкор

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

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


Pinba хардкор!

  • http://pinba.org

  • Плагин для PHP + cпециальныйstorage для MySQL

  • Онлайн агрегатор хитов

  • UDP-пакеты

  • Тэги позволяют гибко получать информацию о различных показателях веб-приложения

  • Уже установили? Правильно 


Мониторинг веб-приложения хардкор

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

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

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

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


Мониторинг веб-приложения хардкор

«Стоимость» хита в процессором времени - pinba

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


Мониторинг веб-приложения хардкор

Хиты в разрезе - pinba

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


Мониторинг веб-приложения хардкор

Гистограммы распределения времени хитов, памяти, кодам ответа – из логов (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 123456

  • (gdb) source /src/php-5.3.19/.gdbinit

  • (gdb) dump_btexecutor_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 …


Автоматизация жизнеобеспечения хардкор

  • Пишем хандлеры для nagios/zabbix

  • Можно поиграться с Pacemaker

  • Чем проще – тем лучше!

  • С удовольствием пообщаюсь на эту тему в кулуарах 


Спасибо хардкорза внимание!

Вопросы?

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

[email protected]

@AlexSerbul


ad