Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Как узнать, что Астериск упал?

3

Привет! У меня стоит * на FreeBSD. Пробовал такой скрипт, чтобы пришло сообщение о том, что * упал. По началу все было ок, потом даже когда * работал, сообщения валились на почту.

!/usr/local/bin/bash

if ! ps aux | grep asterisk | grep -v grep; then echo "It's down!! AAA!!" | mail -s "Asterisk down!" "mail@mail.com" fi

Есть еще варианты, как проверять работает и * и как-то информировать меня, если не работает?

удалить закрыть спам изменить тег редактировать

спросил 2011-01-24 13:31:57 +0400

erizo Gravatar erizo
71 10 3 11
http://www.telefant.ee/

Comments

А если упала системма или железка, то кто тебе отправит письмо !?!?!? Тут глобальней смотреть нужно.... amonra ( 2011-01-24 15:16:08 +0400 )редактировать
Ну на сервантах или Embedded железках обычно WatchDog есть, просто можно чекать - перегружали систему аварийно, астер был незатушен итп. А так еще через AMI можно просто заходить из другого процесса.. Zavr2008 ( 2011-01-26 22:15:04 +0400 )редактировать

11 Ответов

0
ссылка удалить спам редактировать

ответил 2011-03-19 14:59:24 +0400

AMind Gravatar AMind
1
0

Используйте технологию Intel V-Pro, можете удаленно включать и выключать машину и не только.

ссылка удалить спам редактировать

ответил 2011-01-27 15:35:38 +0400

Sherkhan Gravatar Sherkhan
155 14 3 15

Comments

WDT не заменит, как резервный вариант - да.. Zavr2008 ( 2011-01-27 16:23:01 +0400 )редактировать
0

Может стоит разобраться вообще с причиной почему падает? Вообще это не есть нормально IMHO.. Скажем запустить через strace хотяб.

ссылка удалить спам редактировать

ответил 2011-01-27 14:34:35 +0400

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2886 11 9 40
http://mh.otx.ru/
0

логика такая

[test]

exten => s,1,Answer

exten => s,2,Playback(testfile.wav)

exten => s,3,Wait(1)

exten => s,3,Hangup


[test2]

exten => s,1,Set(CDR(userfield)=${uniq_key})

exten => s,2,Record(testfile2.wav)

exten => s,3,Hangup

дальше генриться кол файлик звоняший с одного на другой, с переменной uniq_key, через 20 секунд проверятся в базе наличие cdr за последние 5 минут с этим userfield. если нету, проверяеться еше раз через 2 сек, и пишется писмецо, а астриск убиваеться через kill -9.

по возможности звониться с одного на другой контекс через внешний сервер(проверяеться sip). после чего скрипт проверяет файлик на наличие в нем звука(тест файлик выдает две ноты по 5 секунд каждая, проверка елементарная на наличие уровней в фалике).

тоесть, вы проверили 1) астриск совершает звонки 2) внешние каналы работают 3) звук идет.

ссылка удалить спам редактировать

ответил 2011-01-25 13:40:02 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

обновил 2011-01-25 13:41:33 +0400

1

ну раз все так бурно взялись за правильный мониторинг то тогда использовать надо Zabbix
Его можно натравить на мониторинг
1) Процесса
2) порт 5060 , 5038 ....
3) количество запущенных процессов asterisk
и конечно посылать уведомления(SMS, jabber, email)
X-lite тихо курит по сравнению с zabbix-ом :)

ссылка удалить спам редактировать

ответил 2011-01-25 10:53:48 +0400

alexcr Gravatar alexcr
3124 10 9 51
http://asterisk-service.c...

Comments

ага, на сервер с десятком абонентов ставить zabbix. йа плакалъ switch ( 2011-01-25 11:04:55 +0400 )редактировать
zabbix желательно ставить на другой сервак, и как обычно мониторить приходится не только asterisk а еще много других сервисов и приложений которые используются в компаний. alexcr ( 2011-01-25 11:24:50 +0400 )редактировать
не много ли, два сервака на 10 абонентов? ;) switch ( 2011-01-25 11:35:25 +0400 )редактировать
много или мало решать админу. alexcr ( 2011-01-25 11:38:49 +0400 )редактировать
Он у меня и так стоит, но есть одно НО - Забикс не умеет отслеживать ситуацию, когда астериск отожрал одну голову и повис - в такой ситуации порты отвечают, но при попытке выполнить регистрацию или совершить звонок - в ответ тишина, так что , мало того что, одно другому не мешает, но оно еще друг друга и дополняет. Сейчас курю с нашим забиксоидом, как сделать плагин, на основе моих поделий что бы отслеживал состояне собсно самого астериска. CheeZ ( 2011-01-25 12:26:49 +0400 )редактировать
я видел что есть готовые скрипты для вывода списка регистраций и узеров, может их использовать ? или у тебя register остается когда подвисает астер ? Да кстати а не лучше разобраться почему он виснет :) alexcr ( 2011-01-25 12:43:45 +0400 )редактировать
Виснет когда авая начинает зафлуживать пустыми РПТ-пакетами (не знаю что у этого Г в мозгах затикает, но когда это случается, то приходится дергать плату) , регистрации которые уже были на тот момент в таком варианте висят до последнего издоха, дохнет он в таком случае довольно долго, а вот новые обычно отбрасываются по таймауту, как ни странно, monast в таких условиях показывает что все тип-топ, так что думаю это явно не лишнее. CheeZ ( 2011-01-25 14:34:10 +0400 )редактировать
подпишусь за zabbix, у меня есть пара заббикс серверов на которые я завожу клиентские (ну или дружеские) сервера и там мониторю. помимо стандартных чеков процесс/порт вешаются еще и клиентсайд скрипты. shakirov ( 2011-03-20 01:54:54 +0400 )редактировать
А насчет натравить на порт 5060. Заббикс ведь не поддерживает udp.listen erizo ( 2011-04-04 16:24:50 +0400 )редактировать
-1

По мне так мой вариант и вариант с x-Lite более информативен, т. к. в случае подвисания астериска (бывает такое) , клиент зафиксирует отсутствие регистрации, а мониторинг по процессу нет.

ссылка удалить спам редактировать

ответил 2011-01-25 10:41:23 +0400

CheeZ Gravatar CheeZ
1205 7 6 25
0

cat /usr/sbin/safe_asterisk

#!/bin/sh
# vim:textwidth=80:tabstop=4:shiftwidth=4:smartindent:autoindent

CLIARGS="$*"                            # Grab any args passed to safe_asterisk
TTY=9                                           # TTY (if you want one) for Asterisk to run on
CONSOLE=yes                                     # Whether or not you want a console
NOTIFY= mail@mail.ru  # Who to notify about crashes
#EXEC=/path/to/somescript       # Run this command if Asterisk crashes
MACHINE=`hostname`                      # To specify which machine has crashed when getting the mail
DUMPDROP=/tmp
SLEEPSECS=4
ASTSBINDIR=/usr/sbin
ASTPIDFILE=/var/run/asterisk.pid

по моему так проще

ссылка удалить спам редактировать

ответил 2011-01-24 19:28:47 +0400

alexcr Gravatar alexcr
3124 10 9 51
http://asterisk-service.c...
0
  1. safe_asterisk
  2. Что-то типа такого
ссылка удалить спам редактировать

ответил 2011-01-24 19:15:39 +0400

samael28 Gravatar samael28
211 2 6
http://odicom.com.ua/
0

я делаю напримепр так линфон стоит на временирегистрации 60 секунд, дальше ве оч просто nohup linphonec > /var/log/aststat &

и скриптик такого вида

!/bin/bash

a=1

while (($a > 0))

do

cat /dev/null > /var/log/aststat

sleep 60

cat /var/log/aststat|grep successful > v3

ARGS=2 

cmp v3 v5 &> /dev/null

if [ $? -eq 0 ]         

then

    cat /dev/null

else

        echo "Alarm" (ну здесь может быть что угодно - отправка письма, смс, играние похоронного марша и т. д.) 

fi

Да... еще кое что при первом старте скрипта, над выдрать строку linphonec> Registration on sip:X.X.X.X successful. из лога aststat и кинуть в файл v5 в папку со скриптом.

ссылка удалить спам редактировать

ответил 2011-01-24 15:56:19 +0400

CheeZ Gravatar CheeZ
1205 7 6 25

обновил 2011-01-24 16:01:21 +0400

1

Поставиль на своём компе X-Lite, создать для него аккаунт и если высветится сообщение, что связ с сервером пропала, значит * упал.

ссылка удалить спам редактировать

ответил 2011-01-24 15:14:11 +0400

amonra Gravatar amonra flag of Ukraine
2301 26 13 65
http://lantec.ua/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку
2 закладки

подписаться на rss ленту новостей

Статистика

Задан: 2011-01-24 13:31:57 +0400

Просмотрен: 3,246 раз

Обновлен: Mar 19 '11

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.