artem
16.04.2013
30219

Мониторинг состояния транков

И так, что же нам понадобится для создания такого инструмента?! Совсем немного: знание команд линукса, астериска и чуть-чуть логического мышления.
Если коротко, то скрипт будет работать так:

  1. Смотрит статус транков

  2. Проверяет сколько транков в системе

  3. Ищет проблемные транки и если находит то пробует «починить» их (и отправляет на email оповещение), если все ок то спим спокойно дальше.

Теперь сам скрипт (можно скачать тут)

#!/bin/bash  # Задаем переменные  ALLTRUNKSMINIMUM="`/usr/sbin/asterisk -rx "sip show registry"`" # Смотрим статусы транков  ALLTRUNKS=`echo "$ALLTRUNKSMINIMUM" |grep "SIP registrations" |awk '{print $1}'` # Смотрим сколько всего транков в системе  REGTRUNKS=`/usr/sbin/asterisk -rx "sip show registry" |grep Registered |wc -l` # Зарегистрированные  транки (все транки со статусом Registered)  # Задаем условие  if [ "$REGTRUNKS" -lt "$ALLTRUNKS" ]; then # Если есть хоть один проблемный транк (В одном или более транке встретился статус отличный от Registered) то  sleep 5 # Ждем 5 секунд  echo `/usr/sbin/asterisk -rx "sip reload"` # Делаем sip reload  sleep 5 # Ждем 5 секунд  VAR=`/usr/sbin/asterisk -rx "sip show registry"` # Смотрим статусы транков после проверки  # Уведомляем на почту о том какие статусы стали после проверки  echo "$VAR" | mail -s "Мониторинг транков" your@mail.ru  # Если условие ложно (т.е. с  транками все хорошо)  else  echo “ALL STATUS OK” # Просто выводим что со всеми статусами все хорошо и ничего не делаем больше  fi

Теперь остается добавить скрипт в cron и настроить его на выполнение каждые 2-3 минуты (минимально 1 минута) Как настроить cron можно прочитать например тут
Должно получится примерно следующее, где
*/2 * * * * означает что скрипт будет выполняться каждые две минуты
/usr/local/bin/test.sh директория где находится сам скрипт (убедиться что скрипт имеет права на запуск)
> /dev/null 2>&1 используется для подавления нежелательного вывода в консоль.

И так, мы рассмотрели элементарный скрипт который мониторит статусы транков, и делает sip reload если что-то      не так и сообщает об этом на нужный email.
Основываясь на этом примере, можно создать более сложный скрипт, который будет делать несколько проверок, при чем статусы Request Sent или Auth. Sent в первой проверке он будет считать нормальными и лишь на второй или третей проверке будет делать sip reload для этих статусов. Все зависит от вашей фантазии, можно добавить в скрипт отсылку письма в суппорт вашему оператору, в котором будут необходимые данные из скрипта и заранее подготовленный текст для открытия заявки.

Скрипт можно скачать тут

 
avatar
  Подписаться  
Уведомление о

Остались вопросы?

Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

Why Choose HUGE?

Unlimited pre-designed elements

Each and every design element is designed for retina ready display on all kind of devices

User friendly interface and design

Each and every design element is designed for retina ready display on all kind of devices

100% editable layered PSD files

Each and every design element is designed for retina ready display on all kind of devices

Created using shape layers

Each and every design element is designed for retina ready display on all kind of devices