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

Организация мониторинга 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 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто