Zabbix - мониторинг Asterisk
Реклама
Привет Всем любителям Asterisk и/или Zabbix и тем, кто только собирается с ними познакомиться! Предлагаем Вашему вниманию очередной “воспроизводимый в домашних условиях” вебинар. Давайте посмотрим, какие интерфейсы предлагает Asterisk для мониторинга и как подключить их к Zabbix. Так же, будет бонус для любителей Prometheus
Техническое задание
Развернуть Zabbix и Asterisk в сети предприятия
Настроить интерфейсы Asterisk для подключения Zabbix
Настроить интерфейсы Asterisk для подключения Prometheus
Запись вебинара
Методическая подготовка
Шаг 1. Что у нас есть для начала
Импортируем VM из образа
Ubuntu24, подключаем мостом к локальной сети, добавляем 2GB RAM, запускаем, выясняем IP и подключаемся через SSH
Шаг 2. Разворачиваем Asterisk
Шаг 3. Разворачиваем Zabbix
Шаг 4. Мониторинг Asterisk через шаблон "Asterisk by HTTP"
IP=192.168.M.N
wget "http://$IP:8088/rawman?action=login&username=admin&secret=admin" --save-cookies cookies.txt -q -O -
wget "http://$IP:8088/rawman?action=ping" --load-cookies cookies.txt -q -O -
wget "http://$IP:8088/rawman?action=logoff" --load-cookies cookies.txt -q -O -
В Zabbix добавляем узел Asterisk с IP 192.168.M.N, назначаем шаблон “Asterisk by HTTP”, устанавливаем значение макросов, проверяем значения в “Latest data”
{$AMI.HOST}: 192.168.M.N
{$AMI.URL}: http://192.168.M.N:8088/rawman
{$AMI.USERNAME}: admin
{$AMI.SECRET}: admin
Шаг 5. Мониторинг Asterisk через Zabbix Agent
Решение прислал Кузьмин Алексей Михайлович
# cat /etc/zabbix/zabbix_agentd.d/my.conf
Server=172.16.238.3
UserParameter=asterisk.activecalls,sudo /usr/sbin/asterisk -x "core show channels" | grep "active call" | awk '{print $1}'
UserParameter=asterisk.processedcalls,sudo /usr/sbin/asterisk -x "core show channels" | grep "calls processed" | awk '{print $1}'
UserParameter=asterisk.lines[*],sudo /usr/sbin/asterisk -x "core show channels" | grep '^$1' | wc -l
Шаг 6. Мониторинг Asterisk через Prometheus
# cat /etc/asterisk/prometheus.conf
...
enabled = yes
...
# curl http://$IP:8088/metrics
...
asterisk_calls_count
...
asterisk_endpoints_channels_count
...
# cat /etc/prometheus/prometheus.yml
...
- job_name: asterisk
metrics_path: /metrics
static_configs:
- targets: ['192.168.M.N:8088']
Asterisk integration for Grafana Cloud