Yet another Asterisk monitoring: поддержка Prometheus

image

Рассмотрим типичный день новоиспеченного asterisk«ера: после чтения тонн мануалов, примеров по установке и настройке Asterisk«a, отправок тысяч сообщений в соответствующие комьюнити-чаты, посылания в Гугл вы наконец-то получили работающий сервер PBX: внутренние пользователи заведены, транки от популярного SIP-провайдера настроены, роутинг есть, и всё вроде бы звонит. Но тут встаёт новый вопрос:, а как всё это мониторить? Как узнать, онлайн ли мои пиры и транки? Сколько у меня текущих звонков? Каков uptime моего Asterisk«a?

Разумеется, на том же Хабре полной статей (статья 1, статья 2, статья N) по мониторингу Asterisk классическими методами: давно излюбленные Zabbix, Nagios, может Voipmonitor.

Но может в 2021 году появился какой-то новый вариант? Может он стильнее/моднее/молодежнее?

Смотрим changelog«и Asterisk«a и видим:


Asterisk 17.0.0
Add native Prometheus support to Asterisk
(Reported by Matt Jordan)

Ура! Вот оно! К тестам!

Собираем Asterisk с поддержкой res_prometheus (выбираем в menuselect resources/res_prometheus).

Настраиваем конфиг /etc/asterisk/prometheus.conf

[general]

enabled = yes

core_metrics_enabled = yes

uri = metrics                   

Не забываем включить http-сервер asterisk.

Добавляем job в настройках прометея (например):

- job_name: 'asterisk_res_prometheus'
    metrics_path: /metrics
    static_configs:
      - targets: ['asterisk_ip:8088']

и смотрим, какие данные прилетают от Asterisk«a:

image

На самом деле нативных метрик от Asterisk«a пока не так и много:


  • общее количество звонков с момента последнего рестарта,
  • текущее количество звонков,
  • текущее количество эндпоинтов,
  • состояния эндопоинтов,
  • количество каналов каждого эндпоинта,
  • количество примитовов типа бридж,
  • данные о ядре Asterisk«a,
  • аптайм Asterisk«a,
  • время последнего релоада.

На данный момент мониторинг с помощью Prometheus «из коробки» вряд ли может соперничать по функционалу с Zabbix/Nagios (ссылка 1 на такое, ссылка N на такое). Но для общего понимания и ознакомления полезно знать, что Астериск умеет поддержку Прометея.

Также ничего не мешает написать свой экспортер для Астериска и отправлять метрики в Прометей (ссылка1 на подобные экспортеры, другая интересная ссылка на подобное).

автор поста — Asterisk’ер компании Southbridge Михаил Комов.

© Habrahabr.ru