Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
outlinetrue

Ресурсы

Требования к аппаратному комплексу может отличаться, в зависимости от приложений, которые запущены на сервере либо 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
RabbitMQ5672/tcp

PostgreSQL

5432/tcp
Opensips5060/udp, 5060/tcp, 5061/tcp
FreeSWITCH5080/udp, 5080/tcp
Nginx443/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 протоколов. Это позволить быстрее диагностировать проблемы связанные с качеством и доступностью телефонии.

...