Mill-esternalizzazzjoni għall-iżvilupp (Parti 1)

Hello lil kulħadd, jien jisimni Sergey Emelyanchik. Jien il-kap tal-kumpanija Audit-Telecom, l-iżviluppatur ewlieni u l-awtur tas-sistema Veliam. Iddeċidejt li nikteb artiklu dwar kif jien u ħabib tiegħi ħloqna kumpanija ta’ esternalizzazzjoni, ktibt software għalina nfusna u sussegwentement bdejna nqassmu lil kulħadd permezz tas-sistema SaaS. Dwar kif kategorikament ma nemminx li dan kien possibbli. L-artiklu se jkun fih mhux biss storja, iżda wkoll dettalji tekniċi ta’ kif inħoloq il-prodott Veliam. Inklużi xi biċċiet tal-kodiċi tas-sors. Jien ngħidlek x’żbalji għamilna u kif ikkoreġejnahom aktar tard. Kien hemm dubji jekk għandux jiġi ppubblikat artiklu bħal dan. Imma ħsibt li kien aħjar li tagħmel dan, tikseb feedback u ttejjeb, milli le tippubblika l-artiklu u naħseb dwar x'kien jiġri kieku...

preistorja

Ħdimt f'kumpanija waħda bħala impjegat tal-IT. Il-kumpanija kienet pjuttost kbira bi struttura ta 'netwerk estensiva. Mhux se nitkellem fuq ir-responsabbiltajiet tax-xogħol tiegħi, ngħid biss li żgur ma kienu jinkludu l-iżvilupp ta’ xejn.

Kellna monitoraġġ, iżda purament għal interess akkademiku ridt nipprova nikteb l-aktar waħda sempliċi tiegħi. L-idea kienet din: ridt li tkun fuq il-web, sabiex faċilment nista' nidħol mingħajr ma ninstalla l-ebda klijent u nara x'qed jiġri man-netwerk minn kwalunkwe apparat, inkluż apparat mobbli permezz tal-Wi-Fi, u jien ukoll verament riedu jifhmu malajr x’Hemm tagħmir fil-kamra li sar “mopey” għax... kien hemm rekwiżiti stretti ħafna għal ħin ta 'rispons għal problemi bħal dawn. Bħala riżultat, twieled pjan f'rasi biex nikteb paġna web sempliċi li fuqha kien hemm sfond jpeg b'dijagramma tan-netwerk, naqtgħu l-apparati nfushom bl-indirizzi IP tagħhom f'din l-istampa, u juru kontenut dinamiku fuq nett stampa fil-koordinati meħtieġa fil-forma ta 'indirizz IP aħdar jew aħmar li jteptep. Il-kompitu ġie stabbilit, ejja nibdew.

Preċedentement, kont qed nipprogramma f'Delphi, PHP, JS u b'mod superfiċjali ħafna C++. Naf pjuttost tajjeb kif jaħdmu n-netwerks. VLAN, Rotot (OSPF, EIGRP, BGP), NAT. Dan kien biżżejjed għalija biex nikteb prototip ta 'monitoraġġ primittiv jien stess.

Jien ktibt dak li ppjanajt fil-PHP. Is-server Apache u PHP kien fuq il-Windows għax... Linux għalija f'dak il-mument kienet xi ħaġa inkomprensibbli u kumplessa ħafna, kif irriżulta aktar tard, kont żbaljat ħafna u f'ħafna postijiet Linux huwa ħafna aktar sempliċi mill-Windows, iżda dan huwa suġġett separat u lkoll nafu kemm hemm holivars fuq dan is-suġġett. L-iskedar tal-kompiti tal-Windows ġibed f'intervall żgħir (ma niftakarx eżatt, iżda xi ħaġa bħal darba kull tliet sekondi) skript PHP li ssegwi l-oġġetti kollha b'ping banali u salva l-istat f'fajl.

system(“ping -n 3 -w 100 {$ip_address}“); 

Iva, iva, ix-xogħol ma 'database f'dak il-mument ukoll ma kienx mhaddma għalija. Ma kontx naf li kien possibbli li jiġu parallelizzati l-proċessi, u li tgħaddi min-nodi tan-netwerk kollha dam żmien twil, għax... dan ġara f'ħajt wieħed. Inqalgħu problemi speċjalment meta diversi nodi ma kinux disponibbli, minħabba li kull wieħed minnhom ittardja l-iskript għal 300 ms. Fuq in-naħa tal-klijent kien hemm funzjoni ta’ looping sempliċi li, f’intervalli ta’ ftit sekondi, niżżlet informazzjoni aġġornata mis-server b’talba Ajax u aġġorna l-interface. Ukoll, allura, wara pings 3 mingħajr suċċess wara xulxin, jekk paġna web b'monitoraġġ kienet miftuħa fuq il-kompjuter, kompożizzjoni ferrieħa kellha.

Meta kollox ħadem, kont ispirat ħafna mir-riżultat u ħsibt li stajt inżid aktar miegħu (minħabba l-għarfien u l-kapaċitajiet tiegħi). Imma dejjem ma għoġobnix sistemi b'miljun chart, li ħsibt dak iż-żmien, u għadni naħseb sal-lum, mhumiex meħtieġa f'ħafna każijiet. Xtaqt indaħħal hemm biss dak li verament jgħinni fix-xogħol tiegħi. Dan il-prinċipju jibqa’ fundamentali għall-iżvilupp ta’ Veliam sal-lum. Barra minn hekk, indunajt li jkun jibred ħafna jekk ma kellix għalfejn inżomm il-monitoraġġ miftuħ u naf dwar il-problemi, u meta ġara, imbagħad iftaħ il-paġna u ara fejn jinsab dan in-node problematiku tan-netwerk u x'għandek tagħmel miegħu jmiss . B'xi mod ma qrajtx l-email lura dakinhar, sempliċement ma użajtx. Iltqajt fuq l-Internet li hemm SMS gateways li għalihom tista’ tibgħat talba GET jew POST, u huma jibagħtu SMS lill-mowbajl tiegħi bit-test li nikteb jien. Minnufih indunajt li ridt tassew dan. U bdejt nistudja d-dokumentazzjoni. Wara xi żmien irnexxieli, u issa rċevejt SMS dwar problemi fuq in-netwerk fuq il-mowbajl tiegħi bl-isem ta '"oġġett waqa". Għalkemm is-sistema kienet primittiva, inkitbet jien stess, u l-iktar ħaġa importanti li mmotivatni biex niżviluppa kienet li kien programm ta’ applikazzjoni li tassew għenni fix-xogħol tiegħi.

U mbagħad waslet il-jum meta wieħed mill-kanali tal-Internet niżel fuq ix-xogħol, u l-monitoraġġ tiegħi ma għarrafniex biha. Peress li Google DNS xorta pinged perfettament. Wasal iż-żmien li taħseb dwar kif tista 'tissorvelja li l-kanal ta' komunikazzjoni huwa ħaj. Kien hemm ideat differenti dwar kif tagħmel dan. Ma kellix aċċess għat-tagħmir kollu. Kellna nifhmu kif nifhmu liema mill-kanali huwa live, iżda mingħajr ma nkunu nistgħu b'xi mod narawha fuq it-tagħmir tan-netwerk innifsu. Imbagħad kollega ħareġ bl-idea li huwa possibbli li t-traċċar tar-rotta għal servers pubbliċi jista 'jkun differenti skont liema kanal ta' komunikazzjoni jintuża bħalissa biex jaċċessa l-Internet. Iċċekkja u rriżulta hekk. Kien hemm rotot differenti meta jintraċċaw.

system(“tracert -d -w 500 8.8.8.8”);

Allura deher skript ieħor, jew aħjar, għal xi raġuni t-traċċa ġiet miżjuda fl-aħħar tal-istess skript, li pinged l-apparati kollha fuq in-netwerk. Wara kollox, dan huwa proċess twil ieħor li ġie esegwit fl-istess ħajta u naqqas ix-xogħol tal-iskrittura kollu. Imma mbagħad ma kienx daqshekk ovvju. Iżda b'xi mod jew ieħor, huwa għamel xogħolu, il-kodiċi ddefinit b'mod strett x'tip ta 'traċċar għandu jkun għal kull wieħed mill-kanali. Din hija kif bdiet taħdem is-sistema, li diġà mmonitorjat (qal b'leħen għoli, minħabba li ma kien hemm l-ebda ġbir ta 'kwalunkwe metriċi, iżda biss ping) apparati tan-netwerk (routers, swiċċijiet, wi-fi, eċċ.) U kanali ta' komunikazzjoni mad-dinja ta 'barra . Messaġġi SMS waslu regolarment u d-dijagramma dejjem wera biċ-ċar fejn kienet il-problema.

Barra minn hekk, fix-xogħol ta’ kuljum kelli nagħmel cross-crossing. U għajjejt li mmur Cisco switches kull darba biex nara liema interface tuża. Kemm ikun jibred li tikklikkja fuq oġġett fil-monitoraġġ u tara lista tal-interfaces tagħha bid-deskrizzjonijiet. Ikun jiffranka l-ħin. Barra minn hekk, f'din l-iskema ma jkunx hemm bżonn li jitmexxew Putty jew SecureCRT biex jidħlu kontijiet u kmandi. I biss għafast fuq il-monitoraġġ, rajt dak li kien meħtieġ u marru biex jagħmlu xogħol tiegħi. Bdejt infittex modi biex jinteraġixxi ma 'swiċċijiet. Immedjatament iltqajt ma' 2 għażliet: SNMP jew illoggjar fis-swiċċ permezz ta 'SSH, daħħal il-kmandi li kelli bżonn u parsing ir-riżultat. I warrabt l-SNMP minħabba l-kumplessità tal-implimentazzjoni tiegħu; kont bla paċenzja biex nikseb ir-riżultat. bl-SNMP, inti jkollok tħaffer fil-MIB għal żmien twil u, ibbażata fuq din id-dejta, tiġġenera data dwar l-interfaces. Hemm tim mill-isbaħ f'CISCO

show interface status

Juri eżattament dak li għandi bżonn għal cross-crossings. Għaliex jolqot bl-SNMP meta nixtieq biss nara l-output ta 'dan il-kmand, ħsibt. Wara xi żmien, indunajt din l-opportunità. Ikklikkjat fuq oġġett fuq paġna web. Ġie skattat avveniment li bih il-klijent AJAX ikkuntattja lis-server, u, min-naħa tiegħu, ikkonnettja permezz ta 'SSH mal-iswiċċ li kelli bżonn (il-kredenzjali kienu kodifikati fil-kodiċi, ma kien hemm l-ebda xewqa li tirfinah, biex tagħmel xi menus separati fejn ikun possibbli li nbiddlu l-kontijiet mill-interface , kelli bżonn ir-riżultat u malajr) daħħalt il-kmand ta 'hawn fuq hemmhekk u bgħattu lura lill-browser. Allura bdejt nara informazzjoni dwar l-interfaces bi klikk waħda tal-maws. Dan kien estremament konvenjenti, speċjalment meta kellek tara din l-informazzjoni fuq swiċċijiet differenti f'daqqa.

Il-monitoraġġ tal-kanal ibbażat fuq traċċa spiċċa ma kienx l-aħjar idea, għax... kultant sar xogħol fuq in-netwerk, u t-traċċar jista 'jinbidel u l-monitoraġġ beda jgħajjat ​​lili li kien hemm problemi bil-kanal. Imma wara li qattajt ħafna ħin fuq l-analiżi, indunajt li l-kanali kollha kienu qed jaħdmu, u l-monitoraġġ tiegħi kien qed iqarraqni. Bħala riżultat, staqsejt lill-kollegi tiegħi li rnexxielhom swiċċijiet li jiffurmaw il-kanal biex sempliċement jibagħtuli syslog meta l-istatus ta 'viżibilità tal-ġirien inbidel. Għaldaqstant, kien ħafna aktar sempliċi, aktar mgħaġġel u aktar preċiż mit-traċċar. Wasal avveniment bħal ġar mitluf, u immedjatament noħroġ notifika dwar il-kanal down.

Barra minn hekk, dehru bosta kmandi oħra meta kklikkjat fuq oġġett, u SNMP ġie miżjud biex jiġbor xi metriċi, u dan huwa bażikament. Is-sistema qatt ma żviluppat aktar. Għamel dak kollu li kelli bżonn, kienet għodda tajba. Ħafna qarrejja probabbilment se jgħiduli li diġà hemm ħafna softwer fuq l-Internet biex isolvu dawn il-problemi. Imma fil-fatt, ma kontx google prodotti b'xejn bħal dawn dakinhar u ridt verament niżviluppa l-ħiliet ta 'programmar tiegħi, u x'aħjar mod biex nimbotta għal dan minn problema ta' applikazzjoni reali. F'dan il-punt, l-ewwel verżjoni tal-monitoraġġ tlestiet u ma baqgħetx modifikata.

Ħolqien tal-kumpanija Audit-Telecom

Hekk kif għadda ż-żmien, bdejt naħdem part-time f'kumpaniji oħra, fortunatament l-iskeda tax-xogħol tiegħi ppermettietni nagħmel dan. Meta taħdem f'kumpaniji differenti, il-ħiliet tiegħek f'diversi oqsma jikbru malajr ħafna, u l-orizzonti tiegħek jiżviluppaw tajjeb. Hemm kumpaniji li fihom, kif jgħidu, inti Svediż, ħasad, u tobba tat-tromba. Minn naħa, huwa diffiċli, min-naħa l-oħra, jekk m'intix għażżien, issir ġeneralista u dan jippermettilek issolvi l-problemi aktar malajr u b'mod aktar effiċjenti għax taf kif jaħdem il-qasam relatat.

Ħabib tiegħi Pavel (ukoll speċjalista tal-IT) kontinwament ipprova jħeġġiġni biex nibda n-negozju tiegħu stess. Kien hemm ideat bla għadd b'varjazzjonijiet differenti ta 'dak li kienu qed jagħmlu. Dan ilu diskuss għal snin. U fl-aħħar mill-aħħar, ma kellu jasal għal xejn għax jien xettiku, u Pavel huwa joħlom. Kull darba li ppropona idea, jien dejjem ma nemminx fiha u rrifjutajt li tipparteċipa. Imma ridna verament niftħu n-negozju tagħna stess.

Fl-aħħarnett, stajna nsibu għażla li taqbel lilna t-tnejn u nagħmlu dak li nafu kif nagħmlu. Fl-2016, iddeċidejna li noħolqu kumpanija tal-IT li tgħin lin-negozji jsolvu problemi tal-IT. Dan huwa l-iskjerament tas-sistemi tal-IT (1C, server terminal, server tal-posta, eċċ.), manutenzjoni tagħhom, HelpDesk klassiku għall-utenti u amministrazzjoni tan-netwerk.

Franchement speaking, fil-ħin tal-ħolqien tal-kumpanija, ma kontx nemmen fiha madwar 99,9%. Imma b’xi mod Pavel seta’ jġibni nipprova, u nħares ‘il quddiem, irriżulta li kellu raġun. Jien u Pavel qatgħu 300 rublu kull wieħed, irreġistrajna LLC ġdida "Awditjar-Telecom", kera uffiċċju ċkejkna, għamilna karti tan-negozju friski, ukoll, b'mod ġenerali, bħal probabbilment l-aktar negozjanti novizzi u bla esperjenza, u bdew infittxu klijenti. Is-sejba tal-klijenti hija storja kompletament differenti. Forsi se niktbu artiklu separat bħala parti mill-blog korporattiv jekk xi ħadd ikun interessat. Sejħiet kesħin, flyers, eċċ. Dan ma ta l-ebda riżultat. Kif qrajt issa minn ħafna stejjer dwar in-negozju, b'xi mod jew ieħor, ħafna jiddependi fuq ix-xorti. Konna xxurtjati. u litteralment ftit ġimgħat wara l-ħolqien tal-kumpanija, ħu Vladimir avviċina lilna, li ġabilna l-ewwel klijent tagħna. Mhux se niddejjaq bid-dettalji tal-ħidma mal-klijenti, mhux dak li hu l-artiklu, ngħid biss li morna għal verifika, identifikajna oqsma kritiċi u dawn l-oqsma tkissru waqt li ttieħdet id-deċiżjoni dwar jekk jikkoperaw magħna fuq bażi kontinwa bħala outsourcers. Wara dan, immedjatament ittieħdet deċiżjoni pożittiva.

Imbagħad, prinċipalment permezz tal-fomm permezz tal-ħbieb, bdew jidhru kumpaniji oħra tas-servizz. Helpdesk kien f'sistema waħda. Konnessjonijiet ma 'tagħmir tan-netwerk u servers huma differenti, jew pjuttost differenti. Xi nies salvaw shortcuts, oħrajn użaw il-kotba tal-indirizzi RDP. Il-monitoraġġ huwa sistema separata oħra. Huwa inkonvenjenti ħafna għal tim li jaħdem f'sistemi differenti. Informazzjoni importanti hija mitlufa. Ukoll, pereżempju, is-server tat-terminal tal-klijent ma sarx disponibbli. L-applikazzjonijiet minn utenti ta' dan il-klijent jintlaqgħu immedjatament. L-ispeċjalista tal-appoġġ jiftaħ talba (daħlet bit-telefon). Jekk l-inċidenti u t-talbiet ikunu rreġistrati f'sistema waħda, allura l-ispeċjalista ta 'appoġġ jara immedjatament x'inhi l-problema tal-utent u jgħidlu dwarha, filwaqt li simultanjament jgħaqqad mal-oġġett meħtieġ biex tinħoloq is-sitwazzjoni. Kulħadd huwa konxju tas-sitwazzjoni tattika u jaħdem b'mod armonjuż. Ma sibniex sistema fejn dan kollu jingħaqad. Deher ċar li kien wasal iż-żmien li nagħmlu l-prodott tagħna stess.

Xogħol kontinwu fuq is-sistema ta' monitoraġġ tiegħek

Kien ċar li s-sistema li nkitbet qabel kienet kompletament mhux adattata għall-kompiti attwali. La f'termini ta 'funzjonalità u lanqas f'termini ta' kwalità. U ġie deċiż li s-sistema tinkiteb mill-bidu. Grafikament kellha tidher kompletament differenti. Kellha tkun sistema ġerarkika sabiex ikun possibbli li jinfetaħ malajr u b'mod konvenjenti l-oġġett it-tajjeb għall-klijent it-tajjeb. L-iskema bħal fl-ewwel verżjoni ma kinitx assolutament iġġustifikata fil-każ attwali, għaliex il-klijenti huma differenti u ma kien jimpurta xejn f’liema bini kien jinsab it-tagħmir. Dan diġà ġie trasferit għad-dokumentazzjoni.

Allura, il-kompiti:

  1. Struttura ġerarkika;
  2. Xi tip ta 'parti tas-server li tista' titqiegħed fil-bini tal-klijent fil-forma ta 'magna virtwali biex tiġbor il-metriċi li għandna bżonn u tibgħatha lis-server ċentrali, li tiġbor fil-qosor dan kollu u jurih lilna;
  3. Twissijiet. Dawk li ma jistgħux jintilfu, għax... dak iż-żmien ma kienx possibbli li xi ħadd ipoġġi u jħares biss lejn il-monitor;
  4. Sistema ta' applikazzjoni. Bdew jidhru klijenti li għalihom aħna serviet mhux biss tagħmir tas-server u tan-netwerk, iżda wkoll workstations;
  5. Kapaċità li tikkonnettja malajr ma 'servers u tagħmir mis-sistema;

Il-kompiti ġew stabbiliti, nibdew niktbu. Tul it-triq, l-ipproċessar tat-talbiet mill-klijenti. Dak iż-żmien diġà konna 4 minna. Bdejna niktbu ż-żewġ partijiet f'daqqa: is-server ċentrali u s-server għall-installazzjoni lill-klijenti. Sa dan il-punt, Linux ma kienx għadu barrani għalina u ġie deċiż li l-magni virtwali li l-klijenti jkollhom ikunu fuq Debian. Mhux se jkun hemm installaturi, aħna ser nagħmlu biss proġett ta 'parti ta' server fuq magna virtwali speċifika waħda, u mbagħad aħna ser nikklonuha biss lill-klijent mixtieq. Dan kien żball ieħor. Aktar tard deher ċar li fi skema bħal din il-mekkaniżmu ta 'aġġornament kien kompletament mhux żviluppat. Dawk. konna nżidu xi karatteristika ġdida, u mbagħad kien hemm il-problema kollha li tqassamha lis-servers tal-klijenti kollha, iżda nerġgħu lura għal dan aktar tard, kollox fl-ordni.

Għamilna l-ewwel prototip. Huwa kien kapaċi jagħmel ping lill-apparat tan-netwerk tal-klijenti u s-servers li kellna bżonn u jibgħat din id-dejta lis-server ċentrali tagħna. U hu, min-naħa tiegħu, aġġorna din id-dejta bl-ingrossa fuq is-server ċentrali. Hawnhekk se nikteb mhux biss storja dwar kif u x’kienet suċċess, imma wkoll x’iżbalji dilettanti saru u kif wara kelli nħallas għaliha biż-żmien. Allura, is-siġra kollha ta 'oġġetti kienet maħżuna f'fajl wieħed fil-forma ta' oġġett serjali. Filwaqt li konna qabbadna diversi klijenti mas-sistema, kollox kien xi ftit jew wisq normali, għalkemm xi drabi kien hemm xi artifacts li kienu kompletament inkomprensibbli. Imma meta konna qabbad tużżana servers mas-sistema, bdew iseħħu mirakli. Xi drabi, għal xi raġuni mhux magħrufa, l-oġġetti kollha fis-sistema sempliċement sparixxew. Huwa importanti li wieħed jinnota hawnhekk li s-servers li l-klijenti kienu bagħtu data lis-server ċentrali kull ftit sekondi permezz ta 'talba POST. Qarrej attent u programmatur b'esperjenza diġà guessed li kien hemm problema ta 'aċċess multiplu għall-fajl stess li fih l-oġġett serialized kien maħżun minn ħjut differenti fl-istess ħin. U eżatt meta dan kien qed jiġri, seħħew mirakli bl-għajbien ta 'oġġetti. Il-fajl sempliċement sar vojt. Iżda dan kollu ma ġiex skopert immedjatament, iżda biss waqt l-operazzjoni ma 'diversi servers. Matul dan iż-żmien, ġiet miżjuda l-funzjonalità tal-iskannjar tal-port (is-servers mibgħuta liċ-ċentru mhux biss informazzjoni dwar id-disponibbiltà tal-apparati, iżda wkoll dwar il-portijiet miftuħa fuqhom). Dan sar billi sejjaħ il-kmand:

$connection = @fsockopen($ip, $port, $errno, $errstr, 0.5);

ir-riżultati ta' spiss kienu skorretti u l-iskanijiet ħadu żmien twil biex jitlestew. Insejt kompletament dwar il-ping, sar permezz tal-fping:

system("fping -r 3 -t 100 {$this->ip}");

Dan ukoll ma kienx parallelizzat u għalhekk il-proċess kien twil ħafna. Aktar tard, il-lista sħiħa ta 'indirizzi IP meħtieġa għall-verifika ntbagħtet lil fping f'daqqa, u lura rċevejna lista lesta ta' dawk li wieġbu. B'differenza minna, fping kien kapaċi jipparallellizza l-proċessi.

Xogħol ieħor ta’ rutina komuni kien it-twaqqif ta’ xi servizzi permezz tal-WEB. Ukoll, per eżempju, ECP minn MS Exchange. Bażikament huwa biss link. U ddeċidejna li rridu nkunu nistgħu nżidu links bħal dawn direttament mas-sistema, sabiex ma jkollniex għalfejn infittxu fid-dokumentazzjoni jew x'imkien ieħor fil-bookmarks għal kif taċċessa l-ECP ta 'klijent speċifiku. Dan huwa kif deher il-kunċett ta 'links tar-riżorsi għas-sistema, il-funzjonalità tagħhom hija disponibbli sal-lum u ma nbidlitx, ukoll, kważi.

Kif jaħdmu r-rabtiet tar-riżorsi f'Veliam
Mill-esternalizzazzjoni għall-iżvilupp (Parti 1)

Konnessjonijiet mill-bogħod

Dan huwa kif jidher fl-azzjoni fil-verżjoni attwali ta 'Veliam
Mill-esternalizzazzjoni għall-iżvilupp (Parti 1)

Waħda mill-kompiti kienet li tikkonnettja malajr u b'mod konvenjenti mas-servers, li minnhom diġà kien hemm ħafna (aktar minn mija) u l-issortjar ta 'miljuni ta' shortcuts RDP salvati minn qabel kien estremament inkonvenjenti. Kienet meħtieġa għodda. Hemm softwer fuq l-Internet li huwa xi ħaġa bħal ktieb tal-indirizzi għal konnessjonijiet RDP bħal dawn, iżda mhumiex integrati mas-sistema ta 'monitoraġġ, u l-kontijiet ma jistgħux jiġu salvati. Id-dħul ta 'kontijiet għal klijenti differenti kull darba huwa infern pur meta tikkonnettja għexieren ta' drabi kuljum ma 'servers differenti. B'SSH, l-affarijiet huma ftit aħjar; hemm ħafna softwer tajjeb li jippermettilek torganizza konnessjonijiet bħal dawn f'folders u tiftakar il-kontijiet minnhom. Iżda hemm 2 problemi. L-ewwel hija li ma sibniex programm wieħed għall-konnessjonijiet RDP u SSH. It-tieni hija li jekk f'xi punt ma nkunx fil-kompjuter tiegħi u jkolli bżonn nikkonnettja malajr, jew sempliċement installajt mill-ġdid is-sistema, ikolli nidħol fid-dokumentazzjoni biex inħares lejn il-kont minn dan il-klijent. Huwa inkonvenjenti u ħela ta 'ħin.

L-istruttura ġerarkika li kellna bżonn għas-servers tal-klijenti kienet diġà disponibbli fil-prodott intern tagħna. Kelli biss nifhem kif nwaħħal konnessjonijiet ta 'malajr mat-tagħmir meħtieġ hemmhekk. Biex nibdew, għall-inqas fin-netwerk tiegħek.

Meta wieħed iqis il-fatt li l-klijent fis-sistema tagħna kien browser li m'għandux aċċess għar-riżorsi lokali tal-kompjuter, sabiex sempliċement iniedu l-applikazzjoni li kellna bżonn b'xi kmand, ġie ivvintat biex isir kollox permezz tal-"Windows skema ta’ url personalizzat”. Hekk deher ċertu "plugin" għas-sistema tagħna, li sempliċement inkluda Putty u Remote Desktop Plus u, waqt l-installazzjoni, sempliċement irreġistra l-iskema URI fil-Windows. Issa, meta ridna nikkonnettjaw ma 'oġġett permezz RDP jew SSH, għafasna din l-azzjoni fuq is-sistema tagħna u l-URI Custom ħadem. L-istandard mstsc.exe mibni fil-Windows jew stokk, li kien parti mill-"plugin," ġie mniedi. Poġġi l-kelma plugin bil-kwotazzjonijiet għax dan mhux plugin tal-browser fis-sens klassiku.

Mill-inqas dik kienet xi ħaġa. Ktieb tal-indirizzi konvenjenti. Barra minn hekk, fil-każ ta 'Putty, kollox kien ġeneralment tajjeb; setgħet tingħata konnessjonijiet IP, login u password bħala parametri ta' input. Dawk. Diġà konnessajna mas-servers tal-Linux fuq in-netwerk tagħna bi klikk waħda mingħajr ma nidħlu passwords. Imma bl-RDP mhuwiex daqshekk sempliċi. L-MStsc standard ma jistax jipprovdi kredenzjali bħala parametri. Remote Desktop Plus ġie għas-salvataġġ. Huwa ħalla li dan iseħħ. Issa nistgħu nagħmlu mingħajrha, iżda għal żmien twil kien assistent fidil fis-sistema tagħna. Bis-siti HTTP(S) kollox huwa sempliċi, oġġetti bħal dawn sempliċiment jinfetħu fil-browser u dak hu. Konvenjenti u prattiku. Iżda dan kien kuntentizza biss fuq in-netwerk intern.

Peress li solvejna l-maġġoranza l-kbira tal-problemi mill-bogħod mill-uffiċċju, l-eħfef ħaġa kienet li tagħmel VPNs disponibbli għall-klijenti. U mbagħad kien possibbli li tikkonnettja magħhom mis-sistema tagħna. Iżda xorta kienet kemmxejn inkonvenjenti. Għal kull klijent, kien meħtieġ li żżomm mazz ta 'konnessjonijiet VPN mfakkra fuq kull kompjuter, u qabel ma tikkonnettja ma' kwalunkwe, kien meħtieġ li tkun attivata l-VPN korrispondenti. Aħna użajna din is-soluzzjoni għal żmien pjuttost twil. Iżda n-numru ta’ klijenti qed jiżdied, in-numru ta’ VPNs qed jiżdied ukoll, u dan kollu beda jisforza u kellha ssir xi ħaġa dwarha. Id-dmugħ b’mod speċjali ġie f’għajnejja wara li reġa’ ninstalla s-sistema, meta kelli nerġa’ ndaħħal għexieren ta’ konnessjonijiet VPN fi profil ġdid ta’ Windows. Ieqaf iżomm dan, għidt, u bdejt naħseb dwar x’nista’ nagħmel dwaru.

Ġara li l-klijenti kollha kellhom apparati mill-kumpanija magħrufa sew Mikrotik bħala routers. Huma funzjonali ħafna u konvenjenti biex iwettqu kważi kull kompitu. L-iżvantaġġ huwa li huma "maħtufa". Solvejna din il-problema sempliċement billi għalaqna l-aċċess kollu minn barra. Iżda kien meħtieġ li b'xi mod ikollu aċċess għalihom mingħajr ma jiġi f'post il-klijent, għax... huwa twil. Sempliċement għamilna mini għal kull Mikrotik bħal dan u sseparajnahom f'pool separat. mingħajr ebda rotta, sabiex ma jkun hemm l-ebda konnessjoni tan-netwerk tiegħek man-netwerks tal-klijenti u n-netwerks tagħhom ma 'xulxin.

L-idea twieldet biex niżgura li meta nikklikkja fuq l-oġġett li għandi bżonn fis-sistema, is-server ċentrali ta 'monitoraġġ, li jkun jaf il-kontijiet SSH tal-klijenti kollha Mikrotik, jgħaqqad ma' dak mixtieq, joħloq regola ta 'trażmissjoni lill-ospitant mixtieq bil- port meħtieġ. Hemm diversi punti hawn. Is-soluzzjoni mhix universali - se taħdem biss għal Mikrotik, peress li s-sintassi tal-kmand hija differenti għar-routers kollha. Ukoll, tali twassil imbagħad kellu jitħassar b'xi mod, u l-parti tas-server tas-sistema tagħna essenzjalment ma setgħetx issegwi bl-ebda mod jekk lestejtx is-sessjoni RDP tiegħi. Ukoll, tali twassil huwa toqba għall-klijent. Imma ma nsegwux l-universalità, għax... il-prodott kien użat biss fi ħdan il-kumpanija tagħna u ma kien hemm l-ebda ħsibijiet ta 'rilaxx lill-pubbliku.

Kull waħda mill-problemi ġiet solvuta bil-mod tagħha. Meta nħolqot ir-regola, dan it-trażmissjoni kien disponibbli biss għal indirizz IP estern speċifiku wieħed (li minnu ġiet inizjalizzata l-konnessjoni). Għalhekk ġiet evitata toqba tas-sigurtà. Iżda ma 'kull konnessjoni bħal din, regola Mikrotik ġiet miżjuda mal-paġna NAT u ma ġietx approvata. U kulħadd jaf li aktar ma jkun hemm regoli, aktar jitgħabba l-proċessur tar-router. U b'mod ġenerali, ma stajtx naċċetta li xi darba mmur f'xi Mikrotik, u jkun hemm mijiet ta 'regoli mejta u inutli.

Peress li s-server tagħna ma jistax isegwi l-istatus tal-konnessjoni, ħalli lil Mikrotik issegwihom innifsu. U ktibt skript li kontinwament immonitorja r-regoli kollha ta 'trażmissjoni b'deskrizzjoni speċifika u ċċekkja jekk il-konnessjoni TCP kellhiex regola xierqa. Jekk ma kienx hemm waħda għal xi żmien, allura l-konnessjoni probabbilment diġà tlestiet u dan it-twassil jista 'jitħassar. Kollox ħadem, l-iskript ħadem tajjeb.

Mill-mod, hawnhekk huwa:

global atmonrulecounter {"dontDelete"="dontDelete"}
:foreach i in=[/ip firewall nat find comment~"atmon_script_main"] do={ 
	local dstport [/ip firewall nat get value-name="dst-port" $i]
	local dstaddress [/ip firewall nat get value-name="dst-address" $i]
	local dstaddrport "$dstaddress:$dstport"
	#log warning message=$dstaddrport
	local thereIsCon [/ip firewall connection find dst-address~"$dstaddrport"]
	if ($thereIsCon = "") do={
		set ($atmonrulecounter->$dstport) ($atmonrulecounter->$dstport + 1)
		#:log warning message=($atmonrulecounter->$dstport)
		if (($atmonrulecounter->$dstport) > 5) do={
			#log warning message="Removing nat rules added automaticaly by atmon_script"
			/ip firewall nat remove [/ip firewall nat find comment~"atmon_script_main_$dstport"]
			/ip firewall nat remove [/ip firewall nat find comment~"atmon_script_sub_$dstport"]
			set ($atmonrulecounter->$dstport) 0
		}
	} else {
		set ($atmonrulecounter->$dstport) 0
	}
}

Żgur li setgħet saret aktar sabiħa, aktar mgħaġġla, eċċ., iżda ħadmet, ma tagħbijax Mikrotik u għamlet xogħol eċċellenti. Fl-aħħar stajna nikkonnettjaw mas-servers tal-klijenti u t-tagħmir tan-netwerk bi klikk waħda biss. Mingħajr ma tiftaħ VPN jew ma tidħol passwords. Is-sistema saret tassew konvenjenti biex taħdem magħha. Il-ħin tas-servizz tnaqqas, u lkoll qattajna ħin naħdmu aktar milli nikkonnettjaw mal-oġġetti meħtieġa.

Mikrotik Backup

Aħna kkonfigurajna backup tal-Mikrotik kollha għall-FTP. U b'mod ġenerali kollox kien tajjeb. Imma meta kellek bżonn tikseb backup, kellek tiftaħ dan l-FTP u tfittexha hemmhekk. Għandna sistema fejn ir-routers kollha huma konnessi; nistgħu nikkomunikaw ma 'apparati permezz ta' SSH. Għaliex ma nagħmluha sabiex is-sistema nnifisha tieħu backups minn kull Mikrotik kuljum, ħsibt. U beda jimplimentah. Aħna konnessi, għamilna backup u ħaduha għall-ħażna.

Kodiċi tal-iskript fil-PHP biex tieħu backup minn Mikrotik:

<?php

	$IP = '0.0.0.0';
	$LOGIN = 'admin';
	$PASSWORD = '';
	$BACKUP_NAME = 'test';

    $connection = ssh2_connect($IP, 22);

    if (!ssh2_auth_password($connection, $LOGIN, $PASSWORD)) exit;

    ssh2_exec($connection, '/system backup save name="atmon" password="atmon"');
    stream_get_contents($connection);
    ssh2_exec($connection, '/export file="atmon.rsc"');
    stream_get_contents($connection);
    sleep(40); // Waiting bakup makes

    $sftp = ssh2_sftp($connection);

    // Download backup file
    $size = filesize("ssh2.sftp://$sftp/atmon.backup");
    $stream = fopen("ssh2.sftp://$sftp/atmon.backup", 'r');
    $contents = '';
    $read = 0;
    $len = $size;
    while ($read < $len && ($buf = fread($stream, $len - $read))) {
        $read += strlen($buf);
        $contents .= $buf;
    }
    file_put_contents ($BACKUP_NAME . ‘.backup’,$contents);
    @fclose($stream);

    sleep(3);
    // Download RSC file
    $size = filesize("ssh2.sftp://$sftp/atmon.rsc");
    $stream = fopen("ssh2.sftp://$sftp/atmon.rsc", 'r');
    $contents = '';
    $read = 0;
    $len = $size;
    while ($read < $len && ($buf = fread($stream, $len - $read))) {
        $read += strlen($buf);
        $contents .= $buf;
    }
    file_put_contents ($BACKUP_NAME . ‘.rsc’,$contents);
    @fclose($stream);

    ssh2_exec($connection, '/file remove atmon.backup');
    ssh2_exec($connection, '/file remove atmon.rsc');

?>

Il-backup jittieħed f'żewġ forom - konfigurazzjoni binarja u test. Il-binarju jgħin biex jirrestawra malajr il-konfigurazzjoni meħtieġa, u t-test wieħed jippermettilek tifhem x'għandu jsir jekk ikun hemm sostituzzjoni sfurzata ta 'tagħmir u l-binarju ma jistax jittella' miegħu. Bħala riżultat, sirna funzjonalità konvenjenti oħra fis-sistema. Barra minn hekk, meta żżid Mikrotik ġdid, ma kien hemm l-ebda ħtieġa li tikkonfigura xejn; sempliċement żidt l-oġġett mas-sistema u waqqaft kont għalih permezz ta 'SSH. Imbagħad is-sistema nnifisha ħadet ħsieb li tieħu backups. Il-verżjoni attwali ta' SaaS Veliam għad m'għandhiex din il-funzjonalità, iżda dalwaqt se ngħadduha.

Screenshots ta' kif dehret fis-sistema interna
Mill-esternalizzazzjoni għall-iżvilupp (Parti 1)

Transizzjoni għall-ħażna tad-database normali

Diġà ktibt hawn fuq li dehru artifacts. Xi drabi l-lista sħiħa ta 'oġġetti fis-sistema sempliċiment sparixxew, xi drabi meta editjar oġġett, l-informazzjoni ma ġietx salvata u l-oġġett kellu jingħata isem ġdid tliet darbiet. Dan irrita lil kulħadd bil-kbir. L-għajbien ta 'oġġetti seħħet rari, u kien faċilment restawrat billi rrestawra dan il-fajl stess, iżda fallimenti meta editjar oġġetti ġara pjuttost ta' spiss. Probabbilment, inizjalment ma għamiltx dan permezz tad-database għax ma kienx joqgħod f'moħħi kif kien possibbli li nżomm siġra bil-konnessjonijiet kollha f'tabella ċatta. Hija ċatta, iżda s-siġra hija ġerarkika. Iżda soluzzjoni tajba għal aċċess multiplu, u sussegwentement (kif is-sistema ssir aktar kumplessa) transazzjonali, hija DBMS. Probabbilment m’iniex l-ewwel li niltaqa’ ma’ din il-problema. Bdejt niddejjaq. Irriżulta li kollox kien diġà ġie ivvintat qabli u hemm diversi algoritmi li jibnu siġra minn mejda ċatta. Wara li ħares lejn kull wieħed, implimentajt wieħed minnhom. Iżda din kienet diġà verżjoni ġdida tas-sistema, għax... Fil-fatt, minħabba dan, kelli nikteb pjuttost ħafna. Ir-riżultat kien naturali, il-problemi ta 'mġieba każwali tas-sistema marru. Xi wħud jistgħu jgħidu li l-iżbalji huma dilettanti ħafna (skripts b'ħajt wieħed, ħażna ta 'informazzjoni li ġiet aċċessata diversi drabi simultanjament minn ħjut differenti f'fajl, eċċ.) Fil-qasam tal-iżvilupp tas-softwer. Forsi dan huwa minnu, iżda x-xogħol ewlieni tiegħi kien l-amministrazzjoni, u l-ipprogrammar kien ħeġġa sekondarji għar-ruħ tiegħi, u sempliċement ma kellix esperjenza ta 'ħidma f'tim ta' programmaturi, fejn affarijiet bażiċi bħal dawn kienu jkunu immedjatament suġġeriti lili mill-anzjan tiegħi sħabi. Għalhekk, imlejt dawn il-ħotob kollha waħdi, imma tgħallimt il-materjal tajjeb ħafna. U wkoll, ix-xogħol tiegħi jinvolvi laqgħat mal-klijenti, azzjonijiet immirati biex jippromwovi l-kumpanija, mazz ta 'kwistjonijiet amministrattivi fi ħdan il-kumpanija, u ħafna, ħafna aktar. Iżda b'xi mod jew ieħor, dak li kien diġà kien hemm fid-domanda. Il-guys u jien stess użajna l-prodott fix-xogħol tagħna ta 'kuljum. Kien hemm ideat u soluzzjonijiet frankament bla suċċess li fuqhom inħela l-ħin, iżda fl-aħħar deher ċar li din ma kinitx għodda ta’ ħidma u ħadd ma użaha u ma spiċċatx f’Veliam.

Helpdesk - HelpDesk

Ma jkunx ħażin li wieħed isemmi kif ġie ffurmat HelpDesk. Din hija storja kompletament differenti, għax... f'Veliam din hija diġà t-3 verżjoni kompletament ġdida, li hija differenti minn dawk kollha preċedenti. Issa hija sistema sempliċi, intuwittiva mingħajr qniepen u sfafar bla bżonn, bil-kapaċità li tintegra ma 'dominju, kif ukoll il-kapaċità li taċċessa l-istess profil tal-utent minn kullimkien billi tuża link minn email. U l-aktar importanti, huwa possibbli li tikkonnettja mal-applikant permezz ta 'VNC minn kullimkien (id-dar jew fl-uffiċċju) direttament mill-applikazzjoni mingħajr VPN jew port forwarding. Jien ngħidlek kif wasalna għal dan, x'ġara qabel u x'deċiżjonijiet terribbli ttieħdu.

Konna konna mal-utenti permezz tat-TeamViewer magħruf. Il-kompjuters kollha li l-utenti tagħhom naqdu għandhom it-TV installat. L-ewwel ħaġa li għamilna ħażin, u sussegwentement neħħejna, kienet li torbot kull klijent HD mal-ħardwer. Kif illoggja l-utent fis-sistema HD sabiex iħalli talba? Minbarra t-TV, kulħadd kellu utilità speċjali installata fuq il-kompjuters tiegħu, miktuba b'Lazarus (ħafna nies hawn se jmexxu għajnejhom, u forsi anke jmorru Google x'inhu, iżda l-aħjar lingwa miġbura li kont naf kienet Delphi, u Lazarus huwa kważi l-istess ħaġa, b'xejn biss). B'mod ġenerali, l-utent nieda fajl tal-lott speċjali li nieda din l-utilità, li min-naħa tiegħu qara l-HWID tas-sistema u wara li tnieda l-browser u seħħet l-awtorizzazzjoni. Għaliex sar dan? F'xi kumpaniji, in-numru ta 'utenti servis jingħadd individwalment, u l-prezz tas-servizz għal kull xahar huwa bbażat fuq in-numru ta' nies. Dan jista 'jinftiehem, inti tgħid, imma għaliex hija marbuta mal-ħardwer? Huwa sempliċi ħafna, xi individwi ġew id-dar u għamlu talba mill-laptop tad-dar tagħhom fl-istil ta '"agħmel kollox sabiħ għalija hawn." Minbarra l-qari tas-sistema HWID, l-utilità ġibdet l-ID ta 'Teamviewer attwali mir-reġistru u wkoll trażmettitha lilna. Teamviewer għandu API għall-integrazzjoni. U għamilna din l-integrazzjoni. Imma kien hemm qabda waħda. Permezz ta 'dawn l-APIs, huwa impossibbli li tikkonnettja mal-kompjuter tal-utent meta ma jibdax b'mod espliċitu din is-sessjoni u wara li jipprova jgħaqqad magħha, għandu wkoll ikklikkja "ikkonferma". F'dak iż-żmien, deher loġiku għalina li ħadd ma għandu jgħaqqad mingħajr it-talba tal-utent, u peress li l-persuna tkun fuq il-kompjuter, se tibda s-sessjoni u tirrispondi b'mod affermattiv għat-talba ta 'konnessjoni remota. Kollox irriżulta ħażin. L-applikanti nesew istampaw jibdew is-sessjoni, u kellhom jgħidulhom dan f'konverżazzjoni bit-telefon. Dan ħela ħin u kien frustranti fuq iż-żewġ naħat tal-proċess. Barra minn hekk, mhu rari għal mumenti bħal dawn meta persuna tħalli talba, iżda titħalla tgħaqqad biss meta titlaq għall-ikel. Għax il-problema mhix kritika u ma jridx li l-proċess tax-xogħol tiegħu jiġi interrott. Għaldaqstant, ma jagħfas l-ebda buttuna biex jippermetti l-konnessjoni. Hekk dehret funzjonalità addizzjonali meta tidħol fil-HelpDesk - qari l-ID ta 'Teamviwer. Konna nafu l-password permanenti li ntużat meta installa Teamviwer. B'mod aktar preċiż, is-sistema biss kienet tafha, peress li kienet mibnija fl-installatur u fis-sistema tagħna. Għaldaqstant, kien hemm buttuna ta 'konnessjoni mill-applikazzjoni billi tikklikkja fuqha ma kien hemm bżonn tistenna għal xejn, iżda Teamviewer immedjatament fetaħ u seħħet konnessjoni. Bħala riżultat, kien hemm żewġ tipi ta 'konnessjonijiet possibbli. Permezz tal-API uffiċjali ta 'Teamviewer u wieħed magħmul minnu stess. B'sorpriża tiegħi, waqfu jużaw l-ewwel waħda kważi immedjatament, għalkemm kien hemm struzzjoni biex tużah biss f'każijiet speċjali u meta l-utent innifsu jagħti l-approvazzjoni. Xorta, agħtini sigurtà issa. Iżda rriżulta li l-applikanti ma kellhomx bżonn dan. Dawn kollha huma assolutament tajbin li jkunu konnessi magħhom mingħajr buttuna ta 'konferma.

Qlib għal multithreading fil-Linux

Il-kwistjoni li titħaffef il-passaġġ ta 'skaner tan-netwerk għall-ftuħ ta' lista predeterminata ta 'portijiet u sempliċi pinging ta' oġġetti tan-netwerk ilha bdiet tqum. Hawnhekk, ovvjament, l-ewwel soluzzjoni li tiġi f'moħħna hija l-multithreading. Peress li l-ħin ewlieni mqatta 'fuq il-ping qed jistenna li l-pakkett jiġi rritornat, u l-ping li jmiss ma jistax jibda sakemm il-pakkett ta' qabel jiġi rritornat, f'kumpaniji li saħansitra kellhom 20 + servers flimkien ma 'tagħmir tan-netwerk, dan diġà ħadem pjuttost bil-mod. Il-punt huwa li pakkett wieħed jista 'jisparixxi, iżda ma tinnotifikax immedjatament lill-amministratur tas-sistema dwar dan. Huwa sempliċement se jieqaf jaċċetta spam bħal dan malajr ħafna. Dan ifisser li għandek bżonn tagħmel ping għal kull oġġett aktar minn darba qabel ma tagħmel konklużjoni dwar l-inaċċessibbiltà. Mingħajr ma jidħol f'ħafna dettall, huwa meħtieġ li jiġi parallelizzat għaliex jekk dan ma jsirx, allura x'aktarx l-amministratur tas-sistema jitgħallem dwar il-problema mill-klijent, u mhux mis-sistema ta 'monitoraġġ.

PHP innifsu ma jappoġġjax multithreading barra mill-kaxxa. Kapaċi multiproċessar, tista 'furketta. Iżda, fil-fatt, diġà kelli mekkaniżmu ta 'votazzjoni miktub u ridt nagħmilha sabiex darba ngħodd in-nodi kollha li kelli bżonn mid-database, ping kollox f'daqqa, stenna tweġiba minn kull wieħed u biss wara li immedjatament nikteb id-data. Dan jiffranka n-numru ta' talbiet għall-qari. Multithreading jaqbel perfettament f'din l-idea. Għall-PHP hemm modulu PThreads li jippermettilek tagħmel multithreading reali, għalkemm ħadet ammont ġust ta 'tbagħbis biex twaqqaf dan fuq PHP 7.2, iżda sar. L-iskannjar tal-port u l-ping issa huma mgħaġġla. U minflok, pereżempju, 15-il sekonda kull dawra qabel, dan il-proċess beda jieħu 2 sekondi. Kien riżultat tajjeb.

Verifika ta' malajr ta' kumpaniji ġodda

Kif seħħet il-funzjonalità għall-ġbir ta 'diversi metriċi u karatteristiċi tal-ħardwer? Huwa sempliċi. Xi drabi aħna sempliċiment ordnati nivverifikaw l-infrastruttura attwali tal-IT. Ukoll, l-istess ħaġa hija meħtieġa biex titħaffef il-verifika ta 'klijent ġdid. Kellna bżonn xi ħaġa li tippermettilna naslu għal kumpanija medja jew kbira u malajr insemmu dak li għandhom. Fl-opinjoni tiegħi, ping fuq in-netwerk intern huwa mblukkat biss minn dawk li jridu jikkomplikaw ħajjithom stess, u fl-esperjenza tagħna hemm ftit minnhom. Iżda hemm ukoll nies bħal dawn. Għaldaqstant, tista 'malajr tiskennja n-netwerks għall-preżenza ta' apparati b'ping sempliċi. Imbagħad nistgħu nżiduhom u niskennjaw għal portijiet miftuħa li jinteressawna. Fil-fatt, din il-funzjonalità kienet diġà teżisti; kien meħtieġ biss li jiżdied kmand mis-server ċentrali għal dak tal-iskjav sabiex ikun jiskennja n-netwerks speċifikati u jżid dak kollu li sab mal-lista. Insejt insemmi, kien preżunt li diġà kellna immaġni lesta b'sistema kkonfigurata (server ta 'monitoraġġ tal-iskjavi) li nistgħu sempliċiment noħorġu mill-klijent waqt verifika u nqabbduha mal-cloud tagħna.

Iżda r-riżultat ta 'verifika normalment jinkludi mazz ta' informazzjoni differenti, u waħda minnhom hija x'tip ta 'apparati huma fuq in-netwerk. L-ewwelnett, konna interessati fis-servers tal-Windows u l-istazzjonijiet tax-xogħol tal-Windows bħala parti minn dominju. Peress li f'kumpaniji medji u kbar in-nuqqas ta 'dominju huwa probabbilment eċċezzjoni għar-regola. Biex titkellem lingwa waħda, il-medja, fl-opinjoni tiegħi, hija 100+ persuna. Kien meħtieġ li toħroġ b'mod biex tiġbor id-dejta mill-magni u s-servers kollha tal-Windows, li jkunu jafu l-IP tagħhom u l-kont tal-amministratur tad-dominju, iżda mingħajr ma jiġi installat xi softwer fuq kull wieħed minnhom. L-interface WMI tiġi għas-salvataġġ. Windows Management Instrumentation (WMI) litteralment tfisser għodod ta 'ġestjoni tal-Windows. WMI hija waħda mit-teknoloġiji bażiċi għall-ġestjoni ċentralizzata u l-monitoraġġ tal-operat ta 'diversi partijiet tal-infrastruttura tal-kompjuter li tħaddem il-pjattaforma tal-Windows. Meħuda mill-wiki. Sussegwentement, kelli nerġa' nagħmel biex niġbor il-wmic (dan huwa klijent WMI) għal Debian. Wara li kollox kien lest, kulma kien fadal kien li sempliċiment istħarriġ in-nodi meħtieġa permezz tal-wmic għall-informazzjoni meħtieġa. Permezz ta 'WMI tista' tikseb kważi kull informazzjoni minn kompjuter Windows, u barra minn hekk, tista 'wkoll tikkontrolla l-kompjuter permezz tagħha, pereżempju, tibgħatha biex terġa' tibda. Hekk deher il-ġbir ta’ informazzjoni dwar stazzjonijiet u servers tal-Windows fis-sistema tagħna. Minbarra dan, kien hemm informazzjoni kurrenti dwar l-indikaturi tat-tagħbija tas-sistema attwali. Nitolbuhom aktar spiss, u informazzjoni dwar il-ħardwer inqas spiss. Wara dan, l-awditjar sar ftit aktar pjaċevoli.

Deċiżjoni tad-distribuzzjoni tas-software

Aħna stess nużaw is-sistema kuljum, u hija dejjem miftuħa għal kull impjegat tekniku. U ħsibna li nistgħu naqsmu ma’ ħaddieħor dak li diġà għandna. Is-sistema kienet għadha ma kinitx lesta biex titqassam. Kellhom jerġgħu jinħadmu ħafna sabiex il-verżjoni lokali tinbidel f'SaaS. Dawn jinkludu bidliet f'diversi aspetti tekniċi tas-sistema (konnessjonijiet remoti, servizz ta 'appoġġ), analiżi ta' moduli għal-liċenzjar, sharding ta 'databases tal-klijenti, skalar ta' kull servizz, u żvilupp ta 'sistemi ta' aġġornament awtomatiku għall-partijiet kollha. Iżda din se tkun it-tieni parti tal-artiklu.

Aġġornament

It-tieni parti

Sors: www.habr.com

Żid kumment