Updated document.txt

weirded authored
revision ee301b3633a504f94bf7bd80ffa4f6f937329063
document
# Приветствие
Добрый день, уважаемые члены комиссии!

Представленная мной работа - разработка системы мониторинга для серверов обслуживаемых организаций. Название звучит довольно сложно, если не знать как устроена компания, для которой эта система разрабатывалась.

# Структура предметной области

Итак, компания Carbon Soft занимается разработкой программного обеспечения для интернет-провайдеров и его распространением. Модель монетизации - ежемесячная подписка, включающая в себя доступ к обновлениям ПО и техническую поддержку, есть несколько уровней подписки, включающие в себя различные опции (доступ к телефону круглосуточной технической поддержке, приоритет в реализации пожеланий, помощь в настройке оборудования и так далее).

В компании имеются отделы маркетинга, продаж, технической поддержки и разработки. С разработанной системой работают в основном отдел технической поддержки и команда разработки проекта Carbon Reductor.

Техническая поддержка ведётся в основном с помощью системы хелпдеска, интегрированной с используемой в компании CRM. В ней обоими сторонами (клиенты/сотрудники Carbon Soft) могут создаваться заявки. В нерабочее время для части клиентов доступен телефон круглосуточной техподдержки с дежурным инженером, который может при необходимости связаться и попросить помощь у разработчиков продуктов.

Carbon Reductor - это система фильтрации трафиков для интернет-провайдеров, требующая крайне стабильной работы. Неполадки в её работе могут привести к штрафам от Роскомнадзора, для использующих её интернет-провайдеров, а получение таких штрафов безусловно скажется на их лояльности к Carbon Soft, что крайне нежелательно и чревато убытками.

Когда клиенты стали получать первые штрафы, а часть из них отказалась от продукта (и перестала платить деньги) было решено - Carbon Soft должен сделать всё, чтобы:

1. возникало гораздо меньше проблем
2. поскольку избавиться от всех проблем невозможно, возникающие проблемы должны устраняться сразу после обнаружения

Тогда и было решено реализовать данную систему мониторинга.

# Функциональная модель.

Сейчас схема работы с возникающими на серверах клиентов выглядит следующим образом. Сотрудники клиент, либо система автодиагностики обнаруживает проблему, формирует её и сообщает о ней в хелпдеск, создавая заявку, которая затем решается.

Система автодиагностики анализирует множество параметров и отправляет полученные данные в систему мониторинга. Раньше система диагностики сообщала о найденных проблемах сотрудникам провайдера и технической поддержки по электронной почте. Письма терялись или удалялись по ошибке, их становилось всё больше, проблемы оставались незамеченными, сообщения от платящих клиентов были перемешаны с неплатильщиками и тестирующими систему.

# Состав и структура ПО.

Сейчас система мониторинга состоит из четырёх модулей.
- **Система сбора данных** отсеивает поступающие данные от незарегистрированных серверов и сохраняет/обновляет данные от зарегистрированных.
- **Модуль анализа данных** проверяет время поступления данных и при устаревании более чем на два часа помечает наблюдаемый сервер как неисправный.
- **Модуль отправки уведомлений** раз в час для всего списка неисправных серверов, работа которых важна для Carbon Soft создаёт заявки в хелпдеске, обращаясь к специально доработанному для этого модулю CRM.
- **Веб-интерфейс** - позволяет просмотреть подробные данные по конкретному серверу, а также различные отчёты - список неисправных серверов, используемых в настоящее время версий продукта, а также различную статистику связанную с прибылью и вероятными потерями при отказе пользователей с неисправными серверами от продукта. Также содержит API, предоставляющее различные цифровые метрики, используемое системой аналитики.