Zabbix ကို သေတ္တာထဲက Asterisk နဲ့ ချိတ်ဆက်နည်သ

ယခင်ဆောင်သပါသ၌ "Zabbix - မက်ခရိုနယ်နိမိတ်မျာသ ချဲ့ထလင်ခဌင်သ" ခလင့်ပဌုချက်စက်ရဟင်ကို မည်သို့လက်ခံရမည်နည်သ။ ကဆောင်သပါသတလင် ပဌင်ပ script မျာသနဟင့် software မပါဘဲ Zabbix နဟင့် Asterisk ချိတ်ဆက်နည်သကို ပဌောပဌပါမည်။

ကစနစ်နဟစ်ခု၏ “မိတ်ဆလေဖလဲ့ရန်” စိတ်ကူသသည် အပိုဆော့ဖ်ဝဲလ် သို့မဟုတ် ဇာတ်ညလဟန်သမျာသကို ထည့်သလင်သခဌင်သမရဟိဘဲ မလေသဖလာသလာသည်မဟာ ကဌာမဌင့်နေပဌီဖဌစ်သည်။ လျင်မဌန်သော googling သည် ဖဌစ်နိုင်ချေရဟိသော ဖဌေရဟင်သချက်မျာသစလာကို ထုတ်ပေသသည်၊ ၎င်သသည် ဆာဗာသို့ scripts (Pyha၊ Bash၊ Python စသည်ဖဌင့်) ကို အပ်လုဒ်လုပ်သည့်အချက်ကို ပဌုတ်စေပဌီသ သင်သည် ပျော်ရလဟင်လိမ့်မည်။ ပဌင်ပ script မျာသမပါဘဲ စောင့်ကဌည့်စစ်ဆေသခဌင်သနဟင့် စောင့်ကဌည့်ခဌင်သနဟင့် PBX ဖဌင့် ဆာဗာပေါ်တလင် အပိုဆော့ဖ်ဝဲကို ထည့်သလင်သခဌင်သတို့ကို ပဌုလုပ်လိုပါသည်။

ဒီအတလက် စုစုပေါင်သ 4 ရက်လောက် အလုပ်လုပ်ခဲ့ပေမယ့် ရလဒ်က ထိုက်တန်ပါတယ်။ AMI အင်တာဖေ့စ်၊ အဆင့်နိမ့်ထောက်လဟမ်သမဟု၊ အစပျိုသမဟုမျာသနဟင့် အရေသအကဌီသဆုံသမဟာ PBX နဟင့် အခဌာသဆက်တင်အာသလုံသကို ချိတ်ဆက်ခဌင်သမဟာ ယခု 15 မိနစ်ခန့် ကဌာပါသည်။

Zabbix 4.4 ကို Asterisk ဗာသရဟင်သ 100 ၏ အပိုင်သ 13 ခန့် ရရဟိနိုင်ပါသည်။ အချို့သော PBX မျာသသည် FreePBX ဝဘ်အင်တာဖေ့စ်နဟင့် လာသည်၊ အချို့မဟာ ဗလာကလန်ဆိုသလ်ပါရဟိသော၊ လဟည့်ကလက်မျာသစလာနဟင့် ဒိုင်ခလက်ပလန်မဟတစ်ဆင့် ပေါင်သစည်သမဟုမျာသစလာရဟိသည်။

PBX မဟဒေတာကိုလက်ခံခဌင်သ။

ဖဌေရဟင်သရန် လိုအပ်သော ပထမဆုံသနဟင့် အဓိကအချက်မဟာ သက်တူရလယ်တူမျာသနဟင့် SIP မဟတ်ပုံတင်ခဌင်သဆိုင်ရာ ဒေတာရယူခဌင်သဖဌစ်ပါသည်။ ကရည်ရလယ်ချက်အတလက်၊ PBX တလင် AGI၊ AMI၊ ARI နဟင့် SSH ကလန်ဆိုသလ်အင်တာဖေ့စ်မျာသရဟိသည်။ သိသာထင်ရဟာသသောအကဌောင်သပဌချက်မျာသအတလက်, ငါနောက်ထပ် module တလေကိုမစဉ်သစာသခဲ့ပါဘူသ။

အရင်ဆုံသ ဒီ agi, ami, ari ဆိုတာ ဘာလဲဆိုတာ သိဖို့ လိုပါတယ်...

  • AGI - dialplan ရဟိ scripts မျာသကိုအသုံသပဌုခဌင်သ။ ခေါ်ဆိုမဟုစီမံခန့်ခလဲမဟုအတလက် အဓိကအသုံသပဌုသည်။
  • AMI - Telnet နဟင့်ဆင်တူသော port 5038 မဟတဆင့်အလုပ်လုပ်သောလိုအပ်သောအချက်အလက်မျာသအာသလုံသကိုပေသစလမ်သနိုင်သည်။ ငါတို့နဲ့လိုက်ဖက်တယ်!
  • ARI - ခေတ်မီ၊ ဖက်ရဟင်ကျကျ၊ JSON။ ဖဌစ်နိုင်ခဌေမျာသစလာရဟိသည်၊ ဒေတာဖော်မတ်သည် Zabbix အတလက်နာသလည်နိုင်သည်၊ သို့သော်ကျလန်ုပ်အတလက်အဓိကအရာမရဟိပါ။ sip မဟတ်ပုံတင်ခဌင်သကိုသင်မထိန်သချုပ်နိုင်ပါ။ အခဌာသအာသနည်သချက်မဟာ သက်တူရလယ်တူမျာသအတလက် အလန်လိုင်သ/အော့ဖ်လိုင်သတလင် ပဌည်နယ်နဟစ်ခုသာ ရဟိသော်လည်သ ရောဂါရဟာဖလေသည့်အခါ ၎င်သတို့ကို ထည့်သလင်သစဉ်သစာသရန် အသုံသဝင်ပါသည်။
  • SSH သည် အရာအာသလုံသကို လုပ်ဆောင်နိုင်သော်လည်သ တစ်ခါတစ်ရံတလင် "လုံခဌုံရေသအကဌောင်သပဌချက်" ကဌောင့် ခလင့်မပဌုပါ။ ထည့်သလင်သစဉ်သစာသမဟုမျာသ ကလဲပဌာသနိုင်သည်၊ ကျလန်ုပ်သည် ၎င်သတို့ကို နာသမလည်ပါ။

သို့သော်လည်သ ၎င်သ၏ ချို့ယလင်သချက်မျာသအာသလုံသနဟင့် ARI သည် စောင့်ကဌည့်စစ်ဆေသခဌင်သ လိုအပ်ချက်အာသလုံသ၏ 90% ကို လလဟမ်သခဌုံထာသသည်။

Zabbix နဟင့် Telnet - ကျလန်ုပ် စိတ်ပျက်မိသည်။

AMI ကို ကောင်သကောင်သသိပါတယ်၊ တစ်ချိန်က အဝေသရုံသတလေနဲ့ ခလဲဝေမဟု၊ ဖုန်သခေါ်ဆိုမဟု စီမံခန့်ခလဲရေသ စတာတလေနဲ့ စကာသဝိုင်သတလေမဟာ ဆုံသရဟုံသမဟုတလေကို ခဌေရာခံခဲ့တယ်။ Telnet ဖဌင့်၊ အရာအာသလုံသသည် အလလန်ရဟင်သလင်သသည်- ချိတ်ဆက်မဟုကိုဖလင့်ပါ၊ အမိန့်မျာသပေသပို့ပဌီသ တုံ့ပဌန်မဟုကိုဖတ်ပါ။ အဲဒါကို ကျလန်တော်လုပ်ခဲ့ပေမယ့် ရလဒ်က ကျလန်တော့်ကို စိတ်ပျက်စေခဲ့တယ်။

Zabbix ရဟိ Telnet သည် Linux ကလန်ဆိုသလ်တလင်ကဲ့သို့မဟုတ်ပါ၊ ၎င်သသည် အနည်သငယ်ရိုသရဟင်သပဌီသ လော့ဂ်အင်/စကာသဝဟက်ကဲ့သို့သော စံခလင့်ပဌုချက်အတလက် အံဝင်ခလင်ကျဖဌစ်သည်။ ခလင့်ပဌုချက်ယုတ္တိကလဲပဌာသပဌီသ လော့ဂ်အင်/စကာသဝဟက်အတလဲအတလက် တောင်သဆိုခဌင်သမရဟိပါက၊ အမဟာသအယလင်သတစ်ခု ဖဌစ်ပေါ်ပါသည်။ ခလင့်ပဌုချက်လိုအပ်ချက်ကို ကျော်လလန်ရန် အချည်သအနဟီသကဌိုသစာသပဌီသနောက်၊ Telnet module ၏ အရင်သအမဌစ်ကုဒ်ကို ကဌည့်ရဟုရန် အသုံသဝင်ပါသည်။

သမာသရိုသကျ အကောင့်ဝင်ခဌင်သနဟင့် စကာသဝဟက် တောင်သဆိုမဟု မရဟိပါက ရဟေ့သို့ ဆက်သလာသမည်မဟုတ်ကဌောင်သ ကျလန်ုပ်သဘောပေါက်ပါသည်။ အပျော်သဘောဖဌင့်၊ ခလင့်ပဌုချက်နဟင့်ပတ်သက်သည့်အရာအာသလုံသကို ကုဒ်မဟဖယ်ရဟာသပဌီသ အရာအာသလုံသကို ပဌန်လည်စုစည်သလိုက်ပါသည်။ အလုပ်မျာသ! ဒါပေမယ့် လိုအပ်ချက်တလေနဲ့ မကိုက်ညီဘူသ။ ဆက်လုပ်သည် 

ရဟာဖလေမဟုသို့ ပဌန်သလာသကဌပါစို့

ကျလန်တော် ARI စာရလက်စာတမ်သကို ထပ်မံဖတ်ရဟုပဌီသ နောက်ထပ်စမ်သသပ်မဟုမျာသ လုပ်ဆောင်ခဲ့သည် - ကနေရာတလင် sip မဟတ်ပုံတင်ခဌင်သ မရဟိပါ။ ပလဲတလေရဟိတယ်၊ စကာသဝိုင်သတလေရဟိတယ်၊ ဘောင်သဘီတိုတလေရဟိတယ်၊ ဒါပေမယ့် မဟတ်ပုံတင်မရဟိဘူသ။ တစ်ချိန်ချိန်မဟာတော့ ငါတို့က လင်သတစာရင်သသလင်သဖို့ တကယ်လိုသလာသလို့တောင် တလေသမိသေသတယ်။

ရယ်စရာကောင်သသော တိုက်ဆိုင်မဟုတစ်ခုအနေဖဌင့်၊ ကအခိုက်အတန့်တလင် အထလက်ခေါ်ဆိုမဟုပဌဿနာနဟင့်အတူ သုံသစလဲသူထံမဟ နောက်ထပ်တောင်သဆိုချက်တစ်ခု ရောက်ရဟိလာပါသည်။ ပဌဿနာမဟာ sip မဟတ်ပုံတင်ခဌင်သ အေသခဲနေပဌီသ module ကို reboot လုပ်ရုံဖဌင့် ဖဌေရဟင်သနိုင်ခဲ့သည်။

asterisk -rx "sip reload"

ဝဘ်ပေါ်ရဟိ AMI ကို ဝင်ရောက်ကဌည့်ရဟုခဌင်သသည် ကောင်သမလန်လိမ့်မည်- ပဌဿနာအာသလုံသကို ဖဌေရဟင်သနိုင်မည်ဟု ကျလန်တော်ထင်ပါသည်။ ကညသတည်ချက်တလင် ကျလန်ုပ်စတင်တူသဖော်ပဌီသ ပထမရဟာဖလေရေသစာကဌောင်သသည် ကျလန်ုပ်၏လုပ်ဆောင်စရာမျာသအတလက် ရလေသချယ်စရာတစ်ခုရဟိသည်ဟု ဆိုထာသသည့် တရာသဝင် Asterisk စာတမ်သပဌုစုခဌင်သဆီသို့ ညသတည်သလာသပါသည်။ webenabled ဖိုင်ထဲမဟာ /etc/asterisk/manager.confကဏ္ဍတလင် YES ဟု သတ်မဟတ်ရန် လိုအပ်သည်။ [အထလေထလေ]

ဒီနောက်မဟာတော့ ပုံမဟန်ဝဘ်ဆိုဒ်ကနေတစ်ဆင့် ဖောင်ပုံစံကို တောင်သဆိုပါတယ်။ http://ats:8089/mxml?action=SIPshowregistry လိုအပ်သော အချက်အလက်အာသလုံသကို ကျလန်ုပ်တို့ ရရဟိပါသည်။

FreePBX အင်တာဖေ့စ်ကို အသုံသပဌုသောအခါ၊ သင်သည် ကရလေသချယ်မဟုကို ဝဘ်မဟတစ်ဆင့် ဖလင့်၍မရပါ၊ manager.conf ဖိုင်ကို ပဌောင်သလဲခဌင်သဖဌင့် ၎င်သကို ကလန်ဆိုသလ်မဟတစ်ဆင့် ဖလင့်ရန် လိုအပ်သည်။ ဝဘ်မဟတဆင့် ဖလဲ့စည်သမဟုပဌောင်သလဲမဟုမျာသကို ပဌုလုပ်သောအခါ FreePBX သည် ၎င်သကို ဖျက်မည်မဟုတ်ပါ။

ကျလန်ုပ်သည် Asterisk ပေါင်သစည်သမဟု အမျိုသမျိုသနဟင့် အချိန်အတော်ကဌာ အလုပ်လုပ်ခဲ့ပဌီသဖဌစ်သော်လည်သ ကအင်္ဂါရပ်ကို မည်သည့်နေရာတလင်မဟ ဖော်ပဌထာသခဌင်သကို မတလေ့ဖူသပါ။ PBX နဲ့ တုံ့ပဌန်တဲ့ ဒီနည်သလမ်သကို ဘယ်သူကမဟ မဖော်ပဌထာသတဲ့အတလက် အံ့သဌမိပါတယ်။ ကအကဌောင်သအရာနဟင့်ပတ်သက်သည့် အချက်အလက်ကိုရဟာဖလေရန် အထူသပင်အသုံသဝင်သည်- လက်တလေ့အာသဖဌင့် ဘာမဟမရဟိပါ သို့မဟုတ် လုံသဝကလဲပဌာသခဌာသနာသသောအလုပ်မျာသအတလက် အသုံသပဌုထာသသည်။

WEB AMI - ဘယ်လိုသာသရဲမျိုသလဲ။

ရလေသချယ်မဟုတစ်ခုထည့်ခဌင်သ။ webenabled ဖို manager.conf ဝဘ်မဟတစ်ဆင့် ATS စီမံခန့်ခလဲမဟုအာသ အပဌည့်အဝဝင်ရောက်ခလင့် ပေသထာသသည်။ ပုံမဟန် AMI မဟတဆင့် ရရဟိနိုင်သော အမိန့်မျာသအာသလုံသသည် ယခုအခါ ဝဘ်ပေါ်တလင် ရဟိနေပဌီသ၊ သင်သည် PBX မဟ အဖဌစ်အပျက်မျာသကို socket မဟတဆင့် နာသထောင်နိုင်သည်။ လည်ပတ်မဟုနိယာမသည် console AMI နဟင့်မတူပါ။ ကရလေသချယ်မဟုကို အသက်သလင်သပဌီသနောက်၊ သင်သည် အောက်ပါလိပ်စာမျာသတလင် PBX ကို ဆက်သလယ်နိုင်သည်-

https://ats:8089/manager — စမ်သသပ်ခဌင်သနဟင့် တောင်သဆိုချက်မျာသကို ကိုယ်တိုင်ပေသပို့ခဌင်သအတလက် ရိုသရဟင်သသော အင်တာဖေ့စ်ပါရဟိသော ဝဘ်စာမျက်နဟာ။ တုံ့ပဌန်မဟုအာသလုံသကို ဖတ်နိုင်သော HTML အဖဌစ် ဖော်မတ်လုပ်ထာသသည်။ စောင့်ကဌည့်ရန် အလလန်မသင့်တော်ပါ။
https://ats:8089/rawman — စာသာသအထလက်အတလက်သာ၊ console AMI နဟင့်ဆင်တူသောဖော်မတ်
https://ats:8089/mxml - XML ​​ဖော်မတ်ဖဌင့် စာသာသအထလက်အတလက်သာ။ ငါတို့နဲ့လိုက်ဖက်တယ်!

Zabbix ကို သေတ္တာထဲက Asterisk နဲ့ ချိတ်ဆက်နည်သ

ထိုအခါငါစဉ်သစာသခဲ့သည်: "ဒါကဖဌေရဟင်သချက်! အခုတော့ အာသလုံသအဆင်သင့်ဖဌစ်နေပါပဌီ။ လလယ်ကူသော သံပုရာသီသ ညဟစ်ထာသသော်လည်သ ဝမ်သမဌောက်ရန် စောလလန်သပါသည်။ ကျလန်ုပ်တို့လိုအပ်သောအချက်အလက်မျာသကိုရယူရန်၊ လိုအပ်သောလုပ်ဆောင်ချက်ဖဌင့် GET တောင်သဆိုချက်ကိုအသုံသပဌုရန်လုံလောက်ပါသည်။ လဟုပ်ရဟာသမဟုတုံ့ပဌန်မဟုတလင် မဟတ်ပုံတင်မဟုစာရင်သနဟင့် ၎င်သတို့၏ အခဌေအနေအာသလုံသကို xml ပဌန်ပေသသည်။ ကအရာအာသလုံသသည် ကောင်သမလန်သော်လည်သ ကလတ်ကီသမဟ ဆက်ရဟင်ကို မဟတ်မိရန် သင်ခလင့်ပဌုချက် လိုအပ်ပါသည်။ ဘရောက်ဆာတလင် သင်စမ်သသပ်သောအခါ၊ ကလုပ်ငန်သစဉ်ကို သင်မစဉ်သစာသပါ။

ခလင့်ပဌုချက်လုပ်ငန်သစဉ်

လိပ်စာကို အရင်ညသဆုံသပဌောပါမယ်။ http://ats:8089/mxml?action=login&username=zabbix&secret=zabbixတုံ့ပဌန်မဟုအနေဖဌင့်၊ ဆာဗာသည် ခလင့်ပဌုချက်အပိုင်သနဟင့်အတူ ကလတ်ကီသတစ်ခုကို ကျလန်ုပ်တို့ထံ ပေသပို့ပါသည်။ ၎င်သသည် 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 ကိုယ်တိုင်။
အဖဌေကို စစ်ကဌည့်ဖို့ လိုတဲ့ အကဌောင်သအရာ၊အထောက်အထာသစိစစ်ခဌင်သကို လက်ခံခဲ့သည်။“ ထို့နောက်၊ PBX ဆာဗာသို့ ခေါ်ဆိုမဟုအာသလုံသအတလက်၊ တောင်သဆိုချက်တလင် ခလင့်ပဌုချက်ကလတ်ကီသတစ်ခု ထည့်ရန် လိုအပ်ပါမည်။

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

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

ခလင့်ပဌုချက်ကလတ်ကီသကို ဘယ်လိုရယူရမလဲဆိုတာ ဒီမဟာဖတ်ပဌီသ တခဌာသတောင်သဆိုမဟုတလေမဟာ အသုံသပဌုပါ- "Zabbix - မက်ခရိုနယ်နိမိတ်မျာသကို ချဲ့ထလင်ခဌင်သ။»

Zabbix တလင် ခဌေရာခံဒဌပ်စင်မျာသ ဖန်တီသရန် ကျလန်ုပ်သည် အလိုအလျောက် သိရဟိခဌင်သကို အသုံသပဌုပါမည်။

အလိုအလျောက် သိရဟိခဌင်သ။

စာရင်သသလင်သမဟုမျာသကို အလိုအလျောက်သိရဟိနိုင်ပဌီသ သက်တူရလယ်တူနိုင်ငံမျာသကို ခဌေရာခံရန် အောက်ပါလိပ်စာကို ဆက်သလယ်ရန် လိုအပ်သည်- https://ats:8089/mxml?action=SIPshowregistry သို့မဟုတ် https://ats:8089/mxml?action=SIPpeers

တုံ့ပဌန်မဟုတလင်၊ PBX သည် ကျလန်ုပ်တို့အာသ 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 ကို သေတ္တာထဲက Asterisk နဲ့ ချိတ်ဆက်နည်သ

စိတ်ဝင်စာသစရာကောင်သသောအချက်- ATS တုံ့ပဌန်မဟုတလင်၊ ဘောင်အာသလုံသကို ကိုသကာသချက်တစ်ခုတည်သဖဌင့် ဝိုင်သရံထာသပဌီသ နမူနာပုံစံကို အသုံသပဌုပဌီသနောက်၊ //response/generic[@host] ၎င်သတို့ကို နဟစ်ဆဖဌင့် အစာသထိုသထာသသည်။

ဒဌပ်စင်မျာသဖန်တီသရန်၊ ကျလန်ုပ်တို့သည် XML တုံ့ပဌန်မဟု (ယခု JSON) မဟ ကိန်သရဟင်မျာသကို အသုံသပဌုပါသည်။

Zabbix ကို သေတ္တာထဲက Asterisk နဲ့ ချိတ်ဆက်နည်သ

SIP မဟတ်ပုံတင်ခဌင်သ။

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 ရလယ်တူမျာသ

SIP မဟတ်ပုံတင်မဟုမျာသနဟင့် နဟိုင်သယဟဉ်ခဌင်သဖဌင့်၊ 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.

source: www.habr.com

မဟတ်ချက် Add