Организация мониторинга Asterisk PBX | OTUS

Курсы

Программирование
iOS Developer. Basic
-23%
Python Developer. Professional
-13%
Golang Developer. Professional
-17%
Python Developer. Basic
-16%
iOS Developer. Professional
-13%
C# ASP.NET Core разработчик
-18%
Unity Game Developer. Professional
-11%
React.js Developer
-12%
Android Developer. Professional
-7%
Software Architect
-12%
C++ Developer. Professional
-8%
Разработчик C#
-8%
Backend-разработчик на PHP
-8%
Архитектура и шаблоны проектирования
-12%
Программист С Разработчик на Spring Framework MS SQL Server Developer AWS для разработчиков Cloud Solution Architecture Разработчик голосовых ассистентов и чат-ботов Vue.js разработчик VOIP инженер Нереляционные базы данных Супер - интенсив по паттернам проектирования Супер-практикум по использованию и настройке GIT IoT-разработчик Advanced Fullstack JavaScript developer Супер-интенсив Azure
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK
-17%
DevOps практики и инструменты
-18%
Архитектор сетей
-21%
Инфраструктурная платформа на основе Kubernetes
-22%
Супер-интенсив «IaC Ansible»
-16%
Супер-интенсив по управлению миграциями (DBVC)
-16%
Administrator Linux. Professional
-5%
Administrator Linux.Basic
-10%
Супер-интенсив «ELK»
-10%
Базы данных Сетевой инженер AWS для разработчиков Cloud Solution Architecture Разработчик голосовых ассистентов и чат-ботов Внедрение и работа в DevSecOps Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Супер-интенсив «СУБД в высоконагруженных системах»
Специализации Курсы в разработке Подготовительные курсы
+7 499 938-92-02

Организация мониторинга Asterisk PBX

otus_Posts_19may_VK_1000x700_2-20219-6596f2.jpg

Однажды установив программную автоматическую телефонную станцию Asterisk (далее Asterisk PBX), рано или поздно каждый приходит к необходимости выполнять мониторинг не только сервера, но и таких аспектов как: 1. Маркер, что Asterisk PBX отзывается на запросы пользователей. 2. Метрики нагруженности Asterisk PBX как сервиса телефонии. 3. Метрики нагруженности Asterisk PBX как системы (программы).

Далее я вкратце опишу что и каким образом можно посмотреть.

Маркер, что Asterisk PBX отзывается на запросы пользователей

Здесь всё просто — мы можем отправить remote-команду в CLI Asterisk PBX запрос на получение версии Asterisk (asterisk -rx 'core show version') и отслеживать изменение получаемого ответа, а также актуальность информации.

Если взять для примера Zabbix, то в нем возможна следующая ситуация — функция last() будет возвращать корректное значение если в какой-то момент сервис перестанет отвечать или отдавать информацию в формате, который не сможет распознать zabbix-agent.

Это одна из типовых ошибок при построении мониторинга на базе Zabbix, когда системный администратор при создании триггера не проверяет item-ы на предмет отсутствия поступления данных в течение заданного таймера (функция nodata()). Если вы используете другую систему мониторинга — рекомендую проверить алгоритм реакции по умолчанию на подобные ситуации и заблаговременно принять меры по их недопущению.

Метрики нагруженности Asterisk PBX как сервиса телефонии

Здесь я могу порекомендовать ряд команд, которые могут выводить ряд полезной информации: - asterisk -rx 'core show channels concise' — список активных каналов и ряда их параметров с разделителем. Можно парсить с помощью awk для получения каких-то сгруппированных блоков информации для построения графиков в Grafana; - asterisk -rx 'core show calls' — отображает количество активных звонков. Те кто в курсе того, как Asterisk PBX работает со звонками абонентов и считает их — знает, что точность этой цифры может колебаться в пределах от 70% до 100% (реальное число звонков может быть ниже отображаемого из-за особенностей конкретного dialplan-а), однако для получения обобщенной статистики по нагрузке этого в целом достаточно; - asterisk -rx 'sip show registry' — вывод состояния регистрации аккаунтов у внешних провайдеров. - asterisk -rx 'sip show peer PeerName' — вывод информации о конкретном peer-е (в данном примере PeerName). Полезно в комбинации с опцией qualify=yes, чтобы видеть его статус и задержку отклика. Если у вас есть аккаунт без регистрации — его можно проверять через данную команду.

Метрики нагруженности Asterisk PBX как системы (программы)

К данной группе относится намного меньше команд, и что конкретно отслеживать в конкретной ситуации — зависит от ситуации. - asterisk -rx 'core show taskprocessors' — здесь можно посмотреть сколько задач с момента запуска Asterisk PBX было выполнено каждым из модулей (Processed), сколько находится в очереди (In Queue), какой был максимум задач в очереди (Max Depth), а также какие заданы threshold-ы, при достижении которых будут выведены предупреждения в CLI (Low water / High Water). Отслеживать все смысла нет, но посмотреть те модули, которые чаще всего используются и поставить на мониторинг их — будет явно не лишним, чтобы вовремя принять меры по корректировке или откату изменений в настройках Asterisk PBX; - asterisk -rx 'core show threads' — отображает список запущенных thread-ов приложений внутри Asterisk PBX. По большей части информация тут нужна для отладки конкретной аварийной ситуации, но, возможно, вы захотите отслеживать конкретные счетчики по приложениям.

Итого

В целом описанных выше метрик должно быть достаточно для построения мониторинга работоспособности Asterisk PBX, который позволит вовремя среагировать на проблему и локализовать её до конкретного уровня логики или приложения.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться