Мониторинг доступности сервисов
Мониторинг позволяет автоматически проверять доступность внешних сервисов (HTTP или PING) и при сбоях немедленно уведомлять ответственных голосовым звонком. Система работает в связке с биллингом и телефонией: при обнаружении проблемы 4phone сам позвонит нужному человеку и попросит подтвердить, что инцидент принят.
Как устроен мониторинг
Платформа периодически проверяет указанный URL или хост. Если несколько проверок подряд возвращают ошибку, создается инцидент и запускается цепочка эскалации: звонок по списку ответственных с голосовым сообщением.
Основные сущности:
- Контактные точки определяют, кому звонить и на каком языке.
- Мониторы определяют, что проверять, как часто и как реагировать.
- Инциденты создаются автоматически при серии неудачных проверок.
Контактные точки
Контактная точка привязывает конкретного человека к каналу уведомления. Перед созданием монитора нужно завести хотя бы одну точку.
Поля при создании:
- Название для идентификации контакта в списке.
- Тип: внутренний голосовой (звонок на добавочный номер) или внешний голосовой (звонок на мобильный или городской).
- Язык оповещения: русский или узбекский. Голосовое сообщение будет сгенерировано на выбранном языке.
- Номер: для внутреннего типа выбирается добавочный из списка, для внешнего указывается номер телефона.
- Активность: неактивные контакты не будут использоваться при эскалации.
Важно
Для внутренних звонков оператор должен быть онлайн в софтфоне. Для внешних звонков у тенанта должен быть активный исходящий SIP-транк.
Создание монитора
Монитор определяет цель проверки and правила реакции на сбои.
Основные параметры
- Название для идентификации в списке.
- Тип проверки: HTTP (проверка URL с ожиданием определенного кода ответа) или PING (ICMP-проверка хоста).
- Цель: URL для HTTP (например,
https://example.com/health) или hostname/IP для PING. - Интервал проверки: как часто проверять (минимум 30 секунд).
- Таймаут: максимальное время ожидания ответа.
- Ожидаемый код (только HTTP): какой HTTP-статус считать успешным (по умолчанию 200).
Пороги и поведение
- Порог сбоев: сколько неудачных проверок подряд нужно для открытия инцидента.
- Порог восстановления: сколько успешных проверок подряд нужно для закрытия инцидента.
- Cooldown: минимальное время (в секундах) между повторными уведомлениями по одному монитору.
Привязка SIP-транка
Для голосовых уведомлений монитору нужен привязанный SIP-транк. Через этот транк будут совершаться исходящие звонки при эскалации.
Тексты алерта
Задаются отдельные тексты для русского и узбекского языков. Эти тексты будут озвучены при голосовом звонке. Если текст не задан, система использует шаблон по умолчанию с названием монитора.
Цепочка эскалации
Определяет, в каком порядке и кому звонить при инциденте:
- Контакт: выбор из созданных контактных точек.
- Порядок: определяет очередность звонков.
- Задержка: сколько секунд ждать перед звонком на этот шаг.
- Число повторов: сколько раз повторить попытку, если контакт не отвечает.
Статусы
Монитор
- Здоров (Healthy): последняя проверка прошла успешно.
- Сбой (Failed): последняя проверка вернула ошибку.
Инцидент
- Открыт (Open): обнаружен сбой, уведомления отправляются.
- Подтвержден (Acknowledged): ответственный принял звонок и нажал клавишу 1 для подтверждения.
- Решен (Resolved): сервис восстановился (успешные проверки превысили порог восстановления).
Тестовые URL
Для проверки работы мониторинга 4phone предоставляет набор тестовых эндпоинтов:
api.4phone.uz/api/monitoring/test/status/200возвращает статус 200 (OK).api.4phone.uz/api/monitoring/test/status/500возвращает статус 500 (имитация сбоя).api.4phone.uz/api/monitoring/test/delay/5000задержка 5 секунд (проверка таймаута).api.4phone.uz/api/monitoring/test/random?fail_rate=50случайный ответ (50% сбоев).api.4phone.uz/api/monitoring/test/flapчередование 200 и 503.
Совет
Используйте тестовые URL для первичной настройки. Создайте монитор на status/500, убедитесь, что инцидент создается и звонок поступает, затем переключите на реальный URL.
Как работает голосовое уведомление
При звонке система:
- набирает номер контакта;
- воспроизводит сгенерированное голосовое сообщение;
- просит нажать клавишу 1 для подтверждения инцидента;
- если получатель нажимает 1, инцидент переходит в статус «Подтвержден»;
- если получатель не отвечает или не нажимает 1, система переходит к следующему шагу эскалации.
Проверьте
Голосовые уведомления тарифицируются. Каждый звонок учитывается в биллинге как отдельная операция мониторинга.
Что важно проверить
Перед запуском мониторинга
- создана хотя бы одна активная контактная точка;
- у тенанта есть активный SIP-транк для исходящих звонков;
- транк привязан к монитору;
- цепочка эскалации содержит хотя бы один шаг;
- тестовый URL проверен и инцидент создается корректно;
- получатель знает, что нужно нажать 1 для подтверждения.
Частые проблемы
- Звонок не поступает: проверьте, что SIP-транк активен и привязан к монитору, контакт активен и имеет правильный номер.
- Инцидент не создается: убедитесь, что порог сбоев больше 1, а сервис действительно недоступен.
- Статус не меняется на «Подтвержден»: получатель должен нажать именно клавишу 1 во время звонка.
- «Не удалось подключиться»: проверьте URL/хост, сетевую доступность и DNS.
Следом полезно открыть Как подключить SIP-транк и Частые проблемы и быстрые решения.