Asterisk и Zabbix
Zabbix позволяет мониторить состояние Asterisk. В своей работе я обычно мониторю количество отключенных номеров и состояние транков. Но это только малая часть мониторинга, через UserParameter открывается необъятное поле.
Настройка Zabbix агента.
Для того, чтобы Zabbix мог удаленно выполнять команды на контролируемом сервере, необходимо это разрешить в настройках. В конфигурационном файле zabbix_agentd.conf — параметр AllowRoot необходимо установить значение равное 1.
Мониторинг отключенных номеров.
В конфигурации агента Zabbix прописываем следующее:
1 |
UserParameter=asterisk.offlineclient,asterisk -rx 'sip show peers' | grep 'UNREACHABLE\|UNKNOWN' | wc -l |
В панели Zabbix у узла сети, добавляем триггер со значением:
1 |
{ИмяУзла:asterisk.offlineclient.last()}>=КоличествоРазрешенныхНомеровОфЛайн |
Мониторинг отключенных транков.
В конфигурации агента Zabbix прописываем следующее:
1 |
UserParameter=asterisk.trunks_offline,asterisk -rx "sip show registry" | grep -v "registrations" | grep -v "Reg.Time" | grep Registered | wc -l |
В панели Zabbix у узла сети, добавляем триггер со значением:
1 |
{ИмяУзла:asterisk.trunks_offline.prev()}<=КоличествоТранков |
Дополнительные команды для мониторинга транков:
Количество транков:
1 |
UserParameter=asterisk.trunks_total,asterisk -rx "sip show registry" | grep -v "registrations" | grep -v "Reg.Time" | wc -l |
Количество транков онлайн:
1 |
UserParameter=asterisk.trunks_online,asterisk -rx "sip show registry" | grep -v "registrations" | grep -v "Reg.Time" | grep -v Registered | wc -l |
Остальные команды.
Время работы asterisk:
1 |
UserParameter=asterisk.uptime,asterisk -rx "core show uptime seconds" | grep --text -i "System uptime:" | gawk '{print $3}' |
Статус asterisk:
1 |
UserParameter=asterisk.asterisk_status,ps cax | grep asterisk | wc -l |
Статус fail2ban:
1 |
UserParameter=asterisk.fail2ban_status,ps cax | grep fail2ban | wc -l |
У Вас есть тоже любимая команда для мониторинга? Делитесь в комментарии!