...
Table of Contents | ||
---|---|---|
|
Ресурсы
Требования к аппаратному комплексу может отличаться, в зависимости от приложений, которые запущены на сервере либо VM, а также интенсивности использования проложения. Исправная операционная система, работающая поверх инфраструктуры, имеет решающее значение для поддержания стабильности всего комплекса приложений. Раннее выявление всплесков использования ресурсов, позволяет предотвратить возможные инциденты в будущем.
Ниже приведем ключевые компоненты и рекомендации к мониторингу ресурсов.
База данных
Webitel использует базу данных PostgreSQL, которая выступает единым хранилищем как исторических, так и оперативных данных для всех сервисов.
...
Хорошей практикой является использование репликации базы данных для работы с аналитическими отчётами (Grafana либо другого внешнего сервиса)
Consul и RabbitMQ
Для определения сервисов и обмена сообщениями, сервисы Webitel используют Consul и RabbitMQ. Основные критерии мониторинга ресурсов:
- CPU - Загрузка на каждое ядро CPU не должна превышала 80% дольше 1 минуты.
- RAM - Объем занятой RAM не должен превышать 80%.
- Disk - Как и с базой данных — задержка чтения/записи на диск (disk latency) влияет на быстродействие всего комплекса приложений. Важно не забывать о мониторинге свободного места на диске, которое никогда не должно опускаться ниже 5% от общего объема диска либо меньше 5Gb.
Телефония
Для работы сервисов телефонии Webitel использует несколько приложений, а именно: OpenSIPS, FreeSWITCH и rtpengine. Для всех 3-х критически важным является утилизация процессорного времени.
- CPU - Если загрузка CPU превышать 60% на время дольше 5 минут, то это может негативно сказываться на качестве голоса (металлический голос, искажения, выпадания слов).
- RAM - Загрузка оперативной памяти не должна превышать 80%.
- Disk - Уровень свободного места на диске не должен опускаться меньше 10% от общего объема диска.
Записи разговоров
Хорошей практикой является использование S3 совместимого хранилища под записи разговоров. Если вы используете локальную файловую систему, то рекомендуем мониторить наличие свободного места на диске под записями, которое не должно опускаться ниже 10% от общего объема диска.
Сервисы Webitel
Нижи приводим общие рекомендации для других сервисов Webitel:
- CPU - Загрузка на каждое ядро CPU не должна превышала 80% дольше 5 минут.
- RAM - Загрузка оперативной памяти не должна превышать 90%.
- Disk - Уровень свободного места на диске не должен опускаться меньше 10% от общего объема диска.
Сетевая доступность
Пропускная способность
Пропускная способность сети между серверами на которых развёрнуты все сервисы Webitel должна быть менее 100 Mbps со средним значением ping до 10мс без потерь пакетов.
...
Значение параметра Packet Loss к серверу провайдера телефонии не должно превышать 1%, а задержка не более 50 мс. Если задержка превышает 100мс, возможны проблемы с качеством голоса (искажения фраз либо выпадания слов).
Фильтрация трафика
Все сервисы Webitel должны свободно общаться между собой. Рекомендуем обратиться к документу Webitel Architecture, где описаны детали сетевого взаимодействия.
Порты сервисов
В таблице ниже приведем основные порты, которые необходимо мониторить на доступность:
Приложение | Порты |
---|---|
Consul | 8500/tcp |
RabbitMQ | 5672/tcp |
PostgreSQL | 5432/tcp |
Opensips | 5060/udp, 5060/tcp, 5061/tcp |
FreeSWITCH | 5080/udp, 5080/tcp |
Nginx | 443/tcp |
Доступность сервисов
Важно проверять актуальность SSL сертификата для nginx.
...
webitel-app webitel-uac webitel-api engine
messages-srv messages-bot flow_manager call_center storage
freeswitch ngcp-rtpengine-daemon opensips grafana-server nginx
Мониторинг телефонии
Хорошей практикой является мониторинг SIP и RTP протоколов с помощью Homer. Настройка описана в статье Мониторинт SIP и RTP протоколов. Это позволить быстрее диагностировать проблемы связанные с качеством и доступностью телефонии.
...