Conas Zabbix a nascadh le Réiltín as an mbosca

In alt roimhe seo "Zabbix - ag leathnĂș teorainneacha macra" DĂșirt mĂ© leat conas seisiĂșn Ășdaraithe a fhĂĄil agus Ă© a chur in ionad macra Ăłstach ĂĄitiĂșil. San Airteagal seo inseoidh mĂ© duit conas Zabbix a nascadh le Asterisk gan scripteanna agus bogearraĂ­ seachtracha.

Rugadh an smaoineamh “cairde a dhĂ©anamh” den dĂĄ chĂłras seo i bhfad Ăł shin, gan bogearraĂ­ nĂł scripteanna breise a shuiteĂĄil. Fuarthas go leor rĂ©itigh fhĂ©ideartha le googling tapa, thĂĄinig sĂ© ar fad sĂ­os ar an bhfĂ­ric gur uaslĂłdĂĄil na scripteanna (i Pyha, Bash, Python, etc.) chuig an bhfreastalaĂ­, agus beidh tĂș sĂĄsta. BhĂ­ mĂ© ag iarraidh monatĂłireacht a dhĂ©anamh “as an mbosca” a chur i bhfeidhm - gan scripteanna seachtracha agus bogearraĂ­ breise a shuiteĂĄil ar an bhfreastalaĂ­ le monatĂłireacht agus PBX.

Chaith mĂ© 4 lĂĄ oibre san iomlĂĄn leis seo, ach b'fhiĂș an toradh Ă©. Ag obair trĂ­d an gcomhĂ©adan AMI, braite leibhĂ©al Ă­seal, truicear, agus nĂ­os tĂĄbhachtaĂ­ fĂłs, tĂłgann sĂ© thart ar 15 nĂłimĂ©ad chun an PBX agus gach socrĂș eile a nascadh.

TĂĄ Zabbix 4.4 ar fĂĄil, thart ar 100 pĂ­osa de leagan RĂ©iltĂ­n 13. Tagann roinnt PBXanna leis an gcomhĂ©adan grĂ©asĂĄin FreePBX, cuid acu le consĂłl lom, a lĂĄn cleasanna agus comhthĂĄthĂș trĂ­ phlean diail.

Ag fĂĄil sonraĂ­ Ăłn PBX

Is Ă© an chĂ©ad phointe agus an prĂ­omhphointe nach mĂłr a rĂ©iteach nĂĄ sonraĂ­ a fhĂĄil faoi chlĂĄrĂșchĂĄin piaraĂ­ agus SIP. Chun na crĂ­che sin, tĂĄ comhĂ©adain AGI, AMI, ARI agus SSH ag an PBX. Ar chĂșiseanna soilĂ©ire, nĂ­or bhreithnigh mĂ© modĂșil bhreise.

Ar dtĂșs caithfimid a dhĂ©anamh amach cad iad na agi, ami, ari seo...

  • AGI - ag baint ĂșsĂĄide as scripteanna sa dialplan. ÚsĂĄidtear go prĂ­omha le haghaidh bainistĂ­ochta glaonna.
  • AMI - is fĂ©idir leis an fhaisnĂ©is go lĂ©ir is gĂĄ a sholĂĄthar, oibrĂ­onn sĂ© trĂ­ phort 5038, cosĂșil le Telnet. Oireann dĂșinn!
  • ARI - nua-aimseartha, faiseanta, JSON. TĂĄ go leor fĂ©idearthachtaĂ­ ann, tĂĄ an fhormĂĄid sonraĂ­ intuigthe do Zabbix, ach domsa nĂ­l aon rud is mĂł: nĂ­ fĂ©idir leat an clĂĄrĂș sip a rialĂș. MĂ­bhuntĂĄiste eile is ea nach bhfuil ach dhĂĄ stĂĄt ar lĂ­ne/as lĂ­ne do chomhghleacaithe, cĂ© go bhfuil nĂ­os mĂł stĂĄt ann agus tĂĄ sĂ© ĂșsĂĄideach iad a chur san ĂĄireamh agus diagnĂłis ĂĄ dhĂ©anamh.
  • Is fĂ©idir le SSH gach rud a dhĂ©anamh, ach uaireanta nĂ­ cheadaĂ­tear Ă© mar gheall ar “chĂșiseanna slĂĄndĂĄla”. D’fhĂ©adfadh go mbeadh cĂșinsĂ­ difriĂșla, nĂ­ rachaidh mĂ© isteach iontu.

Mar sin fĂ©in, lena heasnaimh ar fad, clĂșdaĂ­onn ARI 90% de na riachtanais mhonatĂłireachta go lĂ©ir.

Zabbix agus Telnet - mo dĂ­omĂĄ

Tå a fhios agam go maith ar AMI; Le Telnet, tå gach rud an-soiléir freisin: oscail an nasc, seol na horduithe agus léigh an freagra. Sin a rinne mé, ach chuir an toradh díomå orm.

NĂ­ hionann Telnet Zabbix agus Telnet an chonsĂłil. LinuxTĂĄ sĂ© beagĂĄn nĂ­os simplĂ­ agus deartha le haghaidh fĂ­ordheimhniĂș caighdeĂĄnach logĂĄla isteach/pasfhocal. MĂĄ tĂĄ an loighic fĂ­ordheimhnithe difriĂșil agus mura n-iarrtar pĂ©ire logĂĄla isteach/pasfhocal, tarlaĂ­onn earrĂĄid. Tar Ă©is dom iarracht a dhĂ©anamh an riachtanas fĂ­ordheimhnithe a sheachaint gan rath, thosaigh mĂ© ag fĂ©achaint ar chĂłd foinse an mhodĂșil Telnet.

Thuig mĂ© go dtĂ­ go mbeidh iarratas traidisiĂșnta logĂĄil isteach agus pasfhocal, nĂ­ bheidh mĂ© ag dul ar aghaidh. DĂ­reach le haghaidh spraoi, bhain mĂ© gach rud a bhaineann le hĂșdarĂș as an gcĂłd agus atĂłgadh gach rud. OibrĂ­onn! Ach nĂ­ chomhlĂ­onann sĂ© na ceanglais. Lean ar aghaidh


Fillfimid ar an gcuardach

LĂ©igh mĂ© na doicimĂ©id ARI arĂ­s, rinne mĂ© tĂĄstĂĄlacha breise - nĂ­l aon chlĂĄrĂșchĂĄin sip anseo. TĂĄ fĂ©astaĂ­ ann, tĂĄ comhrĂĄite ann, tĂĄ brĂ­stĂ­ ann, ach nĂ­l aon chlĂĄrĂșchĂĄin ann. Ag pointe Ă©igin shĂ­l mĂ© fiĂș, an bhfuil gĂĄ againn i ndĂĄirĂ­re clĂĄrĂș vulture?

TrĂ­ chomhtharlĂș greannmhar, ag an nĂłimĂ©ad seo a thagann iarratas eile Ăłn ĂșsĂĄideoir, le fadhb le glaonna amach. Ba Ă­ an fhadhb nĂĄ go raibh an clĂĄrĂș sip reo agus gur rĂ©itĂ­odh Ă© ach an modĂșl a atosĂș.

asterisk -rx "sip reload"

Bheadh ​​sĂ© iontach rochtain a fhĂĄil ar AMI ar an ngrĂ©asĂĄn: rĂ©iteodh sĂ© sin na fadhbanna go lĂ©ir, shĂ­l mĂ©. TosaĂ­onn mĂ© ag tochailt sa treo seo, agus go litriĂșil mar thoradh ar an gcĂ©ad lĂ­ne cuardaigh go dtĂ­ an doicimĂ©adĂș oifigiĂșil RĂ©iltĂ­n, a deir go bhfuil rogha ann do mo thascanna grĂ©asĂĄnaithe i gcomhad /etc/asterisk/manager.conf, a chaithfear a shocrĂș go TÁ, sa roinn [ginearĂĄlta]

Tar éis seo, trí iarratas gréasåin rialta ar an bhfoirm http://ats:8089/mxml?action=SIPshowregistry faighimid an t-eolas riachtanach ar fad.

Agus an comhĂ©adan FreePBX ĂĄ ĂșsĂĄid agat, nĂ­ fĂ©idir leat an rogha seo a chumasĂș trĂ­d an ngrĂ©asĂĄn; nĂ­ mĂłr duit Ă© a chumasĂș trĂ­d an gconsĂłl trĂ­ athruithe a dhĂ©anamh ar an gcomhad manager.conf. NĂ­ scriosann FreePBX Ă© nuair a dhĂ©antar athruithe cumraĂ­ochta trĂ­d an ngrĂ©asĂĄn.

D'oibrigh mĂ© le cineĂĄlacha Ă©agsĂșla comhthĂĄthĂș rĂ©iltĂ­n le fada an lĂĄ, ach nĂ­ fhaca mĂ© an ghnĂ© seo luaite in ĂĄit ar bith. BhĂ­ ionadh orm nach ndĂ©anann aon duine cur sĂ­os ar an modh seo chun idirghnĂ­omhĂș leis an PBX. BhĂ­ sĂ© ĂșsĂĄideach fiĂș faisnĂ©is a lorg ar an ĂĄbhar seo: nĂ­l rud ar bith beagnach nĂł baineadh ĂșsĂĄid as le haghaidh tascanna go hiomlĂĄn difriĂșil.

WEB AMI - cén cineål beithíoch?

Rogha a chur leis grĂ©asĂĄnaithe a chomhdĂș bainisteoir.conf rochtain iomlĂĄn a sholĂĄthar ar bhainistĂ­ocht ATS trĂ­d an ngrĂ©asĂĄn. TĂĄ gach ordĂș atĂĄ ar fĂĄil trĂ­ AMI rialta ar an ngrĂ©asĂĄn anois, is fĂ©idir leat Ă©isteacht le himeachtaĂ­ Ăłn PBX trĂ­ soicĂ©ad. NĂ­l prionsabal na hoibrĂ­ochta difriĂșil Ăł thaobh an chonsĂłil AMI. Tar Ă©is duit an rogha seo a ghnĂ­omhachtĂș, is fĂ©idir leat teagmhĂĄil a dhĂ©anamh leis an PBX ag na seoltaĂ­ seo a leanas:

https://ats:8089/manager — leathanach grĂ©asĂĄin le comhĂ©adan simplĂ­ chun iarratais a thĂĄstĂĄil agus a sheoladh de lĂĄimh. DĂ©antar gach freagra a fhormĂĄidiĂș i HTML inlĂ©ite. NĂ­l sĂ© an-oiriĂșnach le haghaidh monatĂłireachta.
https://ats:8089/rawman — aschur tĂ©acs amhĂĄin, formĂĄid cosĂșil le consĂłl AMI
https://ats:8089/mxml - aschur tĂ©acs amhĂĄin, i bhformĂĄid XML. Oireann dĂșinn!

Conas Zabbix a nascadh le Réiltín as an mbosca

Ansin shĂ­l mĂ©: “Seo an rĂ©iteach! Anois beidh gach rud rĂ©idh! FĂĄscadh lĂ­omĂłide Ă©asca-peezy,” ach bhĂ­ sĂ© rĂł-luath chun lĂșchĂĄir a dhĂ©anamh. Chun an fhaisnĂ©is a theastaĂ­onn uainn a fhĂĄil, is leor iarratas GET a ĂșsĂĄid leis an ngnĂ­omh is gĂĄ gnĂ­omh, a thugann xml ar ais mar fhreagra le liosta de na clĂĄrĂșchĂĄin go lĂ©ir agus a stĂĄdas. TĂĄ sĂ© seo go hiontach ar fad, ach teastaĂ­onn ĂșdarĂș uait chun an seisiĂșn Ăłn bhfianĂĄn a mheabhrĂș. Nuair a dhĂ©anann tĂș tĂĄstĂĄil sa bhrabhsĂĄlaĂ­, nĂ­ smaoinĂ­onn tĂș ar an bprĂłiseas seo.

PrĂłiseas Ășdaraithe

Ar dtĂșs tugaimid aghaidh ar an seoladh http://ats:8089/mxml?action=login&username=zabbix&secret=zabbix, mar fhreagra, seolann an freastalaĂ­ fianĂĄn chugainn leis an seisiĂșn Ășdaraithe. Seo an chuma atĂĄ ar iarratas 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

Freagra:

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>

Chun oibriĂș ann is gĂĄ duit mansession_id="6f5de42c", i.e. an fianĂĄn Ășdaraithe fĂ©in.
Ábhar nach gĂĄ duit ach a sheiceĂĄil le haghaidh an fhreagra"Glacadh le fĂ­ordheimhniĂș" Ansin, le haghaidh gach glao chuig an bhfreastalaĂ­ PBX, beidh orainn fianĂĄn Ășdaraithe a chur leis an iarratas.

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

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

LĂ©igh conas fianĂĄn Ășdaraithe a fhĂĄil agus Ă© a ĂșsĂĄid in iarratais eile anseo: “Zabbix - teorainneacha macra a leathnĂș»

Chun eilimintĂ­ rianaithe a chruthĂș in Zabbix ĂșsĂĄidfidh mĂ© braite uathoibrĂ­och.

Brath uathoibrĂ­och

Chun clĂĄrĂșchĂĄin a bhrath go huathoibrĂ­och agus stĂĄit piaraĂ­ a rianĂș, nĂ­ mĂłr duit dul i dteagmhĂĄil leis an seoladh seo a leanas: https://ats:8089/mxml?action=SIPshowregistry nĂł https://ats:8089/mxml?action=SIPpeers

Mar fhreagra, seolann an PBX freagra XML chugainn:

<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>

Tå go leor truflais sa fhreagra, mar sin le linn réamhphróiseåla déanaimid é a scagadh trí theimpléad XPath: //response/generic[@host]
Ansin tosaĂ­onn an spraoi. Chun oibriĂș le heilimintĂ­ a bhrath agus a chruthĂș go dinimiciĂșil, nĂ­ mĂłr don fhreagra a bheith i bhformĂĄid JSON. NĂ­ thacaĂ­tear le XML le haghaidh braite uathoibrĂ­och.

Chun XML a thiontĂș go JSON, bhĂ­ orm beagĂĄn a imirt le hathsholĂĄthar uathoibrĂ­och, agus rinne mĂ© script dĂł i JS

Conas Zabbix a nascadh le Réiltín as an mbosca

Pointe suimiĂșil: sa fhreagra ATS, tĂĄ na paraimĂ©adair go lĂ©ir timpeallaithe ag comharthaĂ­ athfhriotail aonair, agus tar Ă©is an teimplĂ©ad a chur i bhfeidhm //response/generic[@host] cuirtear cinn dhĂșbailte in ionad iad.

Chun eilimintĂ­ a chruthĂș, ĂșsĂĄidimid athrĂłga Ăłn bhfreagra XML (JSON anois).

Conas Zabbix a nascadh le Réiltín as an mbosca

ClĂĄrlann SIP

Le haghaidh clĂĄrĂșchĂĄin sip ĂșsĂĄidimid trĂ­ athrĂłg: ainm ĂșsĂĄideora, Ăłstach, calafort. BhĂ­ mĂ© sĂĄsta le hainm an eilimint 111111@login.mtt.ru:5060, NĂ­or aimsigh mĂ© aon chĂĄs inar gĂĄ duit na cĂșig athrĂłg go lĂ©ir a ĂșsĂĄid.

Is Ă­ an phrĂ­omhghnĂ© a fhaigheann faisnĂ©is faoi gach clĂĄrĂș,. RĂ©iltĂ­n - AMI SIPshowregistry. Uair sa nĂłimĂ©ad dĂ©anann sĂ© iarratas GET chuig https://ats:8089/mxml?action=SIPshowregistry, ina dhiaidh sin seoltar na sonraĂ­ freagartha XML chuig na heilimintĂ­ cleithiĂșnacha go lĂ©ir le haghaidh parsĂĄla. CruthaĂ­m eilimint do gach clĂĄrĂș atĂĄ ag brath air. TĂĄ sĂ© seo ĂĄisiĂșil mar go bhfaighimid faisnĂ©is cothrom le dĂĄta in aon iarratas amhĂĄin, agus nĂ­ le haghaidh gach iarratais ar leithligh. TĂĄ mĂ­bhuntĂĄiste suntasach ag an gcur chun feidhme seo - an t-ualach ar an bprĂłiseĂĄlaĂ­.

Nuair a thĂĄstĂĄil suas le 100 eilimint cleithiĂșnach, nĂ­or thug mĂ© an t-ualach faoi deara, ach le 1700 eilimint, thug sĂ© seo ualach suntasach 15 soicind ar an bprĂłiseĂĄlaĂ­. Coinnigh seo i gcuimhne mĂĄ tĂĄ lĂ­on mĂłr eilimintĂ­ cleithiĂșnacha agat.

Mar rogha chun an t-ualach a “leathadh amach” nĂł minicĂ­ochtaĂ­ vĂłtaĂ­ochta Ă©agsĂșla a shocrĂș le haghaidh eilimint, is fĂ©idir leat an loighic prĂłiseĂĄla a aistriĂș chuig gach eilimint ar leithligh.

Ní stórålaim an fhaisnéis a fuarthas sa phríomhghné. Ar an gcéad dul síos, ní fheicim go bhfuil gå leis seo, agus sa dara håit, må tå an freagra níos mó nå 64K, gearrann Zabbix as é.

Ós rud Ă© go n-ĂșsĂĄidimid freagra XML iomlĂĄn don eilimint spleĂĄch, nĂ­ mĂłr dĂșinn luach na heiliminte seo a fhĂĄil i rĂ©amhphrĂłiseĂĄil. TrĂ­d XPath dĂ©antar Ă© mar seo:
string(//response/generic[@event="RegistryEntry"][@username="{#SIP_REGISTRY_USERNAME}"][@host="{#SIP_REGISTRY_HOST}"][@port="{#SIP_REGISTRY_PORT}"]/@ luaigh)
Maidir le stĂĄdais chlĂĄrĂșchĂĄin, nĂ­or ĂșsĂĄid mĂ© stĂĄdais tĂ©acs, ach d'iompaigh mĂ© go foirm uimhriĂșil iad ag baint ĂșsĂĄide as JavaScript:

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

Comhghleacaithe SIP

De rĂ©ir analaĂ­ le clĂĄrĂșchĂĄin SIP, tĂĄ prĂ­omhghnĂ© de ChlĂĄrlann Asterisk - AMI SIPshow, a gcuirtear cinn spleĂĄcha lĂ©i.

Cruthaíonn sé seo dhå eilimint spleåcha:

  • StĂĄdas piaraĂ­ i bhfoirm tĂ©acs
  • Am freagartha glĂ©is - mĂĄ tĂĄ an stĂĄdas ceart go leor, scrĂ­obhtar am freagartha an ghlĂ©is, nĂł mura bhfuil “-1”

Tå an cosån go dtí an eilimint féin beagån níos simplí XPath:

teaghrĂĄn(//response/generic[@objectname="{#SIP_PEER_OBEJECTNAME}"]/@status)

Don dara eilimint d'ĂșsĂĄid mĂ© JavaScript chun scaradh am freagartha Ăłn stĂĄdas piaraĂ­, Ăłs rud Ă© go stĂłrĂĄiltear iad le chĂ©ile:

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

ConclĂșid

Is fĂ©idir le rĂ©iteach lasmuigh den bhosca a bheith casta agus nĂ­ soilĂ©ir lĂĄithreach. MĂ©adaĂ­tear solĂșbthacht agus iniomparthacht idir cĂłrais Ă©agsĂșla

ComhthĂĄthĂș sona agus Ă©asca gach duine! TeimplĂ©ad agus treoracha le haghaidh socrĂș GitHub.

Foinse: will.com

Ceannaigh ĂłstĂĄil iontaofa do shuĂ­mh le cosaint DDoS, freastalaithe VPS VDS đŸ”„ Ceannaigh ĂłstĂĄil grĂ©asĂĄin iontaofa le cosaint DDoS, freastalaithe VPS VDS | ProHoster