Подключаем FreePBX через zabbix-agent к zabbix 6.x
Привет. Сегодня покажу как я подключаю сервера с freePBX к zabbix агенту, чтобы работал шаблон asterisk by http
Ставим zabbix-agent на freepbx
Под Centos 6.6
rpm -Uvh http://repo.zabbix.com/zabbix/6.4/rhel/6/x86_64/zabbix-agent-6.4.7-release1.el6.x86_64.rpm
yum -y instal zabbix-agent
Под Centos 7
rpm -Uvh http://repo.zabbix.com/zabbix/6.4/rhel/7/x86_64/zabbix-agent-6.4.7-release1.el7.x86_64.rpm
yum -y install zabbix-agent
rpm -Uvh http://repo.zabbix.com/zabbix/6.4/rhel/6/x86_64/zabbix-agent-6.4.7-release1.el6.x86_64.rpm
yum -y instal zabbix-agent
Под Centos 7
rpm -Uvh http://repo.zabbix.com/zabbix/6.4/rhel/7/x86_64/zabbix-agent-6.4.7-release1.el7.x86_64.rpm
yum -y install zabbix-agent
Настраиваем zabbix-agent на подключение к zabbix серверу
У меня все freepbx находятся вне сети zabbix сервера
nano /etc/zabbix/zabbix_agentd.conf
Изменяем параметры значений
#Кому можно подключаться к zabbix-agent пишем IP zabbix сервера и/или локальной сети
Server=176.176.176.176,192.168.0.0/24
#Порт на котором будет висеть zabbix-agent и ждать подключения
ListenPort=10050
#Указываем ip zabbix сервера
ServerActive=176.176.176.176
#Указываем имя этого zabbix-agent которое будет потом в zabbix-server
Hostname=sip.blabla.ru
Изменяем параметры значений
#Кому можно подключаться к zabbix-agent пишем IP zabbix сервера и/или локальной сети
Server=176.176.176.176,192.168.0.0/24
#Порт на котором будет висеть zabbix-agent и ждать подключения
ListenPort=10050
#Указываем ip zabbix сервера
ServerActive=176.176.176.176
#Указываем имя этого zabbix-agent которое будет потом в zabbix-server
Hostname=sip.blabla.ru
Настраиваем авто регистрацию на Zabbix сервер ( полезно если несколько freepbx у вас и лень заводить руками) Можно пропустить.
Идем в вебморду zabbix сервера. Alerts-Actions-Autoregistration actions.
Создаем новое действие. Добавляем маску по которой будет искать совпадение по параметру в zabbix-agent hostname=
Создаем новое действие. Добавляем маску по которой будет искать совпадение по параметру в zabbix-agent hostname=
Назначаем действие, что делать если найдено совпадение. Назначаем шаблоны по которым будем мониторить.
Настраиваем теперь freePBX
Подключаемся по ssh к freePBX изменяем конфиг /etc/asterisk/manager.conf
Изменяем и добавляем, если у вас не так в секцию [general]
bindaddr = 0.0.0.0
webenabled=yes
Изменяем и добавляем, если у вас не так в секцию [general]
bindaddr = 0.0.0.0
webenabled=yes
Идем в вебморду Settings-Asterisk manager users
Добавляем нового менеджера
Назначаем ему права и сохраняем
Идем в Setting-advanced settings
Включаем Asterisk builtin mini-HTTP server
Настраиваем firewall freePBX и открываем порт zabbix-agent
Детально настройку firewall на freePBX я расписывал в этом посту
Добавляем IP zabbix сервера (если вы не в одной сети), если в одной сети, то у вас локалка уже должна быть в исключениях и вы пропускаете этот пункт.
в Connectivity - Firewall - Networks
176.176.176.176 и назначаем зону Other (Other traffic)
Далее в боковом меню Services-Custom Services
Добавляем порт Zabbix-agent в моем случае 10050 и назначаем зону other. Жмем на зеленую галочку чтобы применилось.
Добавляем порт 8088 mini-http сервера asterisk и назначаем зону other. Жмем на зеленую галочку чтобы применилось.
Добавляем IP zabbix сервера (если вы не в одной сети), если в одной сети, то у вас локалка уже должна быть в исключениях и вы пропускаете этот пункт.
в Connectivity - Firewall - Networks
176.176.176.176 и назначаем зону Other (Other traffic)
Далее в боковом меню Services-Custom Services
Добавляем порт Zabbix-agent в моем случае 10050 и назначаем зону other. Жмем на зеленую галочку чтобы применилось.
Добавляем порт 8088 mini-http сервера asterisk и назначаем зону other. Жмем на зеленую галочку чтобы применилось.
Если вы в одной сети с freePBX, то зона у вас должна быть Local на эти порты выбрана
Перезапускаем manager freePBX и перезапускаем zabbix-agent
Подключаемся по ssh к freePBX и выполняем команды:
Asterisk -rx"manager reload"
systemctl restart zabbix-agent
Asterisk -rx"manager reload"
systemctl restart zabbix-agent
Если у вас FreePBX находится за роутером и zabbix сервер стоит не в той же сети, то вам еще необходимо на роутере пробросить порт 10050 на freePBX, чтобы работал активный мониториг.
Возвращаемся в Zabbix сервер
К этому моменту у вас уже zabbix-agent должен был отправить инфу о своем существовании на zabbix сервер и хост должен был создаться.
Проверяем и изменяем параметры хоста в zabbix сервер
Смотрим что все шаблоны назначены Data collection - host
Добавляем макрос чтобы заработало все. Data collection host - sip.blabla.ru - Macros
http://176.176.176.175:8088/rawman
где 176.176.176.175 белый IP FreePBX
Если freePBX и zabbix сервер в одной сети, тогда:
http://192.168.0.242:8088/rawman
где 192.168.0.242 - локальный IP FreePBX
http://176.176.176.175:8088/rawman
где 176.176.176.175 белый IP FreePBX
Если freePBX и zabbix сервер в одной сети, тогда:
http://192.168.0.242:8088/rawman
где 192.168.0.242 - локальный IP FreePBX
Проверяем что в latest data прогрузились значения от asterisk
Идем Monitoring - Latest data. Фильтруем по host и смотрим значения.
Если все, то должно быть так:
На этом настройка закончена. Всем успехов.