Главное о кейсе
· Уведомления из разных источников в одну ленту
Быстрое подключение сообщений из нескольких источников (таких как Zabbix, Rancher, Teamcity, Jenkins и др.) в тематические каналы позволяет отслеживать не только состояние отдельных компонентов, но и ИТ-инфраструктуру в целом, включая работу сайта, облачных приложений и сервисов, и быстро реагировать на возникающие сбои.
· Множество подписчиков в одном канале
Подписка на тематические ленты как отдельных специалистов, так и целых команд — по прямой ссылке. Каждый подписчик может выбрать удобные ему способы получения уведомлений — от Slack и Microsoft Teams до SMS и голосовых вызовов — и подключить их самостоятельно в один клик.
· Настройка графика дежурств
Распределение уведомлений между членами команды по важности того или иного события, типам сообщений и рабочему времени позволяет составлять график дежурств для круглосуточного мониторинга и техподдержки, оперативно оповещать нужных специалистов (даже ночью) и быстро устранять возникающие сбои.
· Поддержка существующих систем
Апгрейд устаревших систем и расширение возможностей ранее настроенных решений благодаря подключению новых каналов отправки уведомлений, таких как мессенджеры, SMS или оповещения по телефону. Для этого не нужно создавать боты или писать код, дополнительная настройка системы также не требуется — достаточно просто добавить новый email в список рассылки.
***
- Notifications from different sources in one feed
Fast connection of messages from several sources (such as Zabbix, Rancher, Teamcity, Jenkins, etc.) to thematic channels allows to monitor not only the state of individual components, but also the IT infrastructure as a whole, including the operation of the site, cloud applications and services, and quickly respond to emerging failures.
- Multiple subscribers in one channel
Subscription to thematic feeds for both individual specialists and entire teams - via a direct link. Each subscriber can choose the most convenient way to receive notifications - from Slack and Microsoft Teams to SMS and voice calls - and enable them in one click.
- Setting up a duty schedule
Distribution of notifications among the team members by importance of an event, types of messages and working time allows to create a duty schedule for round-the-clock monitoring and technical support, quickly notify the right specialists (even at night) and quickly eliminate emerging failures.
- Support for existing systems
Upgrade legacy systems and expand the capabilities of previously configured solutions by connecting new channels for sending notifications, such as instant messengers, SMS or phone notifications. There’s no need to create bots or write code for this, no additional system configuration is required - you just need to add a new email to the mailing list.
Бизнес-задача и ее решение
Мы заметили, что многие готовые продукты имеют встроенные средства контроля состояния системы и отправки уведомлений, но возникала проблема: большинство из них работают лишь по одному стандартному сценарию, который не позволяет полностью кастомизировать параметры получения оповещений. Например:
уведомления отправляются преимущественно по электронной почте, реже — в мессенджеры, но для этого обычно требуется написать соответствующий скрипт или создать чат-бота;
чаще всего уведомления получает вся команда, даже когда у сотрудников случается выходной, отпуск или больничный, и как следствие — раздражение от постоянных оповещений в нерабочее время, снижение скорости реагирования на инциденты из-за отсутствия адресного оповещения нужных специалистов;
сложно или невозможно настроить способ получения оповещений о сбоях в зависимости от времени суток и уровня приоритета инцидента — например, в дневное время читать сообщения в электронной почте или мессенджере, а ночью — информацию о критически важных проблемах, требующих оперативного реагирования, удобно получать посредством телефонного звонка.
Notify.Events же позволяет пользователям интегрировать большинство важных уведомления, создавать тематические ленты, подключать к ним коллег, настраивать степень важности сообщений, выбирать каналы их получения.
***
We noticed that many of the ready-made products have built-in system status monitoring and sending notifications, but there was a problem: most of them work only under one standard scenario, which does not allow to fully customize the parameters for receiving notifications. For example:
- Notifications are mainly sent by email, less often to messengers, but but this usually requires writing an appropriate script or creating a chat bot;
- Most often the entire team receives notifications, even when employees have a day off, vacation or sick leave, and as a result - irritation from constant notifications outside working hours, reduced speed of response to incidents due to lack of targeted notification of the right specialists;
- It is difficult or impossible to configure the way of receiving notifications about failures depending on the time of day and the priority level of the incident - for example, during the daytime it is possible to read messages in e-mail or messenger, and at night it is convenient to receive information about critical issues that require a quick response by phone.
Notify.Events, on the other hand, allows users to integrate most of the important notifications, create thematic feeds, connect colleagues to them, adjust the importance of messages, and choose the channels for receiving them.
Прочая информация о кейсе
Notify.Events — удобный сервис для управления оповещениями из разных источников. Получайте уведомления откуда угодно и куда удобно.
Сервис особенно полезен:
- IT-отделам и системным администраторам — для мониторинга стабильной работы оборудования и высоконагруженных систем и быстрого реагирования в случае сбоев;
- командам разработчиков и DevOps — для управления проектами и совместной работы при сборке, тестированию и отладке релиза.
- пользователям умных домов и IoT — для своевременного реагирования на оповещения, поступающих с IoT-устройств, — например, о звонке в дверь, превышении уровня CO2 в помещении, тревожных сигналах от систем видеонаблюдения или иных событиях.
***
Notify.Events is a convenient service for managing notifications from different sources. Receive notifications from anywhere and wherever it is convenient.
Notify.Events is especially useful for:
- IT departments and system administrators - to monitor the stable operation of equipment and high-load systems and to respond quickly in case of failures;
- development teams and DevOps - for project management and collaboration while building, testing and debugging a release.
- smart home and IoT users - to respond in a timely manner to notifications from IoT devices, such as a doorbell, indoor CO2 level exceeding, alarms from video surveillance systems or other events.
Скриншоты
Комментарий заказчика
Notify.Events - это сервис, построенный из расчета постоянно повышающейся нагрузки и высокой отказоустойчивости. Кластеризация на основе Kubernetes, динамическое горизонтальное масштабирование в основе инфраструктуры сервиса и проработанная микросервисная архитектура позволили получить необходимы показатели. Сам сервис придерживается концепции адаптации и универсализации передаваемых данных. Шаблонизация входящих потоков позволяет адаптироваться к любому источнику данных, будь то REST API, RSS-поток или SOAP-запрос. Организация очередей и распределение этапов обработки сообщений в сервисе позволила масштабировать обработку сообщений и аккумулировать ресурсы в тех местах, где это особенно важно.
***
Notify.Events is a service built with ever-increasing load and high availability in mind. Kubernetes-based clustering, dynamic horizontal scaling at the heart of the service infrastructure and a sophisticated microservice architecture made it possible to obtain the necessary metrics. The service itself adheres to the concept of adapting and universalizing the transmitted data. Inbound templating allows you to adapt to any data source, be it a REST API, RSS feed, or SOAP request. The organization of queues and the distribution of stages of message processing in the service allowed scaling message processing and accumulating resources in places where it is especially important.