ื›ื™ืฆื“ ืœื—ื‘ืจ Zabbix ืขื ื›ื•ื›ื‘ื™ืช ืžื—ื•ืฅ ืœืงื•ืคืกื”

ื‘ืžืืžืจ ื”ืงื•ื“ื "ื–ืื‘ื™ืงืก - ื”ืจื—ื‘ืช ื’ื‘ื•ืœื•ืช ื”ืžืืงืจื•" ืืžืจืชื™ ืœืš ืื™ืš ืœืงื‘ืœ ื”ืคืขืœืช ื”ืจืฉืื” ื•ืœื”ื—ืœื™ืฃ ืื•ืชื” ื‘ืžืืงืจื• ืžืืจื— ืžืงื•ืžื™. ื‘ืžืืžืจ ื–ื” ืืกืคืจ ืœื›ื ื›ื™ืฆื“ ืœื—ื‘ืจ ืืช Zabbix ืขื Asterisk ืœืœื ืกืงืจื™ืคื˜ื™ื ื•ืชื•ื›ื ื•ืช ื—ื™ืฆื•ื ื™ื•ืช.

ื”ืจืขื™ื•ืŸ "ืœื”ืชื™ื™ื“ื“" ืฉืœ ืฉืชื™ ื”ืžืขืจื›ื•ืช ื”ืœืœื• ื ื•ืœื“ ืœืคื ื™ ื–ืžืŸ ืจื‘, ืœืœื ื”ืชืงื ืช ืชื•ื›ื ื•ืช ืื• ืกืงืจื™ืคื˜ื™ื ื ื•ืกืคื™ื. ื—ื™ืคื•ืฉ ื‘ื’ื•ื’ืœ ืžื”ื™ืจ ื”ื ื™ื‘ ื”ืจื‘ื” ืคืชืจื•ื ื•ืช ืืคืฉืจื™ื™ื, ื”ื›ืœ ื”ืกืชื›ื ื‘ืขื•ื‘ื“ื” ืœื”ืขืœื•ืช ืืช ื”ืกืงืจื™ืคื˜ื™ื (ื‘-Pyha, Bash, Python ื•ื›ื•') ืœืฉืจืช, ื•ืชืฉืžื—ื•. ืจืฆื™ืชื™ ืœื™ื™ืฉื ื ื™ื˜ื•ืจ "ืžื—ื•ืฅ ืœืงื•ืคืกื”" - ืœืœื ืกืงืจื™ืคื˜ื™ื ื—ื™ืฆื•ื ื™ื™ื ื•ื”ืชืงื ืช ืชื•ื›ื ื” ื ื•ืกืคืช ืขืœ ื”ืฉืจืช ืขื ื ื™ื˜ื•ืจ ื•ืžืจื›ื–ื™ื”.

ื‘ื™ืœื™ืชื™ ืขื ื–ื” ื‘ืกืš ื”ื›ืœ 4 ื™ืžื™ ืขื‘ื•ื“ื”, ืื‘ืœ ื”ืชื•ืฆืื” ื”ื™ื™ืชื” ืฉื•ื•ื” ืืช ื–ื”. ืขื‘ื•ื“ื” ื“ืจืš ืžืžืฉืง AMI, ื–ื™ื”ื•ื™ ื‘ืจืžื” ื ืžื•ื›ื”, ื˜ืจื™ื’ืจื™ื, ื•ื”ื›ื™ ื—ืฉื•ื‘, ื—ื™ื‘ื•ืจ ื”ืžืจื›ื–ื™ื” ื•ื›ืœ ืฉืืจ ื”ื”ื’ื“ืจื•ืช ืœื•ืงื— ื›ืขืช ื›-15 ื“ืงื•ืช.

Zabbix 4.4 ื–ืžื™ืŸ, ื‘ืขืจืš 100 ื—ืชื™ื›ื•ืช ืฉืœ ื›ื•ื›ื‘ื™ืช ื’ืจืกื” 13. ื—ืœืง ืžื”ืžืจื›ื–ื™ื•ืช ืžื’ื™ืขื•ืช ืขื ืžืžืฉืง ื”ืื™ื ื˜ืจื ื˜ ืฉืœ FreePBX, ื—ืœืงืŸ ืขื ืงื•ื ืกื•ืœื” ื—ืฉื•ืคื”, ืฉืœืœ ื˜ืจื™ืงื™ื ื•ืื™ื ื˜ื’ืจืฆื™ื” ื‘ืืžืฆืขื•ืช ืชื•ื›ื ื™ืช ื—ื™ื•ื’.

ืงื‘ืœืช ื ืชื•ื ื™ื ืžื”ืžืจื›ื–ื™ื™ื”

ื”ื ืงื•ื“ื” ื”ืจืืฉื•ื ื” ื•ื”ืขื™ืงืจื™ืช ืฉืฆืจื™ืš ืœืคืชื•ืจ ื”ื™ื ื”ืฉื’ืช ื ืชื•ื ื™ื ืขืœ ืขืžื™ืชื™ื ื•ืจื™ืฉื•ืžื™ SIP. ืœืฆื•ืจืš ื›ืš, ืœืžืจื›ื–ื™ื™ื” ื™ืฉ ืžืžืฉืงื™ ืงื•ื ืกื•ืœื•ืช AGI, AMI, ARI ื•-SSH. ืžืกื™ื‘ื•ืช ื‘ืจื•ืจื•ืช, ืœื ืฉืงืœืชื™ ืžื•ื“ื•ืœื™ื ื ื•ืกืคื™ื.

ืจืืฉื™ืช ืขืœื™ื ื• ืœื”ื‘ื™ืŸ ืžื” ื”ื ื”-agi, ami, ari...

  • AGI - ืฉื™ืžื•ืฉ ื‘ืกืงืจื™ืคื˜ื™ื ื‘-dialplan. ืžืฉืžืฉ ื‘ืขื™ืงืจ ืœื ื™ื”ื•ืœ ืฉื™ื—ื•ืช.
  • AMI - ื™ื›ื•ืœ ืœืกืคืง ืืช ื›ืœ ื”ืžื™ื“ืข ื”ื“ืจื•ืฉ, ืขื•ื‘ื“ ื“ืจืš ื™ืฆื™ืื” 5038, ื‘ื“ื•ืžื” ืœ-Telnet. ืžืชืื™ื ืœื ื•!
  • ARI - ืžื•ื“ืจื ื™, ืื•ืคื ืชื™, JSON. ื™ืฉ ื”ืจื‘ื” ืืคืฉืจื•ื™ื•ืช, ืคื•ืจืžื˜ ื”ื ืชื•ื ื™ื ืžื•ื‘ืŸ ืขื‘ื•ืจ Zabbix, ืื‘ืœ ืžื‘ื—ื™ื ืชื™ ืื™ืŸ ืขื™ืงืจ: ืื™ ืืคืฉืจ ืœืฉืœื•ื˜ ื‘ืจื™ืฉื•ื ื”ืœื’ื™ืžื”. ื—ื™ืกืจื•ืŸ ื ื•ืกืฃ ื”ื•ื ืฉืœืขืžื™ืชื™ื ื™ืฉ ืจืง ืฉืชื™ ืžืฆื‘ื™ื ืžืงื•ื•ื ื™ื/ืœื ืžืงื•ื•ื ื™ื, ืื ื›ื™ ื™ืฉ ื™ื•ืชืจ ืžืฆื‘ื™ื ื•ืฉื™ืžื•ืฉื™ ืœืงื—ืช ืื•ืชื ื‘ื—ืฉื‘ื•ืŸ ื‘ืขืช โ€‹โ€‹ื”ืื‘ื—ื•ืŸ.
  • SSH ื™ื›ื•ืœ ืœืขืฉื•ืช ื”ื›ืœ, ืื‘ืœ ืœืคืขืžื™ื ื–ื” ืœื ืžื•ืชืจ ื‘ื’ืœืœ "ืกื™ื‘ื•ืช ื‘ื˜ื—ื•ื ื™ื•ืช". ื”ืฉื™ืงื•ืœื™ื ืขืฉื•ื™ื™ื ืœื”ื™ื•ืช ืฉื•ื ื™ื, ืื ื™ ืœื ืื›ื ืก ืืœื™ื”ื.

ืขื ื–ืืช, ืขื ื›ืœ ื”ื—ืกืจื•ื ื•ืช ืฉืœื”, ARI ืžื›ืกื” 90% ืžื›ืœ ืฆืจื›ื™ ื”ื ื™ื˜ื•ืจ.

ื–ืื‘ื™ืงืก ื•ื˜ืœื ื˜ - ื”ืื›ื–ื‘ื” ืฉืœื™

ืื ื™ ืžื›ื™ืจ ืืช AMI ื”ื™ื˜ื‘; ืคืขื ื™ื™ืฉืžืชื™ ืžืขืงื‘ ืื—ืจ ื”ืคืกื“ื™ื ื‘ืฉื™ื—ื•ืช ืขื ื—ื˜ื™ื‘ื” ืขืœ ื™ื“ื™ ืžืฉืจื“ื™ื ืžืจื•ื—ืงื™ื, ื ื™ื”ื•ืœ ืฉื™ื—ื•ืช ื•ื›ื•'. ืขื Telnet, ื”ื›ืœ ื’ื ืžืื•ื“ ื‘ืจื•ืจ: ืคืชื— ืืช ื”ื—ื™ื‘ื•ืจ, ืฉืœื— ืืช ื”ืคืงื•ื“ื•ืช ื•ืงืจื ืืช ื”ืชื’ื•ื‘ื”. ื–ื” ืžื” ืฉืขืฉื™ืชื™, ืื‘ืœ ื”ืชื•ืฆืื” ืื™ื›ื–ื‘ื” ืื•ืชื™.

Telnet ื‘- Zabbix ืœื ื–ื”ื” ืœืงื•ื ืกื•ืœืช ืœื™ื ื•ืงืก, ื”ื™ื ืงืฆืช ื™ื•ืชืจ ืคืฉื•ื˜ื” ื•ืžื•ืชืืžืช ืœื”ืจืฉืื” ืกื˜ื ื“ืจื˜ื™ืช ื›ืžื• ื›ื ื™ืกื”/ืกื™ืกืžื”. ืื ื”ื™ื’ื™ื•ืŸ ื”ื”ืจืฉืื” ืฉื•ื ื”, ื•ืื™ืŸ ื‘ืงืฉื” ืœื–ื•ื’ ื›ื ื™ืกื”/ืกื™ืกืžื”, ืžืชืจื—ืฉืช ืฉื’ื™ืื”. ืœืื—ืจ ื ื™ืกื™ื•ื ื•ืช ืขืงืจื™ื ืœืขืงื•ืฃ ืืช ื“ืจื™ืฉืช ื”ื”ืจืฉืื”, ื”ื™ื” ืฉื™ืžื•ืฉื™ ืœื”ืกืชื›ืœ ืขืœ ืงื•ื“ ื”ืžืงื•ืจ ืฉืœ ืžื•ื“ื•ืœ Telnet.

ื”ื‘ื ืชื™ ืฉืขื“ ืฉืœื ืชื”ื™ื” ื‘ืงืฉืช ื›ื ื™ืกื” ื•ืกื™ืกืžื” ืžืกื•ืจืชื™ืช, ืื ื™ ืœื ืืชืงื“ื. ืกืชื ื‘ืฉื‘ื™ืœ ื”ื›ื™ืฃ, ื”ืกืจืชื™ ืืช ื›ืœ ืžื” ืฉืงืฉื•ืจ ืœื”ืจืฉืื” ืžื”ืงื•ื“ ื•ื”ืจื›ื‘ืชื™ ื”ื›ืœ ืžื—ื“ืฉ. ืขื•ื‘ื“! ืื‘ืœ ื–ื” ืœื ืขื•ืžื“ ื‘ื“ืจื™ืฉื•ืช. ืœืš ืขืœ ื–ื”โ€ฆ

ื ื—ื–ื•ืจ ืœื—ื™ืคื•ืฉ

ืงืจืืชื™ ืฉื•ื‘ ืืช ื”ืชื™ืขื•ื“ ืฉืœ ARI, ื”ืคืขืœืชื™ ื‘ื“ื™ืงื•ืช ื ื•ืกืคื•ืช - ืื™ืŸ ื›ืืŸ ืจื™ืฉื•ืžื™ ืœื’ื™ืžื”. ื™ืฉ ืกืขื•ื“ื•ืช, ื™ืฉ ืฉื™ื—ื•ืช, ื™ืฉ ืžื›ื ืกื™ื™ื, ืื‘ืœ ืื™ืŸ ื ืจืฉืžื™ื. ื‘ืฉืœื‘ ืžืกื•ื™ื ืืคื™ืœื• ื—ืฉื‘ืชื™, ื”ืื ืื ื—ื ื• ื‘ืืžืช ืฆืจื™ื›ื™ื ืจื™ืฉื•ื ื ืฉืจื™ื?

ื‘ืฆื™ืจื•ืฃ ืžืงืจื™ื ืžืฆื—ื™ืง, ื‘ืจื’ืข ื–ื” ืžื’ื™ืขื” ื‘ืงืฉื” ื ื•ืกืคืช ืžื”ืžืฉืชืžืฉ, ืขื ื‘ืขื™ื” ื‘ืฉื™ื—ื•ืช ื™ื•ืฆืื•ืช. ื”ื‘ืขื™ื” ื”ื™ื™ืชื” ืฉื”ืจื™ืฉื•ื ืœืœื’ื™ืžื” ืงืคื ื•ื ืคืชืจื” ืขืœ ื™ื“ื™ ื”ืคืขืœื” ืžื—ื“ืฉ ืฉืœ ื”ืžื•ื“ื•ืœ.

asterisk -rx "sip reload"

ื–ื” ื™ื”ื™ื” ื ื”ื“ืจ ืœื’ืฉืช ืœ-AMI ื“ืจืš ื”ืื™ื ื˜ืจื ื˜: ื–ื” ื™ืคืชื•ืจ ืืช ื›ืœ ื”ื‘ืขื™ื•ืช, ื—ืฉื‘ืชื™. ืื ื™ ืžืชื—ื™ืœ ืœื—ืคื•ืจ ื‘ื›ื™ื•ื•ืŸ ื”ื–ื”, ื•ืžืžืฉ ืฉื•ืจืช ื”ื—ื™ืคื•ืฉ ื”ืจืืฉื•ื ื” ืžื•ื‘ื™ืœื” ืœืชื™ืขื•ื“ ื”ืจืฉืžื™ ืฉืœ ื”ื›ื•ื›ื‘ื™ืช, ืฉืื•ืžืจ ืฉื™ืฉ ืืคืฉืจื•ืช ืœืžืฉื™ืžื•ืช ืฉืœื™ ืžื•ืคืขืœืช ื‘ืื™ื ื˜ืจื ื˜ ื‘ืงื•ื‘ืฅ /etc/asterisk/manager.conf, ืฉืฆืจื™ืš ืœื”ื’ื“ื™ืจ ื›-YES, ื‘ืงื˜ืข [ื›ืœืœื™]

ืœืื—ืจ ืžื›ืŸ, ื‘ืืžืฆืขื•ืช ื‘ืงืฉื” ืื™ื ื˜ืจื ื˜ื™ืช ืจื’ื™ืœื” ืฉืœ ื”ื˜ื•ืคืก http://ats:8089/mxml?action=SIPshowregistry ืื ื• ืžืงื‘ืœื™ื ืืช ื›ืœ ื”ืžื™ื“ืข ื”ื“ืจื•ืฉ.

ื‘ืขืช ืฉื™ืžื•ืฉ ื‘ืžืžืฉืง FreePBX, ืื™ื ืš ื™ื›ื•ืœ ืœื”ืคืขื™ืœ ืืคืฉืจื•ืช ื–ื• ื“ืจืš ื”ืื™ื ื˜ืจื ื˜; ืขืœื™ืš ืœื”ืคืขื™ืœ ืื•ืชื” ื“ืจืš ื”ืžืกื•ืฃ ืขืœ ื™ื“ื™ ื‘ื™ืฆื•ืข ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื‘ืฅ manager.conf. FreePBX ืื™ื ื” ืžื•ื—ืงืช ืื•ืชื• ื›ืืฉืจ ืžืชื‘ืฆืขื™ื ืฉื™ื ื•ื™ื™ื ื‘ืชืฆื•ืจื” ื“ืจืš ื”ืื™ื ื˜ืจื ื˜.

ืขื‘ื“ืชื™ ืขื ืกื•ื’ื™ื ืฉื•ื ื™ื ืฉืœ ืื™ื ื˜ื’ืจืฆื™ื•ืช ืฉืœ ื›ื•ื›ื‘ื™ืช ื‘ืžืฉืš ื–ืžืŸ ืจื‘, ืืš ืžืขื•ืœื ืœื ืจืื™ืชื™ ืชื›ื•ื ื” ื–ื• ืžื•ื–ื›ืจืช ื‘ืฉื•ื ืžืงื•ื. ื”ื•ืคืชืขืชื™ ืฉืืฃ ืื—ื“ ืœื ืžืชืืจ ืืช ื”ืฉื™ื˜ื” ื”ื–ื• ืฉืœ ืื™ื ื˜ืจืืงืฆื™ื” ืขื ื”ืžืจื›ื–ื™ื™ื”. ื–ื” ืืคื™ืœื• ื”ื™ื” ืฉื™ืžื•ืฉื™ ื‘ืžื™ื•ื—ื“ ืœื—ืคืฉ ืžื™ื“ืข ืขืœ ื ื•ืฉื ื–ื”: ืื™ืŸ ื›ืžืขื˜ ื›ืœื•ื ืื• ืฉื”ื•ื ืฉื™ืžืฉ ืœืžืฉื™ืžื•ืช ืฉื•ื ื•ืช ืœื—ืœื•ื˜ื™ืŸ.

WEB AMI - ืื™ื–ื• ื—ื™ื”?

ื”ื•ืกืคืช ืืคืฉืจื•ืช ืžื•ืคืขืœืช ื‘ืื™ื ื˜ืจื ื˜ ืœืชื™ื™ืง manager.conf ืกื™ืคืงื” ื’ื™ืฉื” ืžืœืื” ืœื ื™ื”ื•ืœ ATS ื“ืจืš ื”ืื™ื ื˜ืจื ื˜. ื›ืœ ื”ืคืงื•ื“ื•ืช ื”ื–ืžื™ื ื•ืช ื“ืจืš AMI ืจื’ื™ืœ ื ืžืฆืื•ืช ื›ืขืช ื‘ืื™ื ื˜ืจื ื˜, ื ื™ืชืŸ ืœื”ืื–ื™ืŸ ืœืื™ืจื•ืขื™ื ืžื”ืžืจื›ื–ื™ื™ื” ื“ืจืš ืฉืงืข. ืขืงืจื•ืŸ ื”ืคืขื•ืœื” ืื™ื ื• ืฉื•ื ื” ืžื”ืงื•ื ืกื•ืœื” AMI. ืœืื—ืจ ื”ืคืขืœืช ืืคืฉืจื•ืช ื–ื•, ืชื•ื›ืœ ืœื™ืฆื•ืจ ืงืฉืจ ืขื ื”ืžืจื›ื–ื™ื” ื‘ื›ืชื•ื‘ื•ืช ื”ื‘ืื•ืช:

https://ats:8089/manager - ื“ืฃ ืื™ื ื˜ืจื ื˜ ืขื ืžืžืฉืง ืคืฉื•ื˜ ืœื‘ื“ื™ืงื” ื•ืฉืœื™ื—ื” ื™ื“ื ื™ืช ืฉืœ ื‘ืงืฉื•ืช. ื›ืœ ื”ืชื’ื•ื‘ื•ืช ืžืขื•ืฆื‘ื•ืช ืœ-HTML ืงืจื™ื. ืœื ืžืชืื™ื ื‘ืžื™ื•ื—ื“ ืœื ื™ื˜ื•ืจ.
https://ats:8089/rawman - ืคืœื˜ ื˜ืงืกื˜ ื‘ืœื‘ื“, ืคื•ืจืžื˜ ื“ื•ืžื” ืœ-AMI ืฉืœ ื”ืžืกื•ืฃ
https://ats:8089/mxml - ืคืœื˜ ื˜ืงืกื˜ ื‘ืœื‘ื“, ื‘ืคื•ืจืžื˜ XML. ืžืชืื™ื ืœื ื•!

ื›ื™ืฆื“ ืœื—ื‘ืจ Zabbix ืขื ื›ื•ื›ื‘ื™ืช ืžื—ื•ืฅ ืœืงื•ืคืกื”

ื•ืื– ื—ืฉื‘ืชื™: "ื–ื” ื”ืคืชืจื•ืŸ! ืขื›ืฉื™ื• ื”ื›ืœ ื™ื”ื™ื” ืžื•ื›ืŸ! ืกื—ื™ื˜ืช ืœื™ืžื•ืŸ ืงืœื”", ืื‘ืœ ื–ื” ื”ื™ื” ืžื•ืงื“ื ืžื“ื™ ืœืฉืžื•ื—. ื›ื“ื™ ืœืงื‘ืœ ืืช ื”ืžื™ื“ืข ื”ื“ืจื•ืฉ ืœื ื•, ืžืกืคื™ืง ืœื”ืฉืชืžืฉ ื‘ื‘ืงืฉืช GET ืขื ื”ืคืขื•ืœื” ื”ื ื“ืจืฉืช ืคืขื•ืœื”, ืฉื‘ืชื’ื•ื‘ื” ืžื—ื–ื™ืจื” xml ืขื ืจืฉื™ืžื” ืฉืœ ื›ืœ ื”ืจื™ืฉื•ืžื™ื ื•ื”ืกื˜ื˜ื•ืก ืฉืœื”ื. ื›ืœ ื–ื” ื ื”ื“ืจ, ืื‘ืœ ืืชื” ืฆืจื™ืš ื”ืจืฉืื” ื›ื“ื™ ืœื–ื›ื•ืจ ืืช ื”ืคื’ื™ืฉื” ืžื”ืขื•ื’ื™ื™ื”. ื›ืฉืืชื” ื‘ื•ื“ืง ื‘ื“ืคื“ืคืŸ, ืืชื” ืœื ื—ื•ืฉื‘ ืขืœ ื”ืชื”ืœื™ืš ื”ื–ื”.

ืชื”ืœื™ืš ื”ืจืฉืื”

ืจืืฉื™ืช ืื ื• ืžืชื™ื™ื—ืกื™ื ืœื›ืชื•ื‘ืช http://ats:8089/mxml?action=login&username=zabbix&secret=zabbix, ื‘ืชื’ื•ื‘ื”, ื”ืฉืจืช ืฉื•ืœื— ืœื ื• ืงื•ื‘ืฅ Cookie ืขื ื”ืคืขืœืช ื”ื”ืจืฉืื”. ื›ืš ื ืจืื™ืช ื‘ืงืฉืช HTTP:

https://ats:8089/mxml?action=login&username=zabbix&secret=zabbix

Host: ats:8089
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1

ืชืฉื•ื‘ื”:

GET: HTTP/1.1 200 OK
Server: Asterisk/13.29.2
Date: Thu, 18 Jun 2020 17:41:19 GMT
Cache-Control: no-cache, no-store
Content-type: text/xml
Set-Cookie: mansession_id="6f5de42c"; Version=1; Max-Age=600
Pragma: SuppressEvents
Content-Length: 146

<ajax-response>
<response type="object" id="unknown">
<generic response="Success" message="Authentication accepted"/>
</response>
</ajax-response>

ื›ื“ื™ ืœืขื‘ื•ื“ ืฉื ืืชื” ืฆืจื™ืš mansession_id="6f5de42c", ื›ืœื•ืžืจ ืงื•ื‘ืฅ ื”-Cookie ืฉืœ ื”ื”ืจืฉืื” ืขืฆืžื•.
ืชื•ื›ืŸ ืฉืืชื” ืจืง ืฆืจื™ืš ืœื‘ื“ื•ืง ืืช ื”ืชืฉื•ื‘ื” "ื”ืื™ืžื•ืช ื”ืชืงื‘ืœ" ืœืื—ืจ ืžื›ืŸ, ืขื‘ื•ืจ ื›ืœ ื”ืฉื™ื—ื•ืช ืœืฉืจืช ื”ืžืจื›ื–ื™ื”, ื ืฆื˜ืจืš ืœื”ื•ืกื™ืฃ ืงื•ื‘ืฅ Cookie ืฉืœ ื”ืจืฉืื” ืœื‘ืงืฉื”.

https://ats:8089/mxml?action=SIPpeers

Host: ats:8089
Connection: close
Cookie: mansession_id="6f5de42c"

ืงืจื ื›ื™ืฆื“ ืœืงื‘ืœ ืงื•ื‘ืฅ Cookie ืฉืœ ื”ืจืฉืื” ื•ืœื”ืฉืชืžืฉ ื‘ื• ื‘ื‘ืงืฉื•ืช ืื—ืจื•ืช ื›ืืŸ: "Zabbix - ื”ืจื—ื‘ืช ื’ื‘ื•ืœื•ืช ื”ืžืืงืจื•ยป

ื›ื“ื™ ืœื™ืฆื•ืจ ืจื›ื™ื‘ื™ ืžืขืงื‘ ื‘- Zabbix ืืฉืชืžืฉ ื‘ื–ื™ื”ื•ื™ ืื•ื˜ื•ืžื˜ื™.

ื–ื™ื”ื•ื™ ืื•ื˜ื•ืžื˜ื™

ื›ื“ื™ ืœื–ื”ื•ืช ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ืจื™ืฉื•ืžื™ื ื•ืœืขืงื•ื‘ ืื—ืจ ืžืฆื‘ื™ ืขืžื™ืชื™ื, ืขืœื™ืš ืœื™ืฆื•ืจ ืงืฉืจ ืขื ื”ื›ืชื•ื‘ืช ื”ื‘ืื”: https://ats:8089/mxml?action=SIPshowregistry ืื• https://ats:8089/mxml?action=SIPpeers

ื‘ืชื’ื•ื‘ื”, ื”ืžืจื›ื–ื™ื” ืžื—ื–ื™ืจื” ืœื ื• ืชื’ื•ื‘ืช XML:

<ajax-response>
<response type="object" id="unknown">
<generic response="Success" eventlist="start" message="Registrations will follow"/>
</response>
...
<response type="object" id="unknown">
<generic event="RegistryEntry" host="login.mtt.ru" port="5060" username="111111" domain="login.mtt.ru" domainport="5060" refresh="105" state="Registered" registrationtime="1592502142"/>
</response>
<response type="object" id="unknown">
<generic event="RegistryEntry" host="voip.uiscom.ru" port="5060" username="222222" domain="voip.uiscom.ru" domainport="5060" refresh="105" state="Registered" registrationtime="1592502142"/>
</response>
<response type="object" id="unknown">
<generic event="RegistryEntry" host="voip.uiscom.ru" port="5060" username="333333" domain="voip.uiscom.ru" domainport="5060" refresh="105" state="Registered" registrationtime="1592502142"/>
</response>
...
</ajax-response>

ื™ืฉ ื”ืจื‘ื” ื–ื‘ืœ ื‘ืชื’ื•ื‘ื”, ืื– ื‘ืขื™ื‘ื•ื“ ืžืงื“ื™ื ืื ื—ื ื• ืžืกื ื ื™ื ืื•ืชื• ืœืคื™ ืชื‘ื ื™ืช Xpath: //response/generic[@host]
ื•ืื– ืžืชื—ื™ืœ ื”ื›ื™ืฃ. ื›ื“ื™ ืœืขื‘ื•ื“ ืขื ื–ื™ื”ื•ื™ ื•ืœื™ืฆื•ืจ ื‘ืื•ืคืŸ ื“ื™ื ืžื™ ืืœืžื ื˜ื™ื, ื”ืชื’ื•ื‘ื” ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช ื‘ืคื•ืจืžื˜ JSON. XML ืื™ื ื• ื ืชืžืš ืขื‘ื•ืจ ื–ื™ื”ื•ื™ ืื•ื˜ื•ืžื˜ื™.

ื›ื“ื™ ืœื”ืžื™ืจ XML ืœ-JSON, ื”ื™ื™ืชื™ ืฆืจื™ืš ืœืฉื—ืง ืงืฆืช ืขื ื”ื—ืœืคื” ืื•ื˜ื•ืžื˜ื™ืช, ื‘ืฉื‘ื™ืœ ื–ื” ืขืฉื™ืชื™ ืกืงืจื™ืคื˜ ื‘-JS

ื›ื™ืฆื“ ืœื—ื‘ืจ Zabbix ืขื ื›ื•ื›ื‘ื™ืช ืžื—ื•ืฅ ืœืงื•ืคืกื”

ื ืงื•ื“ื” ืžืขื ื™ื™ื ืช: ื‘ืชื’ื•ื‘ืช ATS, ื›ืœ ื”ืคืจืžื˜ืจื™ื ืžื•ืงืคื™ื ื‘ืžืจื›ืื•ืช ื‘ื•ื“ื“ื•ืช, ื•ืœืื—ืจ ื”ื—ืœืช ื”ืชื‘ื ื™ืช //response/generic[@host] ื”ื ืžื•ื—ืœืคื™ื ื‘ื›ืคื•ืœื™ื.

ื›ื“ื™ ืœื™ืฆื•ืจ ืืœืžื ื˜ื™ื, ืื ื• ืžืฉืชืžืฉื™ื ื‘ืžืฉืชื ื™ื ืžืชื’ื•ื‘ืช ื”-XML (ื›ื™ื•ื JSON)โ€‹.

ื›ื™ืฆื“ ืœื—ื‘ืจ Zabbix ืขื ื›ื•ื›ื‘ื™ืช ืžื—ื•ืฅ ืœืงื•ืคืกื”

ืจื™ืฉื•ื SIP

ืขื‘ื•ืจ ืจื™ืฉื•ื ืœื’ื™ืžื” ืื ื• ืžืฉืชืžืฉื™ื ื‘ืฉืœื•ืฉื” ืžืฉืชื ื™ื: ืฉื ืžืฉืชืžืฉ, ื”ืžืืจื—, ื ืžืœ. ื”ื™ื™ืชื™ ืžืจื•ืฆื” ืžื”ืฉื ืฉืœ ื”ืืœืžื ื˜ [ืžื•ื’ืŸ ื‘ื“ื•ื"ืœ]: 5060, ืœื ืžืฆืืชื™ ืžืฆื‘ื™ื ืฉื‘ื”ื ืืชื” ืฆืจื™ืš ืœื”ืฉืชืžืฉ ื‘ื›ืœ ื—ืžืฉืช ื”ืžืฉืชื ื™ื.

ื”ืืœืžื ื˜ ื”ืขื™ืงืจื™ ืฉืžืงื‘ืœ ืžื™ื“ืข ืขืœ ื›ืœ ื”ื”ืจืฉืžื•ืช, ื›ื•ื›ื‘ื™ืช - AMI SIPshowregistry. ืคืขื ื‘ื“ืงื” ื”ื•ื ืฉื•ืœื— ื‘ืงืฉืช GET ืœ https://ats:8089/mxml?action=SIPshowregistry, ื•ืœืื—ืจ ืžื›ืŸ ื ืชื•ื ื™ ื”-XML ืฉืœ ื”ืชื’ื•ื‘ื” ืžื•ืขื‘ืจื™ื ืœื›ืœ ื”ืืœืžื ื˜ื™ื ื”ืชืœื•ื™ื™ื ืœืฆื•ืจืš ื ื™ืชื•ื—. ืขื‘ื•ืจ ื›ืœ ืจื™ืฉื•ื ืื ื™ ื™ื•ืฆืจ ืืœืžื ื˜ ื”ืชืœื•ื™ ื‘ื•. ื–ื” ื ื•ื— ืžื›ื™ื•ื•ืŸ ืฉืื ื• ืžืงื‘ืœื™ื ืžื™ื“ืข ืขื“ื›ื ื™ ื‘ื‘ืงืฉื” ืื—ืช, ื•ืœื ืœื›ืœ ื‘ืงืฉื” ื‘ื ืคืจื“. ืœื™ื™ืฉื•ื ื”ื–ื” ื™ืฉ ื—ื™ืกืจื•ืŸ ืžืฉืžืขื•ืชื™ - ื”ืขื•ืžืก ืขืœ ื”ืžืขื‘ื“.

ื›ืฉื‘ื“ืงืชื™ ืขื“ 100 ืืœืžื ื˜ื™ื ืชืœื•ื™ื™ื, ืœื ืฉืžืชื™ ืœื‘ ืœืขื•ืžืก, ืื‘ืœ ืขื 1700 ืืœืžื ื˜ื™ื, ื–ื” ื ืชืŸ ืขื•ืžืก ื ื™ื›ืจ ืฉืœ 15 ืฉื ื™ื•ืช ืขืœ ื”ืžืขื‘ื“. ื–ื›ื•ืจ ื–ืืช ืื ื™ืฉ ืœืš ืžืกืคืจ ืจื‘ ืฉืœ ืืœืžื ื˜ื™ื ืชืœื•ื™ื™ื.

ื›ืืคืฉืจื•ืช "ืœืคื–ืจ" ืืช ื”ืขื•ืžืก ืื• ืœื”ื’ื“ื™ืจ ืชื“ืจื™ ืกืงืจ ืฉื•ื ื™ื ืขื‘ื•ืจ ืืœืžื ื˜, ื ื™ืชืŸ ืœื”ืขื‘ื™ืจ ืืช ื”ื™ื’ื™ื•ืŸ ื”ืขื™ื‘ื•ื“ ืœื›ืœ ืืœืžื ื˜ ื‘ื ืคืจื“.

ืื ื™ ืœื ืžืื—ืกืŸ ืืช ื”ืžื™ื“ืข ืฉื”ืชืงื‘ืœ ื‘ืืœืžื ื˜ ื”ืจืืฉื™. ืจืืฉื™ืช, ืื ื™ ืœื ืจื•ืื” ืฆื•ืจืš ื‘ื›ืš, ื•ืฉื ื™ืช, ืื ื”ืชื’ื•ื‘ื” ื”ื™ื ื™ื•ืชืจ ืž-64K, ืื– Zabbix ืžื ืชืงืช ืืช ื–ื”.

ืžื›ื™ื•ื•ืŸ ืฉืื ื• ืžืฉืชืžืฉื™ื ื‘ืชื’ื•ื‘ืช XML ืžืœืื” ืขื‘ื•ืจ ื”ืืœืžื ื˜ ื”ืชืœื•ื™, ืขืœื™ื ื• ืœืงื‘ืœ ืืช ื”ืขืจืš ืฉืœ ืืœืžื ื˜ ื–ื” ื‘ืขื™ื‘ื•ื“ ืžืงื“ื™ื. ื“ืจืš Xpath ื–ื” ื ืขืฉื” ื›ืš:
string(//response/generic[@event="RegistryEntry"][@username="{#SIP_REGISTRY_USERNAME}"][@host="{#SIP_REGISTRY_HOST}"][@port="{#SIP_REGISTRY_PORT}"]/@ ืžื“ื™ื ื”)
ืขื‘ื•ืจ ืกื˜ื˜ื•ืกื™ ืจื™ืฉื•ื, ืœื ื”ืฉืชืžืฉืชื™ ื‘ืกื˜ื˜ื•ืกื™ ื˜ืงืกื˜, ืืœื ื”ืžืจืชื™ ืื•ืชื ืœืฆื•ืจื” ืžืกืคืจื™ืช ื‘ืืžืฆืขื•ืช JavaScript:

switch(value) {
  case 'Registered':
    return 1;
  case 'Unregistered':
    return 0;
  default:
    return -1;
}

SIP Peers

ื‘ืื ืœื•ื’ื™ื” ืœืจื™ืฉื•ืžื™ SIP, ื™ืฉื ื• ืžืจื›ื™ื‘ ืขื™ืงืจื™ ืฉืœ Asterisk - AMI SIPshowregistry, ืฉืืœื™ื• ืžืชื•ื•ืกืคื™ื ืชืœื•ื™ื™ื.

ื–ื” ื™ื•ืฆืจ ืฉื ื™ ืืœืžื ื˜ื™ื ืชืœื•ื™ื™ื:

  • ืกื˜ื˜ื•ืก ืขืžื™ืช ื‘ืฆื•ืจืช ื˜ืงืกื˜
  • ื–ืžืŸ ืชื’ื•ื‘ื” ืฉืœ ื”ืžื›ืฉื™ืจ - ืื ื”ืžืฆื‘ ื‘ืกื“ืจ, ื–ืžืŸ ื”ืชื’ื•ื‘ื” ืฉืœ ื”ืžื›ืฉื™ืจ ื ื›ืชื‘, ืื—ืจืช "-1"

ื”ื“ืจืš ืืœ ื”ืืœืžื ื˜ ืขืฆืžื• ืžืขื˜ ื™ื•ืชืจ ืคืฉื•ื˜ื” Xpath:

string(//response/generic[@objectname="{#SIP_PEER_OBEJECTNAME}"]/@status)

ืขื‘ื•ืจ ื”ืืœืžื ื˜ ื”ืฉื ื™ ื”ืฉืชืžืฉืชื™ ื‘-JavaScript ื›ื“ื™ ืœื”ืคืจื™ื“ ื–ืžืŸ ืชื’ื•ื‘ื” ืžืกื˜ื˜ื•ืก ืขืžื™ืช, ืžื›ื™ื•ื•ืŸ ืฉื”ื ืžืื•ื—ืกื ื™ื ื™ื—ื“:

if(value.substring(0,2) == 'OK'){
	return value.match(/(d+)/gm);
}
else {
	return -1;
}

ืžืกืงื ื”

ืคืชืจื•ืŸ ืžื—ื•ืฅ ืœืงื•ืคืกื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžื•ืจื›ื‘ ื•ืœื ื‘ืจื•ืจ ืžื™ื“. ืžื’ื‘ื™ืจ ืืช ื”ื’ืžื™ืฉื•ืช ื•ื”ื ื™ื™ื“ื•ืช ื‘ื™ืŸ ืžืขืจื›ื•ืช ืฉื•ื ื•ืช

ื”ืฉืชืœื‘ื•ืช ื ืขื™ืžื” ื•ืงืœื” ืœื›ื•ืœื! ืชื‘ื ื™ืช ื•ื”ื•ืจืื•ืช ืœื”ื’ื“ืจื” GitHub.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”