Zabbix - ballaarinta xuduudaha macro

Markaad xal u samaynayso macmiilka, 2 hawlood ayaa kacday oo aan rabay inaan si qurux badan u xalliyo iyo shaqeynta caadiga ah ee Zabbix.

Hawsha 1. La socoshada nooca firmware-ka hadda ee router-yada Mikrotik.

Hawsha si sahal ah ayaa loo xalliyaa - iyada oo wakiil lagu daro qaabka HTTP. Wakiilku waxa uu ka helayaa website-ka Mikrotik nooca hadda jira, kiciye waxa uu isbarbar dhigayaa nooca hadda jira iyo kan hadda jira oo waxa uu soo saara digniin haddii khilaaf yimaado.

Markaad haysato 10 router, algorithm-ka noocan oo kale ah maaha mid muhiim ah, laakiin waxa la sameeyo 3000 router? U dir 3000 codsi seerfarka? Dabcan, nidaamka noocan oo kale ah wuu shaqayn doonaa, laakiin fikradda 3000 ee codsiyada kuma habboona, waxaan rabay inaan helo xal kale. Intaa waxaa dheer, weli waxaa jiray dib u dhac ku yimid algorithm-ka noocan oo kale ah: dhinaca kale wuxuu tirin karaa tiro codsiyo ah oo ka yimid hal IP oo loogu talagalay weerarka DoS, waxay si fudud u mamnuuci karaan.

Hawsha 2. Isticmaalka fadhiga oggolaanshaha ee wakiilada HTTP ee kala duwan.

Marka wakiilku u baahdo inuu macluumaadka ka helo boggaga "xiran" isagoo isticmaalaya HTTP, buskud oggolaansho ayaa loo baahan yahay. Si tan loo sameeyo, waxaa badanaa jira foom oggolaanshaha caadiga ah oo leh "login / password" lammaane oo dejinaya aqoonsiga fadhiga ku jira buskudka.

Laakiin waxaa jirta dhibaato, suurtagal maaha in laga helo xogta shay kale hal shay oo HTTP ah si loogu beddelo qiimahan Madaxa.

Waxa kale oo jira "qoraalka shabakada", waxay leedahay xaddidaad kale, kuma ogola inaad hesho nuxurka falanqaynta iyo kaydinta dheeraadka ah. Waxaad kaliya eegi kartaa joogitaanka doorsoomayaasha lagama maarmaanka ah ee boggaga ama waxaad mari kartaa doorsoomayaal hore loo helay inta u dhaxaysa tillaabooyinka qoraalka webka.

Ka dib markii aan wax yar ka fikiray hawlahan, waxaan go'aansaday in aan isticmaalo makros kuwaas oo si fiican uga dhex muuqda qayb kasta oo ka mid ah nidaamka kormeerka: qaab-dhismeedka, martigeliyaha, kiciyeyaasha ama walxaha. Oo waxaad ku cusboonaysiin kartaa macros adiga oo isticmaalaya interface API.

Zabbix waxay haysaa dukumeenti API oo wanaagsan oo faahfaahsan. Xog beddelashada api, qaabka xogta Json ayaa la isticmaalaa. Faahfaahinta waxaa laga heli karaa dukumeenti rasmi ah.

Tallaabooyinka isku xigxiga ee helitaanka xogta aan u baahanahay iyo ku duubida makro ayaa lagu muujiyay jaantuska hoose.

Zabbix - ballaarinta xuduudaha macro

talaabo 1

Tallaabada ugu horreysa waxay ka koobnaan kartaa hal fal ama ficillo badan. Dhammaan caqli-galnimada ugu weyn waxaa lagu dhigaa tallaabooyinka ugu horreeya, 3da tallaabo ee ugu dambeeyana waa kuwa ugu muhiimsan.

Tusaalahayga, tillaabada ugu horraysa waxay ahayd in la helo cookies-ka oggolaanshaha ee PBX hawsha ugu horreysa. Hawsha labaad, waxaan helay lambarka hadda jira ee Mikrotik firmware.

URL ee noocyada hadda jira ee Mikrotik firmware

Cinwaannadan waxa gelaya qalabka Mikrotik laftiisa marka la helo nooca firmware-ka ugu dambeeyay ee la heli karo.

Tallaabada ugu horreysa waa gebi ahaan shakhsi kiis kasta iyo macquulka ah ee shaqadeeda laga yaabaa in kala duwan. Dhammaan waxay kuxirantahay hawshaada.

Markaad la shaqaynayso qoraalka shabakada, la soco habka jawaabta aad u baahan tahay. Cinwaanada Jawaabta HTTP ama nafta jirka jawaabta madax la'aan?
Haddii loo baahdo cookies-ka oggolaanshaha, dabadeed deji habka jawaabta Cinwaanada sida xaalka Asterisk.

Haddii aad u baahan tahay xog, sida kiiska jawaabta server-ka mikrotik, geli Jidhka jawaab aan madax.

talaabo 2

Aan u gudubno tallaabada labaad. Helitaanka fadhiga oggolaanshaha:

POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1
Content-Type: application/json-rpc

{
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
        "user": "Admin"
        "password": "zabbix"
    },
    "id": 1,
    "auth": null
}

jsonrpc waa nooca borotokoolka JSON-RPC ee la isticmaalayo;
Zabbix waxay fulisaa JSON-RPC nooca 2.0;

  • habka - habka loo yaqaan;
  • params - xuduudaha lagu gudbiyo habka;
  • id waa aqoonsi codsi aan sabab lahayn;
  • auth - furaha aqoonsiga isticmaalaha; mar haddii aynaan weli haysan, aynu ka dhigno mid buray.

Si aan ula shaqeeyo API-ga, waxaan sameeyay akoon gaar ah oo leh xuquuqo xadidan. Marka hore, uma baahnid inaad geliso meel aanad u baahnayn. Marka labaadna, ka hor nooca 5.0, erayga sirta ah ee lagu dhejiyay makro waa la akhriyi karaa. Sidaa darteed, haddii aad isticmaasho erayga sirta ah ee maamulaha Zabbix, koontada maamulka way fududahay in la xaddo.

Tani waxay si gaar ah run u noqon doontaa markaad la shaqaynayso API iyada oo loo marayo qoraallada dhinac saddexaad iyo kaydinta aqoonsiga dhinaca.

Tan iyo nooca 5.0 waxaa jira ikhtiyaar lagu qariyo erayga sirta ah ee ku jira makro.

Zabbix - ballaarinta xuduudaha macro

Markaad abuureyso akoon gaar ah oo loogu talagalay cusboonaysiinta xogta iyada oo loo marayo API, hubi inaad hubiso in xogta aad u baahan tahay laga heli karo interface interface iyo haddii ay suurtagal tahay in la cusbooneysiiyo. Maan hubin, ka dibna muddo dheer ma fahmi karo sababta macro-ga aan u baahanahay uusan ka muuqan API-ga.

Zabbix - ballaarinta xuduudaha macro

Kadib markaan ogolaansho ka helnay API-ga, waxaan sii wadeynaa inaan helno liiska macros.

talaabo 3

APIku kuma ogola inaad cusboonaysiiso macro-ga martida loo yahay magaca, waa inaad marka hore heshaa aqoonsiga weyn. Waxaa intaa dheer, si aad u hesho liiska macros ee martigeliyaha gaarka ah, waxaad u baahan tahay inaad ogaato aqoonsiga martigeliyaha, tanina waa codsi dheeri ah. Isticmaal makro caadiga ah {HOST ID} codsiga lama ogola. Waxaan go'aansaday inaan ka gudbo xannibaadda sida tan:

Zabbix - ballaarinta xuduudaha macro

Waxaan sameeyay makro maxali ah oo wata aqoonsiga martigeliyaha. Helitaanka aqoonsiga martigeliyaha waa mid aad u fudud interface-ka shabakadda.

Jawaabta leh liiska dhammaan macros ee martigeliyaha la siiyay waxaa lagu sifeyn karaa qaab:

regex:{"hostmacroid":"([0-9]+)"[A-z0-9,":]+"{$MIKROTIK_VERSION}"

Zabbix - ballaarinta xuduudaha macro

Sidaa darteed, waxaan helnaa aqoonsiga macro-ga aan u baahanahay, halkee MIKROTIK_VERSION waa magaca makro ee aan raadineyno. Xaaladeyda, makro waa la raadiyaa MIKROTIK_VERSIONTii loo xilsaaray martigaliyaha.

Codsiga laftiisa ayaa u eg sidan:

POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1
Content-Type: application/json-rpc

{
    "jsonrpc":"2.0",
    "method":"usermacro.get",
    "params":{
        "output":"extend",
        "hostids":"{$HOST_ID}"
    },
    "auth":"{sid}",
    "id":1
}

Isbadal {sid} helay tallaabada labaad oo si joogto ah loo isticmaali doonaa, halkaas oo aad u baahan tahay si ay ula shaqeeyaan API interface ah.

U dambeeya 4 TALLAABO - cusboonaysiinta makro

Hadda waxaan ognahay aqoonsiga weyn ee u baahan in la cusboonaysiiyo, buskudka oggolaanshaha ama nooca firmware ee router-ka. Waad cusbooneysiin kartaa makro laftiisa.

POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1
Content-Type: application/json-rpc

{
    "jsonrpc":"2.0",
    "method":"usermacro.update",
    "params":{
        "hostmacroid":"{hostmacroid}",
        "value":"{mikrotik_version}"
    },
    "auth":"{sid}",
    "id":1
}

{mikrotik_version} waa qiimaha lagu helay tallaabada ugu horreysa. Tusaalahayga, nooca firmware mikrotik ee hadda jira
{hostmacroid} - qiimaha waxaa lagu helay tallaabada saddexaad - id ee makro-ka ee aan cusbooneysiineyno.

natiijooyinka

Habka loo xalliyo dhibaatada iyadoo la adeegsanayo waxqabadka caadiga ah ayaa aad u dhib badan oo dheer. Gaar ahaan haddii aad taqaan barnaamijka oo aad si dhakhso ah ugu dari karto macquulnimada lagama maarmaanka ah ee qoraalka.

Faa'iidada muuqata ee habkani waa "qaadista" xalka u dhexeeya server-yada kala duwan.

Aniga shaqsi ahaan, waxaa la yaab leh in wakiilka HTTP uusan heli karin xogta shay kale oo uu ku beddelo jirka codsiga ama madaxyada [ ZBXNEXT-5993].

Qaabka la dhammeeyay wuu awoodaa soo dejiso GitHub.

Source: www.habr.com

Add a comment