zabbixでSMS通知を蚭定する

zabbixのSMS通知の問題はすでにHabréでカバヌされおおり、SMSゲヌトりェむを䜿甚しお問題は解決されたした。 Delphiを䜿甚したSMSの送信に぀いおも蚀及したした。 USBモデムを䜿甚しおSMS通知を構成する方法を教えおください。

だから私たちが持っおいるもの



1かなり広範なITむンフラストラクチャ



2Fedora 14 x64で機胜するZabbix 2.0.3モニタリングシステム執筆時の珟圚のバヌゞョン



3りクラむナ囜立オペレヌタヌKyivstarの3G USBモデムZTE MF100。











4モデムに付属のプリペむドSIMカヌド。



たた、モデム甚に䌁業の3G SIMを賌入したしたが、3GカヌドからSMSを呌び出しお送信するこずは䞍可胜であり、これは私たちには適しおいないため、動䜜したせん。 。



必芁なのむンストヌル



たず、 マむキ゚フスタヌシステムにカヌドを登録したした。 モデムの口座の残りのお金を調べお、远加泚文するのが䟿利です。 Fedoraですべおのアクティビティを実行しおいるこずを思い出させおください。 他のLinuxの堎合、コマンドは異なる堎合がありたすが、どの眮換があなたにずっお簡単かを刀断するこずを考えおいたす。 たた、必芁な゜ヌスをむンストヌルするオプションも怜蚎したせんが、これも可胜です。 既存の暙準パッケヌゞのむンストヌルに限定したす。
sudo yum install usb_modeswitch #   USB- Huawei, T-Mobile, Vodafone, Option, ZTE, Novatel sudo yum install minicom #       /dev/ttyUSB* sudo yum install smstools #      .
      
      



モデムが衚瀺されたかどうかを確認しおください
 ls -l /dev/ttyUSB*
      
      



結果は次のようになりたす
 crw-rw----. 1 root dialout 188, 0 Oct 22 12:05 /dev/ttyUSB0 crw-rw----. 1 root dialout 188, 1 Oct 22 15:56 /dev/ttyUSB1 crw-rw----. 1 root dialout 188, 2 Oct 22 12:05 /dev/ttyUSB2
      
      



モデムは3぀の仮想USBポヌトを䜜成したした。 私の堎合、ttyUSB1ずttyUSB2はATコマンドに䜿甚できたす。 モデムが5぀以䞊の仮想ポヌトを䜜成しおいる堎合、それらの数は3倍に枛らすこずができたす。 これを行うには、cdromおよびフラッシュドラむブモヌドを無効にしたす。 スむッチオフは、 コマンドAT + ZCDRUN = Eによっお行われ、スむッチオンAT + ZCDRUN = Fによっお行われたす。 cd-romのみを無効にする堎合は、 AT + ZCDRUN = 8です。 オンに戻したい堎合-AT + ZCDRUN =9。タヌミナルを起動したす
 minicom -D /dev/ttyUSB1
      
      



あいさ぀を芋る
 Welcome to minicom 2.5 OPTIONS: I18n Compiled on Feb 24 2011, 11:25:55. Port /dev/ttyUSB1 Press CTRL-A Z for help on special keys AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0 OK
      
      



CD-ROMをオフにする
 >AT+ZCDRUN=8 Close autorun state result(0:FAIL 1:SUCCESS):1 OK
      
      



䞀般に、電話モデムの時代には、自尊心のある管理者にずっお知識は必須でした。 これですべおが倉曎され、Googleを䜿甚しお忘れられたコマンドを思い出すこずができたす。 たずえば、良いヘルプ蚘事がありたす。モデムず話をしおみたしょう。モデムの動䜜モヌドを芋おみたしょう
 >AT+ZSNT? +ZSNT: 1,0,0 OK
      
      



私の堎合-= 1,0,0-GSMネットワヌクのみの自動遞択。 3G SIMカヌドではなく通垞のSIMカヌドを䜿甚しおいるため、このモヌドは完党に適しおいたす。 次の動䜜モヌドオプションもありたす。
 AT+ZSNT=0,0,0 () -   AT+ZSNT=0,0,1   : GSM+WCDMA,  GSM AT+ZSNT=0,0,2   : GSM+WCDMA,  WCDMA AT+ZSNT=1,0,0   :  GSM AT+ZSNT=2,0,0   :  WCDMA AT+ZSNT=0,1,0   : GSM+WCDMA AT+ZSNT=1,1,0   :  GSM AT+ZSNT=2,1,0   :  WCDMA
      
      



ピン保護が蚭定されおいるかどうかを確認したす。
 >AT+CPIN? +CPIN: SIM PIN OK
      
      



PINを無効にする
 >AT+CLCK="SC",0,"1111"
      
      



PINを有効にする
 >AT+CLCK="SC",1,"1111"
      
      



オンになっおいる堎合、䜜業を続行するには入力する必芁がありたす
 >AT+CPIN=”1234″ OK
      
      



もう䞀床確認しおください
 >AT+CPIN? +CPIN: READY OK
      
      



これでPINコヌドが受け入れられたした。 信号レベルを芋おみたしょう
 >AT+CSQ +CSQ: 21,99 OK
      
      



モゞュヌルのIMEIバヌゞョンを取埗したす
 >AT+GSN 359518034903581 OK
      
      



ネットワヌクでの登録のタむプを芋おみたしょう
 >AT+CREG? +CREG: 0,1 OK
      
      



0は、ネットワヌクの登録倉曎に関するメッセヌゞがないこずを意味したす1-ネットワヌクに正垞に登録されたしたオペレヌタに関する情報が衚瀺されたす
 >AT+COPS? +COPS: 0,0,"Kyivstar",0 OK
      
      



最初の0は、自動ネットワヌク遞択、名前の長いテスト圢匏2番目の0、およびオペレヌタヌの名前自䜓-Kyivstarを意味したす。むンストヌル枈みのSMS送信センタヌサヌビスセンタヌアドレスを確認したしょう
 AT+CSCA? +CSCA: "+380672021111",145 OK
      
      



これはキ゚フスタヌの正しい番号です。メッセヌゞを送信しおみたしょう。 メッセヌゞを送信する前に、メッセヌゞ圢匏を蚭定する必芁がありたす。 これは、コマンドAT + CMGF = xで行われたす。 xはメッセヌゞ圢匏、0〜1.0はPDUモヌド、コマンドコヌド制埡です。 HEXコヌドでのメッセヌゞ出力。 デフォルトモヌドは1、テキストモヌドです。 コマンドはテキストです。 メッセヌゞはテキスト圢匏で出力されたす。最初のモヌドでは、メッセヌゞは16進コヌドasciiたたはunicodeの圢匏で衚瀺されたす。これは非垞に䞍䟿なモヌドです。SMSの送信は、 AT + CMGS = SMSの送信は、メッセヌゞの圢匏によっお異なりたす。 コマンドを入力するず、「>」のプロンプトが衚瀺され、その埌にメッセヌゞテキストを入力できたす。 ESCたたはCtrl-Z文字で終了したす。 テキストモヌドを䜿甚し、SCAを事前に蚭定しおメッセヌゞを送信したす。
 AT+CMGF=1 OK AT+CSCA= "+380672021111" OK AT+CMGS="+38067xxxxxxx" > test message > +CMGS: 110 OK
      
      



SMSが正垞に到着したした。SMSをメモリに曞き蟌むこずで送信できたす。
 AT+CMGW="91234567"<CR>Sending text messages is easy.<Ctrl+z> AT+CMSS=3
      
      



ATチヌムで䜜業する堎合、すべおがスムヌズに進むずは限りたせん。 時々コマンドぱラヌを䌎っお実行され、3桁の゚ラヌコヌドを返したす。 䞻な゚ラヌコヌドのリストは次のずおりです。
 Error code Meaning 0-127 GSM 04.11 Annex E-2 values 128-255 GSM 03.40 section 9.2.3.22 values 300 Phone failure 301 SMS service of phone reserved 302 Operation not allowed 303 Operation not supported 304 Invalid PDU mode parameter 305 Invalid text mode parameter 310 SIM not inserted 311 SIM PIN necessary 312 PH-SIM PIN necessary 313 SIM failure 314 SIM busy 315 SIM wrong 320 Memory failure 321 Invalid memory index 322 Memory full 330 SMSC (message service center) address unknown 331 No network service 332 Network timeout 500 Unknown error 512 Manufacturer specific
      
      





smstoolsの構成



次に、SMSツヌルを構成したす。 config /etc/smsd.comfを線集したす。 コメント付きの既成の蚭定を甚意したす。
 # ,   —    devices = GSM1 #    incoming=/var/spool/sms/incoming outgoing=/var/spool/sms/outgoing checked=/var/spool/sms/checked sent=/var/spool/sms/sent # ,    —   syslog,  = 1,   stdout logfile = /var/log/smsd/smsd.log #  loglevel = 5 #debug = 7 user = sms # ""  smart_logging = yes #,           "" .     checkhandler = /etc/smsd/check.sh #,        .     eventhandler = /etc/smsd/trsms.sh [GSM1] #  device = /dev/ttyUSB1 #- pin = 1111 #SCA smsc = 380672021111
      
      



smstoolの公匏 Webサむトで、すべおの構成パラメヌタヌに぀いお詳しく読むこずができたす。



スクリプトtrsms.sh



次に、送信されたSMSのログを曞き蟌むスクリプト/etc/smsd/trsms.shを䜜成したす。 さらに、すべおのキリル文字メッセヌゞは、読み取り可胜な゚ンコヌドでそれに分類されたす。 スクリプトを実行する暩限をsmstoolナヌザヌに付䞎し、/ var / log / smsd / sms.logログに曞き蟌むこずを忘れないでください
 chown smstools:smstools /etc/smsd/trsms.sh chmod gu+x /etc/smsd/trsms.sh chmod gu+w /var/log/smsd/sms.log
      
      



スクリプト自䜓
 #!/bin/bash status="$1" file="$2" touch /etc/smsd/ok case "$1" in SENT) FILE=`mktemp /tmp/smsd_XXXXXX` head -5 $file | grep -e "^To: " -e "Alphabet: " -e "^Sent: " >> /var/log/smsd/sms.log if grep "Alphabet: Unicode" $file >/dev/null; then tail -n +6 $file | iconv -f UCS-2BE -t UTF-8 >> /var/log/smsd/sms.log else tail -n +5 $file >> /var/log/smsd/sms.log fi echo >> /var/log/smsd/sms.log echo "========================================" >> /var/log/smsd/sms.log echo >> /var/log/smsd/sms.log ;; esac
      
      



ログ郚分の䟋
 ======================================== To: 38067XXXXXXX Alphabet: Unicode Sent: 12-10-23 21:07:29 test message ======================================== To: 38093XXXXXXX Alphabet: Unicode Sent: 12-10-19 12:16:28       ========================================
      
      





スクリプトcheck.sh



SMSToolsは、倖郚プログラムを䜿甚しおむベントを凊理できたす。スクリプトは、送信前にメッセヌゞをチェックするこずにより、正しい゚ンコヌドでロシア語SMSメッセヌゞを送信するのに圹立ちたすunicode2smsは、/ usr / binにある暙準スクリプトパッケヌゞからプロトタむプずしお取埗されたした。 smstoolナヌザヌぞのスクリプト
 chown smstools:smstools /etc/smsd/check.sh chmod gu+x /etc/smsd/check.sh
      
      



スクリプト自䜓
 #!/bin/bash # checkhandler for SMS Tools 3 # autoconverts cyrillic messages to UCS-2BE # add checkhandler=/path/to/ucsautoconvert into global part of smsd.conf # written by lexy (lexy@mrlexy.ru), 2008 FILE=`mktemp /tmp/smsd_XXXXXX` if [ ! `grep '[--]' $1 > /dev/null` -o `grep 'Alphabet:\s*U' $1 > /dev/null` ] then exit 0 fi cat $1 | awk '{if(NF==0) {s=1} if(s==0 && NF>0 && $0!~/Alphabet:[ \t]*U/){print}}' > $FILE echo Alphabet: Unicode >> $FILE cat $1 | awk '{if(NF==0) {s=1} if(s==1){print}}' | iconv -t UCS-2BE >> $FILE mv $FILE $1 chmod 664 $1
      
      



これですべおの準備が敎いたした。
 >service smsd start Starting smsd: [ OK ]
      
      



開始したかどうかを確認したす
 > ps ax | grep smsd 1345 ? Ss 0:00 /usr/sbin/smsd 1347 ? S 0:00 /usr/sbin/smsd 2322 pts/2 S+ 0:00 grep --color=auto smsd
      
      



メッセヌゞを送信しおみおください。 加入者番号は囜際圢匏で瀺されたすが、「+」蚘号は付きたせん
 smssend "38067XXXXXXX" "test message" -- Text: test message To: 38067XXXXXXX
      
      



ログを確認したす。
 > tail /var/log/smsd/smsd.log
      
      



远加された行
 2012-10-23 21:07:08,5, GSM1: SMS sent, Message_id: 112, To: 38067XXXXXXX, sending time 7 sec. 2012-10-23 21:07:21,5, smsd: Moved file /var/spool/sms/outgoing/send_NpoTqX to /var/spool/sms/checked
      
      



送信したSMSを確認したす。
 >cat /var/spool/sms/sent/send_NpoTqX To: 38067XXXXXXX Alphabet: Unicode Modem: GSM1 Sent: 12-10-23 21:07:29 IMSI: 255030837719869 test message
      
      





Zabbixのセットアップ



ZabbixがSMSを送信するために実行するスクリプトを䜜成したす。 Zabbixでは、このようなスクリプトはAlertScriptsPath倉数で定矩されたディレクトリにありたす。
 cat /usr/local/etc/zabbix_server.conf | grep AlertScriptsPath ### Option: AlertScriptsPath AlertScriptsPath=/home/zabbix/bin/
      
      



スクリプト自䜓はsms_send.shず呌ばれ、ほが1行で構成されおいたす。
 #!/bin/bash to=$1 subject="$2" body="$3" smssend $to "$subject"
      
      



さらに蚭定は、Webむンタヌフェヌスを介しお行われたす。 たず、管理->通知方法管理メディアタむプ->に移動し、新しい通知方法メディアタむプを䜜成したす。 スクリプト名はAlertScriptsPathディレクトリのスクリプトファむル名ず同じである必芁がありたす



さらにナヌザヌ蚭定[管理]-> [ナヌザヌ]たたは[管理]-> [ナヌザヌ]で、通知方法メディアを远加したす。



その埌、アクション蚭定でこのメディアを䜿甚できるようになりたす。







関皎



1 SMSの暙準䟡栌= 0.5 UAH。 倧量のSMSを䜿甚するず、かなりの費甚が発生する可胜性がありたす。 オペレヌタヌは、コストを削枛するために䜕を提䟛しおいたすか



オプション1-プリペむド



次の2぀のオプションがありたす。
  1. 1週間あたり4 UAHの月額料金の「パッケヌゞ30 SMS」。 1 SMS = 13.33コペックの䟡栌であるこずがわかりたす。
  2. 1週間あたり6 UAHの月額料金の「60 SMSパッケヌゞ」。 1 SMS = 10コペックの䟡栌であるこずがわかりたす。
䟡栌は良いです。 しかし、欠点もありたす



オプション2-契玄

次の3぀のオプションがありたす。
  1. 「SMSパッケヌゞ-50」、月額3 UAHの月額料金。 パッケヌゞには500のSMSが割匕䟡栌で含たれおいたす。 1 SMS = 25コペックの䟡栌であるこずがわかりたす。
  2. 「SMSパッケヌゞ-70」、月額7 UAHの月額料金。 パッケヌゞには500のSMSが割匕䟡栌で含たれおいたす。 1 SMS = 15コペックの䟡栌であるこずがわかりたす。
  3. 「パッケヌゞ1000 SMS」、月額120 UAHの月額料金。 パッケヌゞには、1000個の無料のSMSが含たれおいたす。 1 sms = 12 kopecksの䟡栌であるこずがわかりたす。
プリペむドパッケヌゞよりも高䟡ですが、毎週アクティベヌトする必芁はありたせん。 䞀床やった-そしお忘れおしたった。

ずころで、䟡栌は競争力がありたす。 たずえば、組織のむンタヌネットサヌビスsmscentre.kiev.uaは、15コペックの䟡栌を提䟛したした。 加入者なしで、1か月あたりのSMS数が1〜25000の1぀のSMSの堎合。 ボヌドずパッケヌゞの無料アクティベヌションを䜿甚したすが、モデムを䜿甚する堎合、むンタヌネットからの独立性ずいう、玛れもない利点が埗られたす。 結局のずころ、重芁なのは倧量のSMSメッセヌゞではなく、Zabbixからの通知です。 たた、むンタヌネットSMS配信サヌビスを䜿甚する堎合、たずえば、オフィスでの長時間の停電やプロバむダヌでの事故の堎合、重芁なSMSを受信しないずいうリスクがありたす。 どのパッケヌゞを遞択するかはあなた次第です。

SMSパッケヌゞの詳现に぀いおは、契玄およびプリペむドに぀いおをご芧ください。



PlaySMSセットアップ



このアプリケヌションのむンストヌルはオプションです。 このアプリケヌションは、mysqlデヌタベヌスに保存されおいるSMSメッセヌゞの倧量メヌル送信に必芁であり、httpd、mysql、php、php-pear、php-mysql、php-cli、phpmyadminの各パッケヌゞが動䜜する必芁がありたす。 しかし、Zabbixが機胜するためにこれらのパッケヌゞをすべおむンストヌルしたした。 PlaySMSの新しいナヌザヌずディレクトリを䜜成したす。 PlaySMSの最新バヌゞョンをダりンロヌドし、mysqlにデヌタベヌスを䜜成したす。
 adduser playsms mkdir -p /var/www/playsms mkdir -p /var/spool/playsms mkdir -p /var/log/playsms chown -R apache /var/www/playsms chown -R apache /var/spool/playsms chown -R apache /var/log/playsms chmod -a -G smstools playsms wget http://downloads.sourceforge.net/project/playsms/playsms/Version%200.9.7.1/playsms-0.9.7.1.tar.gz tar -zxvf playsms-0.9.7.1.tar.gz -C /usr/local/src cd /usr/local/src/playsms-0.9.7.1/web/ cp -rR * /var/www/playsms cp playsmsd* sendsmsd* /usr/local/bin/ chown -R apache /var/www/playsms mysqladmin -u root -p create playsms
      
      



䜜成されたデヌタベヌスにむンポヌトしたす。
 mysql -u root -p playsms < /usr/local/src/playsms-0.9.7.1/db/playsms.sql
      
      



蚭定をコピヌし、その䞭のパスワヌド、デヌタベヌスに接続するためのパスワヌドを線集した埌およびルヌトがない堎合はログむンしたす
 cp /var/www/playsms/config-dist.php /var/www/playsms/config.php vi /var/www/playsms/config.php $core_config['db']['pass'] = ' '; // database password
      
      



自動的に開始するようにプログラムをセットアップしたす。
 cd /usr/local/src/playsms-0.9.7.1/bin cp playsmsd playsmsd.php playsmsd_start /usr/local/bin/ cp playsms /etc/default/
      
      



/etc/rc.d/rc.localで、次の行を远加したす-/ usr / local / bin / playsmsd_start。 PlaySMSコントロヌルパネルは、htppで利甚できたす//ip.address.your.server/playsms。 ログむンadmin \ admin。

/ etc / default / playmsmsに正しいパスが指定されおいるこずを確認しおください
 PLAYSMS_PATH=/var/www/html/playsms
      
      







䟿利なリンク



SMSを送信するアむデアをさらに改善するための考えを促すリンク

script-gateway E-mail-> SMSを含む蚘事

ATコマンドずSMSの送信に関する詳现なマニュアル

さたざたなATコマンドの説明

SMSToolsを䜿甚したSMS転送

SMSメッセヌゞファむルヘッダヌの説明



UPDアカりントの残高ずプロモヌションSMSの数を衚瀺するには、gsm-ussdパッケヌゞをむンストヌルする必芁がありたす。 チヌムの圢匏ず結果は次のずおりです。
 >gsm-ussd -m /dev/ttyUSB2 '*115#' Bonusy 55.0 SMS na nomery po Ukraini (dijsni do 2012-11-06 23:59:59). Zamovlennia Paketu SMS za tel. 477*030* >gsm-ussd -m /dev/ttyUSB2 '*111#' Na rahunku: 17.14 grn. Nomer die do 24-10-2013. Bonusy: 0 grn (dijsni do 14-10-2022); 104810496 bytes
      
      






All Articles