Для работы скрипта понадобится Telegram бот. Если у тебя его еще нет, то поговори с папой- BotFather.
Скрипт можно запускать через Cron, сделав небольшие изменения в коде(убрать цикл как минимум), но я демонизирую его с помощью supervisor.
#!/bin/bash
CHATID="1122333" # ID контака или группы телеграм для отправки оповещений
KEY="AAAAAASSSSSSDDDDDDFFFFFGGGGGHHHHHJJJJJKKKKLLL" # Ключ телеграм-бота
TIME="20"
URL="https://api.telegram.org/bot$KEY/sendMessage"
TEXTDW="Упал SIP транк"
TEXTUP="Транк снова в работе"
FAILS=0
ALERTSTAT=0
while true; do
reg_tranks=`/usr/sbin/asterisk -rx 'sip show registry'| grep Registered |wc -l`
if [ "$reg_tranks" == "0" ];
then
FAILS=$((FAILS+1))
sleep 5
echo `/usr/sbin/asterisk -rx "sip reload"` #Пробуем поднять транк
elif [ "$reg_tranks" == "1" ] && [ "$ALERTSTAT" == "1" ] && [ "$FAILS" == "0" ];
then
curl -s --max-time $TIME -d "chat_id=$CHATID&disable_web_page_preview=1&text=$TEXTUP" $URL >/dev/null
ALERTSTAT=0
FAILS=0
elif [ "$reg_tranks" == "1" ];
then
FAILS=0
fi
if [ "$FAILS" == "2" ] && [ "$ALERTSTAT" == "0" ];
then
curl -s --max-time $TIME -d "chat_id=$CHATID&disable_web_page_preview=1&text=$TEXTDW" $URL >/dev/null
ALERTSTAT=1
fi
sleep 60
done
Комментариев нет:
Отправить комментарий