VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

запуск приложения при определенном сообщении в логах

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Аватара пользователя
bagrintsev
Сообщения: 98
Зарегистрирован: 01 дек 2015, 16:08

запуск приложения при определенном сообщении в логах

Сообщение bagrintsev »

День добрый, добрые гуру.
В одном месте шлюз VOIP у меня периодически отваливается и заново не подключается.
В консоли астериска пробегают следующие сообщения:
[Jan 21 11:22:55] NOTICE[19987]: chan_sip.c:29485 sip_poke_noanswer: Peer '140' is now UNREACHABLE! Last qualify: 104
Можно ли средствами астериска мониторить строки "Peer '140' is now UNREACHABLE!" и по появлении их запускать какой-нибудь файлик?
Шлюз подымаю через telnet командой reboot.

Доп. инфо.
Перепрошивка Cisco SPA122 не помогает, т.к. с сетью большие проблемы: связь по двунаправленному спутниковому инету, пинги от 700, связь периодически рвется.
Последний раз редактировалось bagrintsev 21 янв 2016, 11:46, всего редактировалось 1 раз.
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: запуск приложения при определенном сообщении в логах

Сообщение awsswa »

Легко

#!/bin/bash
NOW=`echo $(date +'%d %H:%M' -d '1 min ago') | sed 's/^0//'`
FIND=`cat /var/log/messages | grep "$NOW" | grep 'No more connections allowed' | wc -m`
if (("$FIND" > "0")); then
asterisk -x'core restart now'
echo "$NOW : $FIND" >> /var/log/asterisk/pipec.log
fi
платный суппорт по мере возможностей
Аватара пользователя
bagrintsev
Сообщения: 98
Зарегистрирован: 01 дек 2015, 16:08

Re: запуск приложения при определенном сообщении в логах

Сообщение bagrintsev »

awsswa писал(а):Легко

#!/bin/bash
NOW=`echo $(date +'%d %H:%M' -d '1 min ago') | sed 's/^0//'`
FIND=`cat /var/log/messages | grep "$NOW" | grep 'No more connections allowed' | wc -m`
if (("$FIND" > "0")); then
asterisk -x'core restart now'
echo "$NOW : $FIND" >> /var/log/asterisk/pipec.log
fi
Отредактировать на поиск нужной строки и запускать по крону каждые пять минут? Интересно. Спасибо.
ded
Сообщения: 15630
Зарегистрирован: 26 авг 2010, 19:00

Re: запуск приложения при определенном сообщении в логах

Сообщение ded »

bagrintsev, очень прошу - удерживайте свою руку от полного цитирования преддыдущего сообщения.
gosha
Сообщения: 375
Зарегистрирован: 06 сен 2010, 17:41
Контактная информация:

Re: запуск приложения при определенном сообщении в логах

Сообщение gosha »

лучше

tail -f messages | grep ... | while read x ; do echo "Ops $x" ; done
whoim
Сообщения: 766
Зарегистрирован: 26 ноя 2013, 23:25
Откуда: Краснодар
Контактная информация:

Re: запуск приложения при определенном сообщении в логах

Сообщение whoim »

Ну и через 5 минут он снова найдет эту строчку.
Лучше состояние пира мониторьте через ajam на php, или cli
облачные и локальные сервера asterisk/freepbx/a2billing/crm с полной техподдержкой. skype: whoim2, sipuri: whoim@asterisk.ru
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: запуск приложения при определенном сообщении в логах

Сообщение Aven »

Ajax медленно, лучше AMI
Решения телефонии на базе Asterisk || http://it-need.ru
whoim
Сообщения: 766
Зарегистрирован: 26 ноя 2013, 23:25
Откуда: Краснодар
Контактная информация:

Re: запуск приложения при определенном сообщении в логах

Сообщение whoim »

ajam, а не ajax.
В разы проще, чем с ами.
Насчет медленно - все относительно. К тому же позволит сделать режим "вопрос - ответ", раз в х время. А не мониторить весь мусор в поисках евентов registered/unregistered, и держать массив в башке.

Не нравится http json/xml api - тогда cli юзайте, через php exec например.
облачные и локальные сервера asterisk/freepbx/a2billing/crm с полной техподдержкой. skype: whoim2, sipuri: whoim@asterisk.ru
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: запуск приложения при определенном сообщении в логах

Сообщение Aven »

ajam конечно. В AMI есть фильтрация. В любой библиотеке вроде phpagi использование AMI элементарно, о каких разах речь? AMI работает в реалтайме, в ajam же нужно слать запрос, что бы получить все накопившиеся события, пробовали раз в x время запрашивать на высоконагруженном сервере?
Решения телефонии на базе Asterisk || http://it-need.ru
Pechen
Сообщения: 118
Зарегистрирован: 29 дек 2013, 23:16

Re: запуск приложения при определенном сообщении в логах

Сообщение Pechen »

вариант с fail2ban не рассматривается?
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH