Zabbix - ho atolosa meeli e meholo

Ha ke ntse ke etsa tharollo bakeng sa moreki, ho ile ha hlaha mathata a 2 ao ke neng ke batla ho a rarolla ka bokhabane le ka ts'ebetso e tloaelehileng ea Zabbix.

Mosebetsi oa Bobeli Ho latela mofuta oa hajoale oa firmware ho li-routers tsa Mikrotik.

Mosebetsi o rarolloa habonolo - ka ho eketsa moemeli ho template ea HTTP. Moemeli o fumana phetolelo ea morao-rao ho websaeteng ea Mikrotik, 'me mohloli o bapisa phetolelo ea morao-rao le ea hona joale,' me haeba ho e-na le ho se lumellane, e fana ka temoso.

Ha u na le li-routers tse 10, algorithm e joalo ha e bohlokoa, empa u lokela ho etsa eng ka li-routers tse 3000? Romella likopo tse 3000 ho seva? Ehlile, leano le joalo le ne le tla sebetsa, empa mohopolo oa likopo tse 3000 o ne o sa lumellane le nna, ke ne ke batla ho fumana tharollo e 'ngoe. Ho phaella moo, ho ne ho ntse ho e-na le tšitiso ho algorithm e joalo: lehlakoreng le leng le ka bala palo e joalo ea likōpo tse tsoang ho IP e le 'ngoe e le tlhaselo ea DoS,' me ba ka u thibela feela.

Mosebetsi oa Bobeli Ho sebelisa nako ea tumello ho liakhente tse fapaneng tsa HTTP.

Ha o hloka ho fumana tlhahisoleseling ho tsoa maqepheng a "koetsoeng" ka moemeli oa HTTP, o hloka cookie ea tumello. Ho etsa sena, hangata ho na le foromo e tloaelehileng ea tumello e nang le para ea "login / password" le ho beha ID ea nako ka har'a cookie.

Empa ho na le bothata, ha ho khonehe ho fihlella data ea ntho e 'ngoe ho tsoa nthong e le' ngoe ea moemeli oa HTTP ho kenya boleng bona ho Header.

Hape ho na le "Web script", e na le moeli o fapaneng; ha e u lumelle ho fumana litaba bakeng sa tlhahlobo le ho li boloka. U ka sheba feela boteng ba mefuta e hlokahalang maqepheng kapa ho fetisa mefuta e fumanoeng pele pakeng tsa mehato ea script ea websaete.

Ka mor'a ho nahana hanyenyane ka mesebetsi ena, ke ile ka etsa qeto ea ho sebelisa li-macros tse bonahalang ka ho hlaka karolong efe kapa efe ea tsamaiso ea ho shebella: ka li-templates, mabotho, li-triggers kapa lintho. 'Me u ka ntlafatsa li-macros ka API ea web interface.

Zabbix e na le litokomane tse ntle le tse qaqileng tsa API. Bakeng sa phapanyetsano ea data ka api, ho sebelisoa mokhoa oa data oa Json. Lintlha li ka fumanoa ho litokomane tsa molao.

Tatelano ea liketso tsa ho fumana data eo re e hlokang le ho e rekota ka macro e bonts'oa setšoantšong se ka tlase.

Zabbix - ho atolosa meeli e meholo

hata 1

Mohato oa pele o ka kenyelletsa ketso e le 'ngoe kapa ketso tse ngata. Lintlha tsohle tse ka sehloohong li behiloe mehatong ea pele, 'me mehato e 3 ea ho qetela ke eona e ka sehloohong.

Mohlala oa ka, mohato oa pele o ne o kenyelletsa ho fumana cookie ea tumello ho PBX bakeng sa mosebetsi oa pele. Bakeng sa mosebetsi oa bobeli, ke fumane palo ea phetolelo ea hona joale ea firmware ea Mikrotik.

URL ea mefuta ea hajoale ea firmware ea Mikrotik

Liaterese tsena li fihleloa ke thepa ea Mikrotik ka boeona ha e fumana mofuta oa morao-rao o fumanehang oa firmware.

Mohato oa pele ke motho ka mong bakeng sa nyeoe ka 'ngoe mme mohopolo oa ts'ebetso ea ona o ka fapana. Tsohle li ipapisitse le mosebetsi oa hau.

Ha u sebetsa ka mangolo a marang-rang, boloka tlaleho ea mokhoa oo u o hlokang ho fumana karabo. Litlotla Karabelo ea HTTP kapa ka boeona 'mele karabo ntle le lihlooho?
Haeba li-cookie tsa tumello li hlokahala, joale beha mokhoa oa ho arabela Litlotla joalo ka ha ho le joalo ka Asterisk.

Haeba o hloka data, joalo ka karabelo ea seva sa mikrotik, beha 'Mele karabo ntle le lihlooho.

hata 2

Ha re feteleng mohatong oa bobeli. Ho fumana nako ea tumello:

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 ke mofuta oa protocol ea JSON-RPC e ntseng e sebelisoa;
Zabbix e sebelisa mofuta oa JSON-RPC 2.0;

  • mokhoa - mokhoa o bitsoang;
  • params - mekhahlelo e fetisitsoeng ke mokhoa;
  • ID ke sesupo sa kopo e sa reroang;
  • auth - senotlolo sa netefatso ea mosebelisi; kaha ha re e-so be le eona, ha re e etse lefeela.

Ho sebetsa le API, ke thehile akhaonto e arohaneng e nang le litokelo tse fokolang. Taba ea pele, ha ho hlokahale hore u fane ka phihlello moo u sa e hlokeng. Taba ea bobeli, pele ho mofuta oa 5.0, password e boletsoeng ka macro e ne e ka baloa. Ka hona, haeba u sebelisa password ea motsamaisi oa Zabbix, ho bonolo ho utsoa ak'haonte ea admin.

Sena se tla ba 'nete haholo ha o sebetsa le API ka lingoloa tsa mokha oa boraro le litokomane tsa polokelo ka thoko.

Kaha mofuta oa 5.0 ho na le khetho ea ho pata phasewete e bolokiloeng ho macro.

Zabbix - ho atolosa meeli e meholo

Ha u theha ak'haonte e fapaneng bakeng sa ho nchafatsa data ka API, etsa bonnete ba hore u sheba hore na data eo u e hlokang e fumaneha ka sebopeho sa webo le hore na hoa khoneha ho e ntlafatsa. Ha kea ka ka hlahloba, mme ka nako e telele ke ne ke sa utloisise hore na ke hobane'ng ha macro eo ke e hlokang e ne e sa bonahale ho API.

Zabbix - ho atolosa meeli e meholo

Kamora hore re fumane tumello ho API, re tsoela pele ho fumana lethathamo la li-macros.

hata 3

Sebopeho sa API ha se lumelle ho nchafatsa macro ea moamoheli ka lebitso; ho etsa sena, o tlameha ho fumana ID ea macro pele. Ho feta moo, ho fumana lethathamo la macros bakeng sa moamoheli ea itseng, o hloka ho tseba ID ea moamoheli enoa, mme ena ke kopo e eketsehileng. Sebelisa macro ea kamehla {ID YA MOSEBETSI} ha ho khonehe ka kopo. Ke nkile qeto ea ho tlola thibelo ka tsela ena:

Zabbix - ho atolosa meeli e meholo

Ke thehile macro ea lehae ka ID ea moamoheli enoa. Ho bonolo haholo ho fumana ID ea moamoheli ho tsoa ho sehokelo sa webo.

Karabo e nang le lethathamo la li-macros tsohle ho moamoheli ea fanoeng e ka sefshoa ka mohlala:

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

Zabbix - ho atolosa meeli e meholo

Ka hona, re fumana ID ea macro eo re e hlokang, kae MIKROTIK_VERSION ke lebitso la macro leo re le batlang. Tabeng ea ka, macro e batlisisoa MIKROTIK_VERSIONE neng e abetsoe moamoheli.

Kopo ka boeona e shebahala tjena:

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
}

E fapaneng {sid} e fumanoe mohatong oa bobeli mme e tla sebelisoa khafetsa moo o hlokang ho sebetsa le sebopeho sa API.

Qetello 4 MOHATO - ho ntlafatsa macro

Joale re tseba ID ea macro e hlokang ho ntlafatsoa, ​​cookie ea tumello kapa mofuta oa firmware oa router. U ka ntlafatsa macro ka boeona.

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} ke boleng bo fumanoang mohatong oa pele. Mohlala oa ka, mofuta oa firmware ea hajoale ea mikrotik
{hostmacroid} - boleng bo fumanoe mohatong oa boraro - id ea macro eo re e ntlafatsang.

fumanoeng ke

Mokhoa oa ho rarolla bothata ka ts'ebetso e tloaelehileng o rarahane haholo ebile o molelele. Haholo-holo haeba u tseba lenaneo 'me u ka potlakela ho kenya logic e hlokahalang ka har'a script.

Molemo o totobetseng oa mokhoa ona ke "portability" ea tharollo pakeng tsa li-server tse fapaneng.

Ho 'na ka bonna, hoa makatsa hore ebe moemeli oa HTTP ha a na bokhoni ba ho fumana data ho tsoa nthong e' ngoe le ho e beha sebakeng sa 'mele oa kopo kapa lihlooho [ ZBXNEXT-5993].

Template e entsoeng e ka ba khoasolla ho GitHub.

Source: www.habr.com

Eketsa ka tlhaloso