電話によるZabbixからのアラート

みなさんこんにちは。

私は長い間zabbixを使用しており、Habrを長い間読んでいます。



音声で話すようにZabbixに教えるという考えは、長い間私を訪ねており、素晴らしい声で何が起こったのかを夜に知らせるシステムを作りました。

今日、私は電話nagiosに関するmxxの投稿を読みましたが、これをシステムにねじ込むという考えにすぐに追いつきました。



2時間半後にすべてが機能し、元の投稿のコメントでそのような解決策を求めたので、ここで公開します。







だから:

ステップ#1-前提条件。 お祭りとpjsipを入れます

sudo aptitude install festival
      
      







pjsip(ポストmxxを参照)



ステップ#2-zabbix_serverの構成

 zabbix@zabbix-new:~$ grep AlertScript /etc/zabbix/zabbix_server.conf ### Option: AlertScriptsPath AlertScriptsPath=/home/zabbix/bin/
      
      







ステップ番号3-zabbiksaスクリプト

 zabbix@zabbix-new:~$ cat /home/zabbix/bin/sipalarm #!/bin/bash HOME=/home/zabbix SPOOL=$HOME/spool STAMP=`date +%s` add_to_spool () { text2wave <(echo $2) > $SPOOL/$STAMP$1.wav } add_to_spool "$1" "$2" $HOME/bin/sipnd &
      
      







 zabbix@zabbix-new:~$ cat /home/zabbix/bin/sipnd #!/bin/bash HOME=/home/zabbix SPOOL=$HOME/spool die () { echo "$1" exit 0 } check_lock () { test -e $HOME/sipnd.lock && die "already running" } get_lock () { echo $$ > $HOME/sipnd.lock } drop_lock () { rm $HOME/sipnd.lock } check_lock; get_lock for i in $SPOOL/*.wav; do TMP=${i##*+} PHONE=+${TMP%%.wav} echo "DEBUG: pjsua --config-file=/etc/pjsua.cfg --play-file=$i sip:$PHONE@sipnet.ru --auto-play" ( sleep 60 && echo q ) | pjsua --config-file=/etc/pjsua.cfg --play-file=$i sip:$PHONE@sipnet.ru --auto-play wait rm $i done drop_lock
      
      







ステップ#4-アラートを設定する

最初に新しいアラートを追加してください





次に、一部のユーザーに住所(この場合は携帯電話番号)を与えます





そして、アクション設定で、新しく定義されたツールを使用して、このユーザーへのアラートの配信を登録します。





注意:

*-数字の+記号は重要です

*-zabbixはトリガーヘッダーのみを話します(したがって、ヘッダーには意味があります)。

*-pjsua設定で、適切な期間パラメーターを設定します(メッセージを2〜3回聞く時間を確保するため)。

*-アラームはプールに収集され、一度に1つずつ配信されます(1人のアラームに対して1〜2分、10人に送信する場合、後者は非常に遅くコールを受信します)。

*-トリガーの依存関係を使用します-そうしないと、呼び出すのが少し面倒です。

*-ねじ込むことができるのは英語、ロシア語のみですが、必要ありません。

*-トピックの作成にはシステム全体よりも時間がかかりました。気づいていない場合は、コメントを歓迎します。



All Articles