Список форумов Asterisk Forum Asterisk Forum
The Asterisk Open Source PBX - Russian Community
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ПравилаПравила   ГруппыГруппы   ИзбранноеИзбранное    LinksСсылки   РегистрацияРегистрация 
 RSSRSS   ПрофильПрофиль   Войти и проверить личные сообщения   ВходВход 

Asterisk и Nagios

 
Список форумов Asterisk Forum -> Библиотека    вывод темы на печать
Предыдущая тема :: Следующая тема  
Автор Сообщение
kinder



Зарегистрирован:
09.04.2008
Сообщения: 77

Статус: Оффлайн 

СообщениеДобавлено: Вт Дек 15, 2009 17:41    Заголовок сообщения: Asterisk и Nagios

И так начнем. Потребовалось мониторить сервисы с помощью nagios, но по мимо мониторинга захотелось получать оповещение о проблемах в сети. Для начало настроил отсылку на почту, но данный способ не понравился, так как пока проверишь почту время утрачено. Тут пришла идея звонить на мобильный....

Что потребовалось.

Сервер! под Linux

•Nagios 3.0.1 использовал EZNAG

•Cepstral Swift 4.X Это для создания фраз(хотя можно и свои поставить)

•Asterisk 1.4.X

Ставим *
Ставим Eznag
Ставим Cepstral Swift
Думаю заморочек не появится...

После изменяем конфиг nagiosa


Создаем контакт

vi /usr/local/nagios/etc/objects/contactst.cfg
Код:

define contact {
        contact_name    kinder
        use     generic-contact
        alias   Nagios Admin
        contactgroups   admins
        host_notifications_enabled      1
        service_notifications_enabled   1
        host_notification_period        24x7
        service_notification_period     24x7
        host_notification_options       d,u,r,f,s
        service_notification_options    w,u,c,r,f,s
        host_notification_commands      notify-host-by-email,notify-host-by-phone
        service_notification_commands   notify-service-by-email,notify-service-by-phone
        email   user@mail.ru
        address2        local/1@test
}

Можно доработать...


После потребуется создать Notification command. Это требуется для того чтоб нам * позвонила...

vi /usr/local/nagios/etc/objects/commands.cfg
Код:
define command{
        command_name notify-host-by-phone
        command_line $USER1$/notify-by-phone.sh $CONTACTADDRESS2$ "Nagios Host Alarm. Notification Type: $NOTIFICATIONTYPE$. Host: $HOSTNAME$. State: $HOSTSTATE$. Address: $HOSTADDRESS$ Info: $HOSTOUTPUT$ Time: $LONGDATETIME$" _host_$HOSTEVENTID$
        }

 

define command{
        command_name notify-service-by-phone
        command_line $USER1$/notify-by-phone.sh $CONTACTADDRESS2$ "Nagios Service Alarm. Notification Type: $NOTIFICATIONTYPE$. Service: $SERVICEDESC$. Host: $HOSTALIAS$. Address: $HOSTADDRESS$. State: $SERVICESTATE$. Time: $LONGDATETIME$. Additional Info: $SERVICEOUTPUT$" _service_$SERVICEEVENTID$
}


НУ а теперь правим настройки *

/etc/asterisk/extensions.conf
Код:
[alarm]
exten => s,1,Answer
exten => s,2,NoOp(alarmid: ${alarmid})
exten => s,3,Playback(/var/spool/alarm/alarm${alarmid})
exten => s,4,Hangup


И так настройки оповещения мы сделали нагиос и * работаю.
Отвлечемся чуть на добавление хостов так как с этим возник затык. Долго не мог добиться того чтоб nagios отрабатывал Notification command.
Так что ниже конфиг для хостов и сервисов


Hosts
Код:

# added by EZNag/Nmap
define host {
        host_name       name
        use     linux-server
        alias   name
        address 192.168.0.1
        check_command   check-host-alive
        max_check_attempts      3
        check_period    24x7
        contacts        kinder
        notification_interval   120
        notification_period     24x7
        notification_options    d,u,r
        notifications_enabled   1
}


Service
Код:
# added by EZNag/Nmap
define service {
        service_description     PING
        host_name       name
        use     local-service
        is_volatile     0
        check_command   check_ping!100.0,20%!500.0,60%
        max_check_attempts      3
        check_period    24x7
        notification_interval   120
        notification_period     24x7
        notification_options    w,u,c,r
        contact_groups  global-admins
}


Обратите внимание на то что host_name должен совпадать в hoste и service///

Далее создаем скрип для создания звонка...


Код:
#!/bin/bash
channel=$1
alarmtext=$2
alarmid=$3

cd /var/spool/alarm
echo $alarmtext > alarm$alarmid.txt
/opt/swift/bin/swift -n Allison-8KHz -f alarm$alarmid.txt -o alarm$alarmid.tmp.wav
/usr/bin/sox alarm$alarmid.tmp.wav -r 8000 alarm$alarmid.ul
/bin/mv -f alarm$alarmid.ul alarm$alarmid.ulaw
/bin/rm alarm$alarmid.tmp.wav

echo "Channel: local/906XXXXXXX@test
MaxRetries: 4
RetryTime: 30
WaitTime: 30
Context: alarm
Extension: s
Priority: 1
callerid:40
Set: alarmid=$alarmid" > alarm1$alarmid.call

echo "Channel: local/8918XXXXXXX@test
MaxRetries: 4
RetryTime: 30
WaitTime: 30
Context: alarm
Extension: s
Priority: 1
callerid:40
Set: alarmid=$alarmid" > alarm2$alarmid.call

echo "Channel: local/8928XXXXXXX@test
MaxRetries: 4
RetryTime: 30
WaitTime: 30
Context: alarm
Extension: s
Priority: 1
callerid:40
Set: alarmid=$alarmid" > alarm3$alarmid.call

/bin/chmod 777 alarm1$alarmid.call
/bin/chmod 777 alarm2$alarmid.call
/bin/chmod 777 alarm3$alarmid.call

/bin/mv alarm1$alarmid.call /var/spool/asterisk/outgoing
/bin/mv alarm2$alarmid.call /var/spool/asterisk/outgoing
/bin/mv alarm3$alarmid.call /var/spool/asterisk/outgoing


Изменение и добавление user для обзвона лучше делать в скрипте. ИМХО

ААА и еще забыл сообшать нам потребуеться sox ну это так же для сбора фраз...

Код:
mkdir /var/spool/alarm
chown nagios.asterisk /var/spool/alarm/

usermod -G nagcmd,asterisk nagios
vim /usr/local/nagios/libexec/notify-by-phone.sh   # (copy and paste above script)
chown nagios.nagios /usr/local/nagios/libexec/notify-by-phone.sh
chmod 750 /usr/local/nagios/libexec/notify-by-phone.sh
vim /usr/local/nagios/etc/objects/contacts.cfg  # (copy and paste above config)
vim /usr/local/nagios/etc/objects/commands.cfg  # (copy and paste above config)
/etc/init.d/nagios reload
vim /etc/asterisk/extensions.conf   # (copy and paste above config)
/etc/init.d/asterisk reload


Выполняем все эти действия! Запускаем, * запускаем nagios/ Тушим любой host и после ждем звонка на мобильник или рабочий телефон.



В статье не стал указывать как настроить план набора для совершения звонка так как каждый его может собрать так как ему нравиться...

С Уважением
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
anest
Модератор


Зарегистрирован:
28.11.2004
Сообщения: 5636

Статус: Оффлайн 

СообщениеДобавлено: Вт Дек 15, 2009 20:15    Заголовок сообщения:

зачёт! Good
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
noize



Зарегистрирован:
29.11.2006
Сообщения: 913
Откуда: Москва

Статус: Оффлайн 

СообщениеДобавлено: Ср Дек 16, 2009 10:21    Заголовок сообщения:

добавлю от себя, что чекать астериск можно с помощью софтинки под названием Sipsak. Она позволяет посылать запросы INVITE и REGISTER, на основе ответов которых можно сообщать нагиусу о работоспособности или сбое астериска.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Skype Name Jabber ID
terminal



Зарегистрирован:
20.11.2008
Сообщения: 219

Статус: Оффлайн 

СообщениеДобавлено: Ср Дек 16, 2009 10:36    Заголовок сообщения:

Using monit Tool to Monitor Asterisk
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
belkin



Зарегистрирован:
05.02.2008
Сообщения: 163
Откуда: Moscow

Статус: Оффлайн 

СообщениеДобавлено: Пт Дек 18, 2009 13:26    Заголовок сообщения:

внесу свои 5 копеек.
также можно очень просто рисовать графики через munin
в дебиане apt-get install munin munin-node и на оф саите посмотреть дополнительные плагины к астеру
чекает:
количество пиров, количество каналов(делит по кодекам), и еще что то.

не центосе почти так же .

пример тут
http://nerdvittles.kicks-ass.net/munin/l ... l#Asterisk
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
kinder



Зарегистрирован:
09.04.2008
Сообщения: 77

Статус: Оффлайн 

СообщениеДобавлено: Сб Дек 19, 2009 12:47    Заголовок сообщения:

Это все реализовано в cacti.
Можно рисовать почти все что нужно.
Могу так же отписать как это реализовал!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
beba



Зарегистрирован:
29.07.2006
Сообщения: 232
Откуда: Беларусь

Статус: Оффлайн 

СообщениеДобавлено: Сб Дек 19, 2009 13:37    Заголовок сообщения:

так же в cacti графики рисую..
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Jabber ID
mihail



Зарегистрирован:
23.11.2009
Сообщения: 42

Статус: Оффлайн 

СообщениеДобавлено: Ср Янв 27, 2010 16:56    Заголовок сообщения:

опишите как реализованно в какти ... подумываю реализовать мониторинг
заранее спасибо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
kinder



Зарегистрирован:
09.04.2008
Сообщения: 77

Статус: Оффлайн 

СообщениеДобавлено: Чт Янв 28, 2010 11:05    Заголовок сообщения:

Вот скрипт для cacti там же есть Templates для cacti. Так же есть небольшая инструкция для установки скрипта и его настройки.
На * требуется добавить user для AMI в файле manager.conf

[user]
secret = user
read = command
write = command
deny = 0.0.0.0/0.0.0.0
permit = 192.168.0.0/255.255.255.0
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
logdog



Зарегистрирован:
01.09.2008
Сообщения: 285

Статус: Оффлайн 

СообщениеДобавлено: Ср Ноя 30, 2011 19:35    Заголовок сообщения:

я вот понять не могу, для аналоговой линии что делать? ...
Мы прослушать сообщение не сможем ... так как оно будет проговариваться в канал, как раз в то время, когда пойдёт звонок ...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
latv



Зарегистрирован:
01.11.2008
Сообщения: 333

Статус: Оффлайн 

СообщениеДобавлено: Чт Дек 01, 2011 09:23    Заголовок сообщения:

Интересно тема развивается. Началось с того, как использовать Астериск в мониторинге, продолжилась тем, как мониторить сам Астериск, а сейчас опять вернулась к использованию астериска =)

В незерегистрированной версии tts движка в начале сгенерированного файла звучит предупреждение. Его можно отрезать =)
Код:
sox /tmp/hello.wav /tmp/hello_cut.wav trim 00:08
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Список форумов Asterisk Forum -> Библиотека Ответить на тему
Страница 1 из 1

Добавить в Избранное

 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
You cannot attach files in this forum
You cannot download files in this forum