Asterisk рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлреЛрди рдкрд░ рдЬрд╝реИрдмрд┐рдХреНрд╕ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕рдЪреЗрдд рдХрд░рдирд╛

рдЕрджреНрднреБрдд рдЬрд╝реИрдмрд┐рдХреНрд╕ рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдХ рдХреЛ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ: рдИ-рдореЗрд▓, рдПрд╕рдПрдордПрд╕ рдФрд░ рдЬреЗрдмрд░ред

рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЬрд╝реИрдмрд┐рдХреНрд╕ рдФрд░ рдПрд╕реНрдЯрд░рд┐рд╕реНрдХ-рдЖрдзрд╛рд░рд┐рдд рдХрд╛рд░реНрдпрд╛рд▓рдп рдкреАрдмреАрдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рджреЛрд╕реНрдд рдХреИрд╕реЗ рдмрдирд╛рдПрдВред рдЬрдм рдХреЛрдИ рдЖрдкрд╛рдд рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рд░реЛрдмреЛрдЯ рдЖрдкрдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП рдПрдХ рд╕рдВрджреЗрд╢ рджреЗрдЧрд╛ред



рдХреНрдпреЛрдВ рдЬрд░реВрд░реА рд╣реИ?


рдЬрдм рдХреБрдЫ рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдИрдореЗрд▓ рдЕрд▓рд░реНрдЯ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде, рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддреНрд░реБрдЯрд┐ рдХреЛ рдЪреВрдХрдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдИ-рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рд╕рднреА рд╕реНрддрд░реЛрдВ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рд░реНрдЯ рд╕реЗрдЯ рдХрд░рдирд╛ рдФрд░ рдПрд╕рдПрдордПрд╕ рджреНрд╡рд╛рд░рд╛ рдХреЗрд╡рд▓ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИред
рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╕рднреА рд╕рд╛рдереА рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЗ рдкрд╛рд╕ рдЬреАрдПрдордПрд╕ рдореЙрдбреЗрдо рдЦрд░реАрджрдиреЗ рдФрд░ рдПрд╕рдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХрд╛ рдмрдЬрдЯ рдирд╣реАрдВ рд╣реИред рдСрдирд▓рд╛рдЗрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдирд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЪреИрдирд▓ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИред рдЖрдкрдХреЗ рдкреАрдмреАрдПрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдореБрдлреНрдд рд╣реЛрдЧреАред рдЖрдк рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдирдВрдмрд░, рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рдореВрд╣ рдпрд╛ рдореЛрдмрд╛рдЗрд▓ рдкрд░ рдХреЙрд▓ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдкреАрдмреАрдПрдХреНрд╕ рдПрдХ рднреМрддрд┐рдХ рдЯреЗрд▓реАрдлреЛрди рд▓рд╛рдЗрди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рддреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдЪреИрдирд▓ рдХрд╛ рдкрддрди рдЙрд╕рдХреЗ рд▓рд┐рдП рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ


рдиреЗрдЯ рдкрд░, рдореБрдЭреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирдореВрдирд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдорд┐рд▓реАред рд╣рд╛рд▓рд╛рдВрдХрд┐, рджреЛрдиреЛрдВ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ: рд╡реЗ PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВ?) рдФрд░ рд╕рдВрджреЗрд╢ рдкрд╛рда рдХреЛ рдкрдврд╝рдирд╛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ - рдХреЗрд╡рд▓ рдПрдХ рдорд╛рдирдХ рд╕рдВрджреЗрд╢, рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред

рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░реЗрдЧреА:
  1. рдЬрдм рдЕрд▓рд░реНрдЯ рд╣реЛрддрд╛ рд╣реИ, рдЬрд╝реИрдмрд┐рдХреНрд╕ рдПрдХ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ;
  2. рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрд╛рд░рд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдкрд╛рда рд░реВрдк рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рддреИрдпрд╛рд░ рдХрд░рддреА рд╣реИ;
  3. рдлрд╝рд╛рдЗрд▓реЗрдВ рдПрд╕рд╕реАрдкреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддрд╛рд░рд╛рдВрдХрди рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИрдВ;
  4. SSH рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, Asterisk рдиреЗ text2wave рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛, рдЬреЛ рдкрд╛рда рдХреЛ wav рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрдврд╝рддрд╛ рд╣реИ;
  5. рд╡реЗрд╡ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдХреЙрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдмрдВрдзрд┐рдд рддрд╛рд░рд╛рдВрдХрди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА рдХреА рдЬрд╛рддреА рд╣реИрдВ;
  6. рддрд╛рд░рд╛рдВрдХрди рдлрд╝рд╛рдЗрд▓реЗрдВ рджреЗрдЦрддрд╛ рд╣реИ, рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрджреЗрд╢ рдЪрд▓рд╛рддрд╛ рд╣реИред

рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреЗрд╡рд▓ 1-2 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВред

рд▓рд┐рдкрд┐


рд╕рдорд╕реНрдпрд╛рдПрдБ рдЙрддреНрдкрдиреНрди рд╣реЛрдиреЗ рдкрд░ рдЬрд╝реИрдмрд┐рдХреНрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ Zabbix рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ AlertScriptsPath рдЪрд░ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИрдВред
рдЗрд╕ рддрд░рд╣ рдХреА рд╕рднреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреА рддрд░рд╣, рд╣рдорд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ 3 рдкреИрд░рд╛рдореАрдЯрд░ рд▓реЗрдиреЗ рдЪрд╛рд╣рд┐рдП: рдкрддрд╛, рд╕рдВрджреЗрд╢ рд╡рд┐рд╖рдп, рд╕рдВрджреЗрд╢ рдкрд╛рдаред

#!/bin/bash # Asterisk  server="asterisk@pbx.roga-i-kopyta.com" #   ts=$(date +%s%N) #    txtname=/tmp/zabbix-alert.$ts.txt callname=/tmp/zabbix-alert.$ts.call #  . # .   . echo "Zabbix alert,,,,,,,,,,,,,,,,," > $txtname # $2 - subject .   $3 - . echo "$2" >> $txtname # Call- Asterisk echo "Channel: Local/$1@from-internal" > $callname echo "Extension: s" >> $callname echo "MaxRetries: 2" >> $callname echo "RetryTime: 60" >> $callname echo "WaitTime: 30" >> $callname #     echo "Callerid: 999" >> $callname echo "Application: Playback" >> $callname #  3  echo "Data: zabbix-alert.$ts&zabbix-alert.$ts&zabbix-alert.$ts" >> $callname scp $txtname $server:$txtname scp $callname $server:$callname rm -f $txtname rm -f $callname ssh $server "cat $txtname | /usr/bin/text2wave -F 8000 > /var/lib/asterisk/sounds/zabbix-alert.$ts.wav && mv $callname /var/spool/asterisk/outgoing/ && rm -f $txtname && find /var/lib/asterisk/sounds/ -name 'zabbix-alert*' -type f -mmin +10 -delete" 


рд╣рдо рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ


рдпрд╣ рд╕рдм рдЖрдкрдХреЗ рдУрдПрд╕ / рд╡рд┐рддрд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ 100% рд╕рдЯреАрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ред
рдпрджрд┐, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ Asterisk рдкрд░ text2wave ( рдлреЗрд╕реНрдЯрд┐рд╡рд▓ рдкреИрдХреЗрдЬ) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рд░реВрд╕реА рдЖрд╡рд╛рдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
рджреВрд╕рд░реЗ, рдЖрдкрдХреЛ Zabbix рдФрд░ Asterisk рдХреЗ рдмреАрдЪ рдкрд╛рд╕рд╡рд░реНрдб рд░рд╣рд┐рдд SSH рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдкреИрд░рд╛рдЧреНрд░рд╛рдл 1-6)ред рдкрд╛рд╕рдлрд╝реНрд░реЗрдЬрд╝ рдХреЗ рдмрд┐рдирд╛ рдХреБрдВрдЬреА рдХреЛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк Zabbix рдФрд░ Asterisk рдХреЗ рддрд╣рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рд╛рде рд╣реА рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ sudo рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рддрд╛рд░рд╛рдВрдХрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рднреА рдЕрдзрд┐рдХрд╛рд░ Asterisk рдХреЗ рдкрд╛рд╕ рд╣реИрдВред
рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдПрдХ рдЕрд▓рдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреЙрд▓ рдЖрдПрдЧреАред

рд╕рдм рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрдВрд╕реЛрд▓ рд╕реЗ рдЪрд▓рд╛рдХрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
./call_sip.sh "" ""
рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо Zabbix, ssh рдФрд░ Asterisk рдХреЗ рд▓реЙрдЧ рдЪреБрдирддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рд╕реВрдбреЛ рдФрд░ рдПрд╕рдПрдЪрдПрд╕ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдмрд┐рддрд╛рдпрд╛ред

Zabbix рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВ


рд╕рдмрд╕реЗ рд╕рд░рд▓:
рдкреНрд░рд╢рд╛рд╕рди рдореЗрдВ - рдореАрдбрд┐рдпрд╛ рдкреНрд░рдХрд╛рд░, рдПрдХ рдирдпрд╛ рдЕрд▓рд░реНрдЯ рдкреНрд░рдХрд╛рд░ рдмрдирд╛рдПрдБред


рдореАрдбрд┐рдпрд╛ рдЯреИрдм рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ (рдкреНрд░рд╢рд╛рд╕рди - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛) рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдлрд╝реЛрди рдирдВрдмрд░ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВред рдпрд╣ рдЖрдкрдХреЗ рдкреАрдмреАрдПрдХреНрд╕ рдХреЛ рдбрд╛рдпрд▓ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдПрдХ рдЖрдВрддрд░рд┐рдХ рдирдВрдмрд░ рдпрд╛ рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдирдВрдмрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ, рд╣рдо рдЕрдзрд┐рд╕реВрдЪрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдПрдХ рдирдИ рдХреНрд░рд┐рдпрд╛ рд╕рдВрдкрд╛рджрд┐рдд рдпрд╛ рдирд┐рд░реНрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдореИрд╕реЗрдЬ рд╣реЗрдбрд░ рдХреЛ {TRIGGER.STATUS} {TRIGGER.NAME} {HOSTNAME} рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рддрд╛рдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рд╕рдХреЗ рдХрд┐ рдХреМрди рд╕реА рдорд╢реАрди рдореБрд╕реАрдмрдд рдореЗрдВ рдереАред

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░


рд╣рдореЗрдВ рдИ-рдореЗрд▓ рдФрд░ рдПрд╕рдПрдордПрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЛ рд╕рдЪреЗрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЪреИрдирд▓ рдорд┐рд▓рд╛ рд╣реИред

Source: https://habr.com/ru/post/In184154/


All Articles