Il-konferenza HighLoad++ li jmiss se ssir fis-6 u s-7 ta’ April, 2020 f’San Pietruburgu Dettalji u biljetti
* Monitoraġġ - online u analytics.
* Limitazzjonijiet bażiċi tal-pjattaforma ZABBIX.
* Soluzzjoni għall-iskala tal-ħażna analitika.
* Ottimizzazzjoni tas-server ZABBIX.
* Ottimizzazzjoni tal-UI.
* Esperjenza li tħaddem is-sistema taħt tagħbijiet ta 'aktar minn 40k NVPS.
* Konklużjonijiet fil-qosor.
Mikhail Makurov (minn hawn 'il quddiem – MM): - Hi kollha!
Maxim Chernetsov (minn hawn 'il quddiem – MCH): - Il-waranofsinhar it-tajjeb!
MM: – Ħa nintroduċi lil Maxim. Max huwa inġinier b'talent, l-aqwa networker li naf. Maxim huwa involut fin-netwerks u s-servizzi, l-iżvilupp u l-operat tagħhom.
MCH: – U nixtieq ngħidlek dwar Mikhail. Mikhail huwa żviluppatur C. Huwa kiteb diversi soluzzjonijiet għall-ipproċessar tat-traffiku ta 'tagħbija għolja għall-kumpanija tagħna. Aħna ngħixu u naħdmu fl-Urali, fil-belt ta 'rġiel iebsa Chelyabinsk, fil-kumpanija Intersvyaz. Il-kumpanija tagħna hija fornitur ta 'servizzi tal-Internet u tat-televiżjoni bil-kejbil għal miljun ruħ f'16-il belt.
MM: – U ta 'min jgħid li Intersvyaz hija ħafna aktar minn sempliċi fornitur, hija kumpanija tal-IT. Ħafna mis-soluzzjonijiet tagħna huma magħmula mid-dipartiment tal-IT tagħna.
A: minn servers li jipproċessaw it-traffiku għal call center u applikazzjoni mobbli. Id-dipartiment tal-IT issa għandu madwar 80 persuna b'kompetenzi differenti ħafna, ħafna.
Dwar Zabbix u l-arkitettura tiegħu
MCH: – U issa nipprova nagħmel rekord personali u f’minuta ngħid x’inhu Zabbix (minn hawn ‘il quddiem imsejjaħ “Zabbix”).
Zabbix tippożizzjona ruħha bħala sistema ta 'monitoraġġ out-of-the-box fil-livell ta' intrapriża. Għandu ħafna karatteristiċi li jagħmlu l-ħajja aktar faċli: regoli avvanzati ta 'eskalazzjoni, API għall-integrazzjoni, raggruppament u skoperta awtomatika ta' hosts u metriċi. Zabbix għandu l-hekk imsejħa għodod ta' skalar - prokuri. Zabbix hija sistema open source.
Fil-qosor dwar l-arkitettura. Nistgħu ngħidu li jikkonsisti fi tliet komponenti:
- Server. Miktub f'C. Bi proċessar pjuttost kumpless u trasferiment ta 'informazzjoni bejn il-ħjut. L-ipproċessar kollu jseħħ fih: minn meta tirċievi sal-iffrankar fid-database.
- Id-data kollha hija maħżuna fid-database. Zabbix jappoġġja MySQL, PostreSQL u Oracle.
- L-interface tal-web hija miktuba bil-PHP. Fuq il-biċċa l-kbira tas-sistemi jiġi ma 'server Apache, iżda jaħdem b'mod aktar effiċjenti flimkien ma' nginx + php.
Illum nixtiequ nirrakkonta storja waħda mill-ħajja tal-kumpanija tagħna relatata ma' Zabbix...
Storja mill-ħajja tal-kumpanija Intersvyaz. X'għandna u x'għandna bżonn?
5 jew 6 xhur ilu. Ġurnata wara x-xogħol...
MCH: - Misha, bonjour! Jien kuntent li rnexxieli naqbadkom - hemm konverżazzjoni. Erġajna kellna problemi bil-monitoraġġ. Waqt inċident kbir, kollox kien bil-mod u ma kien hemm l-ebda informazzjoni dwar l-istat tan-netwerk. Sfortunatament, din mhix l-ewwel darba li ġara dan. Għandi bżonn l-għajnuna tiegħek. Ejja nagħmlu l-monitoraġġ tagħna jaħdem taħt kwalunkwe ċirkostanza!
MM: - Imma ejja nissinkronizzaw l-ewwel. Ilni ma fittix hemm ftit snin. Sa fejn niftakar, abbandunajna lil Nagios u qlibna għal Zabbix madwar 8 snin ilu. U issa jidher li għandna 6 servers b'saħħithom u madwar tużżana prokuri. Qiegħed inħawwad xi ħaġa?
MCH: - Kważi. 15-il server, li wħud minnhom huma magni virtwali. L-iktar ħaġa importanti hija li ma ssalvax fil-mument meta l-aktar għandna bżonnha. Bħal inċident - is-servers jonqsu u ma tista 'tara xejn. Ippruvajna nottimizzaw il-konfigurazzjoni, iżda dan ma pprovdiex l-aħjar żieda fil-prestazzjoni.
MM: - Huwa ċar. Ħares lejn xi ħaġa, diġà ħaffer xi ħaġa mid-dijanjostika?
MCH: – L-ewwel ħaġa li trid tittratta magħha hija d-database. MySQL huwa kontinwament mgħobbi, jaħżen metriċi ġodda, u meta Zabbix jibda jiġġenera mazz ta 'avvenimenti, id-database tmur overdrive għal litteralment ftit sigħat. Diġà għedtlek dwar l-ottimizzazzjoni tal-konfigurazzjoni, iżda litteralment din is-sena aġġornaw il-ħardwer: is-servers għandhom aktar minn mitt gigabytes ta 'memorja u arrays ta' diski fuq SSD RAIDs - m'hemm l-ebda punt li tikber b'mod lineari fit-tul. X'nagħmlu?
MM: - Huwa ċar. B'mod ġenerali, MySQL hija database LTP. Apparentement, m'għadux adattat għall-ħażna ta 'arkivju ta' metriċi tad-daqs tagħna. Ejja insemmu.
MCH: - Ejja!
Integrazzjoni ta’ Zabbix u Clickhouse b’riżultat tal-hackathon
Wara xi żmien irċevejna dejta interessanti:
Ħafna mill-ispazju fid-database tagħna kien okkupat mill-arkivju tal-metriċi u inqas minn 1% intuża għall-konfigurazzjoni, mudelli u settings. Sa dak iż-żmien, konna ilna nħaddmu s-soluzzjoni Big data bbażata fuq Clickhouse għal aktar minn sena. Id-direzzjoni tal-moviment kienet ovvja għalina. Fl-Hackathon tar-rebbiegħa tagħna, ktibt l-integrazzjoni ta 'Zabbix ma' Clickhouse għas-server u l-frontend. Dak iż-żmien, Zabbix diġà kellu appoġġ għal ElasticSearch, u ddeċidejna li nqabbluhom.
Tqabbil ta 'Clickhouse u Elasticsearch
MM: – Għat-tqabbil, iġġenerajna l-istess tagħbija kif jipprovdi s-server Zabbix u ħares lejn kif is-sistemi se jġibu ruħhom. Aħna ktibna data f'lottijiet ta '1000 linja, bl-użu ta' CURL. Assumina minn qabel li Clickhouse tkun aktar effiċjenti għall-profil tat-tagħbija li jagħmel Zabbix. Ir-riżultati saħansitra qabżu l-aspettattivi tagħna:
Taħt l-istess kundizzjonijiet tat-test, Clickhouse kiteb tliet darbiet aktar data. Fl-istess ħin, iż-żewġ sistemi kkunsmati b'mod effiċjenti ħafna (ammont żgħir ta 'riżorsi) meta qraw id-dejta. Iżda l-Elastics kienu jeħtieġu ammont kbir ta 'proċessur meta jirrekordjaw:
B'kollox, Clickhouse kien superjuri b'mod sinifikanti għal Elastix f'termini ta 'konsum tal-proċessur u veloċità. Fl-istess ħin, minħabba l-kompressjoni tad-dejta, Clickhouse juża 11-il darba inqas fuq il-hard drive u jwettaq madwar 30 darba inqas operazzjonijiet tad-disk:
MCH: – Iva, ix-xogħol ta 'Clickhouse mas-subsistema tad-disk huwa implimentat b'mod effiċjenti ħafna. Tista 'tuża diski SATA enormi għal databases u tikseb veloċitajiet ta' kitba ta 'mijiet ta' eluf ta 'linji kull sekonda. Is-sistema out-of-the-box tappoġġja sharding, replikazzjoni, u hija faċli ħafna biex tiġi kkonfigurata. Aħna aktar minn sodisfatti bl-użu tiegħu matul is-sena.
Biex tottimizza r-riżorsi, tista 'tinstalla Clickhouse ħdejn id-database prinċipali eżistenti tiegħek u b'hekk tiffranka ħafna ħin tas-CPU u operazzjonijiet tad-disk. Ċaqlaqna l-arkivju tal-metriċi għal clusters eżistenti ta' Clickhouse:
Aħna neħħejna d-database MySQL prinċipali tant li nistgħu ngħaqqduha fuq magna waħda mas-server Zabbix u nabbandunaw is-server iddedikat għall-MySQL.
Kif jaħdem il-votazzjoni f’Żabbix?
Xhur 4 ilu
MM: – Ukoll, nistgħu ninsew dwar il-problemi bil-bażi?
MCH: - Dak żgur! Problema oħra li rridu nsolvu hija l-ġbir bil-mod tad-dejta. Issa l-15-il proxy server tagħna kollha huma mgħobbija żżejjed b'SNMP u proċessi ta 'votazzjoni. U m'hemm l-ebda mod ħlief li tinstalla servers ġodda u ġodda.
MM: - Kbir. Imma l-ewwel, għidilna kif jaħdem il-votazzjoni f’Żabbix?
MCH: – Fil-qosor, hemm 20 tip ta 'metrika u tużżana modi biex tiksebhom. Zabbix jista 'jiġbor data jew fil-modalità "talba-rispons", jew jistenna għal data ġdida permezz tal-"Interface Trapper".
Ta 'min jinnota li fiż-Zabbix oriġinali dan il-metodu (Trapper) huwa l-aktar mgħaġġel.
Hemm proxy servers għad-distribuzzjoni tat-tagħbija:
Il-prokuri jistgħu jwettqu l-istess funzjonijiet ta 'ġbir bħas-server Zabbix, jirċievu kompiti minnu u jibagħtu l-metriċi miġbura permezz tal-interface Trapper. Dan huwa l-mod uffiċjalment rakkomandat biex titqassam it-tagħbija. Il-prokuri huma wkoll utli għall-monitoraġġ ta' infrastruttura remota li topera permezz ta' NAT jew kanal bil-mod:
MM: – Kollox huwa ċar bl-arkitettura. Irridu nħarsu lejn is-sorsi...
Ftit jiem wara
L-istorja ta' kif rebaħ nmap fping
MM: "Naħseb li ħaffer xi ħaġa."
MCH: - Għidli!
MM: – Skoprejt li meta tiċċekkja d-disponibbiltà, Zabbix jiċċekkja massimu ta’ 128 host kull darba. Ippruvajt inżid dan in-numru għal 500 u neħħi l-intervall bejn il-pakketti fil-ping tagħhom (ping) - dan irdoppja l-prestazzjoni. Imma nixtieq numri akbar.
MCH: – Fil-prattika tiegħi, kultant ikolli niċċekkja d-disponibbiltà ta 'eluf ta' hosts, u qatt ma rajt xi ħaġa aktar mgħaġġla minn nmap għal dan. Jien ċert li dan huwa l-aktar mod mgħaġġel. Ejja nippruvaw! Għandna bżonn inżidu b'mod sinifikanti n-numru ta 'hosts għal kull iterazzjoni.
MM: – Iċċekkja aktar minn ħames mija? 600?
MCH: - Mill-inqas ftit eluf.
MM: - KOLLOX SEW. L-iktar ħaġa importanti li ridt ngħid hija li sibt li l-biċċa l-kbira tal-votazzjoni f’Zabbix isir b’mod sinkroniku. Żgur għandna bżonn nibdluh għal mod asinkroniku. Imbagħad nistgħu nżidu b'mod drammatiku n-numru ta 'metriċi miġbura minn pollers, speċjalment jekk inżidu n-numru ta' metriċi għal kull iterazzjoni.
MCH: - Kbir! U meta?
MM: – Bħas-soltu, ilbieraħ.
MCH: – Aħna qabblu ż-żewġ verżjonijiet ta 'fping u nmap:
Fuq numru kbir ta 'hosts, nmap kien mistenni li jkun sa ħames darbiet aktar effettiv. Peress li nmap jiċċekkja biss id-disponibbiltà u l-ħin tar-rispons, ċċaqlaqna l-kalkolu tat-telf għal triggers u naqqas b'mod sinifikanti l-intervalli tal-kontroll tad-disponibbiltà. Sibna l-aħjar numru ta 'hosts għal nmap li huwa ta' madwar 4 elf għal kull iterazzjoni. Nmap ippermettilna nnaqqsu l-ispiża tas-CPU tal-kontrolli tad-disponibbiltà bi tliet darbiet u nnaqqsu l-intervall minn 120 sekonda għal 10.
Ottimizzazzjoni tal-votazzjoni
MM: “Imbagħad bdejna nagħmlu pollers. Konna interessati prinċipalment fl-iskoperta u l-aġenti SNMP. F’Zabbix, il-votazzjoni ssir b’mod sinkroniku u ttieħdu miżuri speċjali biex tiżdied l-effiċjenza tas-sistema. Fil-modalità sinkronika, in-nuqqas ta' disponibbiltà tal-host tikkawża degradazzjoni sinifikanti tal-votazzjoni. Hemm sistema sħiħa ta 'stati, hemm proċessi speċjali - l-hekk imsejħa pollers unreachable, li jaħdmu biss ma' hosts unreachable:
Dan huwa kummentarju li juri l-matriċi tal-istat, il-kumplessità kollha tas-sistema ta 'tranżizzjonijiet li huma meħtieġa sabiex is-sistema tibqa' effettiva. Barra minn hekk, l-istħarriġ sinkroniku nnifsu huwa pjuttost bil-mod:
Huwa għalhekk li eluf ta 'poller streams fuq għexieren ta' prokuri ma setgħux jiġbru l-ammont meħtieġ ta 'dejta għalina. L-implimentazzjoni asinkronika solviet mhux biss il-problemi bin-numru ta 'ħjut, iżda ssimplifikat ukoll b'mod sinifikanti s-sistema statali ta' hosts mhux disponibbli, minħabba li għal kwalunkwe numru ċċekkjat f'iterazzjoni waħda ta 'votazzjoni, il-ħin massimu ta' stennija kien 1 timeout:
Barra minn hekk, immodifikajna u tjiebna s-sistema tal-votazzjoni għal talbiet SNMP. Il-fatt hu li ħafna nies ma jistgħux jirrispondu għal talbiet SNMP multipli fl-istess ħin. Għalhekk, għamilna mod ibridu, meta l-istħarriġ SNMP tal-istess ospitanti jsir b'mod asinkroniku:
Dan isir għall-pakkett kollu ta 'ospiti. Dan il-mod fl-aħħar mill-aħħar mhuwiex aktar bil-mod minn wieħed kompletament asinkroniku, peress li l-istħarriġ ta 'mitt u nofs valuri SNMP għadu ħafna aktar mgħaġġel minn timeout 1.
L-esperimenti tagħna wrew li l-aħjar numru ta 'talbiet f'iterazzjoni waħda huwa ta' madwar 8 elf b'votazzjoni SNMP. B'kollox, it-tranżizzjoni għall-modalità asinkronika ppermettietna nħaffu l-prestazzjoni tal-votazzjoni b'200 darba, diversi mijiet ta' darba.
MCH: – L-ottimizzazzjonijiet tal-votazzjoni li rriżultaw urew li nistgħu mhux biss neħilsu mill-prokuri kollha, iżda wkoll innaqqsu l-intervalli għal ħafna kontrolli, u l-prokuri mhux se jkunu aktar meħtieġa bħala mod kif naqsmu t-tagħbija.
Madwar tliet xhur ilu
Ibdel l-arkitettura - żid it-tagħbija!
MM: - Ukoll, Max, wasal iż-żmien li tikseb produttiv? Għandi bżonn server qawwi u inġinier tajjeb.
MCH: - Okay, ejja nippjanawha. Wasal iż-żmien li nimxu mill-punt mejta ta '5 elf metrika kull sekonda.
Filgħodu wara l-upgrade
MCH: - Misha, aġġornajna lilna nfusna, imma sa filgħodu erġajna lura... Aqta' liema veloċità rnexxielna niksbu?
MM: – 20 elf massimu.
MCH: - Iva, 25! Sfortunatament, aħna proprju fejn bdejna.
MM: - Għaliex? Mexxejt xi dijanjostika?
MCH: - Iva, żgur! Hawnhekk, pereżempju, hemm top interessanti:
MM: - Ejja naraw. Nara li ppruvajna numru kbir ta' linji tal-votazzjoni:
Iżda fl-istess ħin ma setgħux jirriċiklaw is-sistema lanqas bin-nofs:
U l-prestazzjoni ġenerali hija pjuttost żgħira, madwar 4 elf metrika kull sekonda:
Hemm xi ħaġa oħra?
MCH: – Iva, qagħda ta’ wieħed mill-pollers:
MM: – Hawnhekk tista’ tara b’mod ċar li l-proċess tal-votazzjoni qed jistenna “semafori”. Dawn huma s-serraturi:
MCH: - Mhux ċar.
MM: – Ara, din hija simili għal sitwazzjoni fejn mazz ta 'ħjut qed jippruvaw jaħdmu b'riżorsi li wieħed biss jista' jaħdem magħhom kull darba. Imbagħad kull ma jistgħu jagħmlu hu li jaqsmu din ir-riżorsa maż-żmien:
U l-prestazzjoni totali ta 'ħidma ma' tali riżors hija limitata mill-veloċità ta 'qalba waħda:
Hemm żewġ modi biex issolvi din il-problema.
Aġġorna l-ħardwer tal-magna, aqleb għal qlub aktar veloċi:
Jew ibdel l-arkitettura u fl-istess ħin ibdel it-tagħbija:
MCH: – Mill-mod, fuq il-magna tat-test se nużaw inqas qlub milli fuq dik tal-ġlieda kontra, iżda huma 1,5 darbiet aktar mgħaġġla fil-frekwenza għal kull qalba!
MM: - Ċara? Trid tħares lejn il-kodiċi tas-server.
Mogħdija tad-dejta fis-server Zabbix
MCH: – Biex insemmu, bdejna nanalizzaw kif id-dejta tiġi trasferita ġewwa s-server Zabbix:
Stampa friska, hux? Ejja ngħaddu minnha pass pass biex nagħmilha xi ftit jew wisq ċara. Hemm ħjut u servizzi responsabbli għall-ġbir tad-dejta:
Huma jittrasmettu l-metriċi miġbura permezz ta’ socket lill-maniġer tal-Preprocessor, fejn jiġu ffrankati fi kju:
Il-"maniġer tal-preproċessur" jittrażmetti d-dejta lill-ħaddiema tiegħu, li jeżegwixxu struzzjonijiet tal-ipproċessar minn qabel u jirritornawhom lura permezz tal-istess socket:
Wara dan, il-maniġer tal-preproċessur jaħżenhom fil-cache tal-istorja:
Minn hemm jittieħdu minn sinkers tal-istorja, li jwettqu pjuttost ħafna funzjonijiet: pereżempju, jikkalkulaw triggers, jimlew il-cache tal-valur u, l-aktar importanti, iffrankar tal-metriċi fil-ħażna tal-istorja. B'mod ġenerali, il-proċess huwa kumpless u konfuż ħafna.
MM: – L-ewwel ħaġa li rajna kienet li l-biċċa l-kbira tal-ħjut jikkompetu għall-hekk imsejħa "configuration cache" (iż-żona tal-memorja fejn jinħażnu l-konfigurazzjonijiet kollha tas-server). Threads responsabbli għall-ġbir tad-dejta jagħmlu speċjalment ħafna imblukkar:
...billi l-konfigurazzjoni taħżen mhux biss metriċi bil-parametri tagħhom, iżda wkoll kjuwijiet li minnhom dawk li jivvjaġġaw jieħdu informazzjoni dwar x'għandhom jagħmlu wara. Meta jkun hemm ħafna pollers u wieħed jimblokka l-konfigurazzjoni, l-oħrajn jistennew it-talbiet:
Pollers m'għandhomx konflitt
Għalhekk, l-ewwel ħaġa li għamilna kienet naqsam il-kju f'4 partijiet u nħallu lil pollers jimblokkaw dawn il-kjuwijiet, dawn il-partijiet fl-istess ħin, taħt kundizzjonijiet sikuri:
Dan neħħa l-kompetizzjoni għall-cache tal-konfigurazzjoni, u l-veloċità tal-polers żdiedet b'mod sinifikanti. Imma mbagħad iltqajna mal-fatt li l-maniġer tal-preproċessur beda jakkumula kju ta 'impjiegi:
Il-maniġer tal-preproċessur irid ikun kapaċi jagħti prijorità
Dan ġara f’każijiet fejn ma kellux prestazzjoni. Imbagħad kull ma seta’ jagħmel kien jakkumula talbiet mill-proċessi tal-ġbir tad-dejta u jżid il-buffer tagħhom sakemm ikkonsmat il-memorja kollha u ġġarraf:
Biex insolvu din il-problema, żidna t-tieni socket li kien iddedikat speċifikament għall-ħaddiema:
Għalhekk, il-maniġer tal-preproċessur kellu l-opportunità li jipprijoritizza x-xogħol tiegħu u, jekk il-buffer jikber, il-kompitu huwa li jnaqqas it-tneħħija, u jagħti lill-ħaddiema l-opportunità li jieħdu dan il-buffer:
Imbagħad skoprejna li waħda mir-raġunijiet għat-tnaqqis kien il-ħaddiema nfushom, peress li kienu qed jikkompetu għal riżors li ma kienx importanti għal kollox għax-xogħol tagħhom. Iddokumentajna din il-problema bħala bug-fix, u diġà ġiet solvuta f'verżjonijiet ġodda ta' Zabbix:
Aħna nżidu n-numru ta 'sokits - niksbu r-riżultat
Barra minn hekk, il-maniġer tal-preproċessur innifsu sar konġestjoni, peress li huwa ħajt wieħed. Hija tistrieħ fuq il-veloċità tal-qalba, li tagħti veloċità massima ta 'madwar 70 elf metrika kull sekonda:
Għalhekk, għamilna erba 'ħaddiema, b'erba' settijiet ta 'sokits:
U dan ippermettilna nżidu l-veloċità għal madwar 130 elf metrika:
In-non-linearità tat-tkabbir hija spjegata mill-fatt li dehret il-kompetizzjoni għall-cache tal-istorja. 4 maniġers tal-preproċessuri u sinkers tal-istorja kkompetew għaliha. F'dan il-punt, konna qed nirċievu madwar 130 elf metrika kull sekonda fuq il-magna tat-test, billi nużawha b'madwar 95% tal-proċessur:
Madwar 2,5 xhur ilu
Ir-rifjut minn snmp-community żied l-NVPs b'darba u nofs
MM: – Max, għandi bżonn karozza tat-test ġdida! M'għadniex noqogħdu f'dik attwali.
MCH: - X'għandek issa?
MM: – Issa – 130k NVPs u proċessur lest għall-ixkaffa.
MCH: - Ara naqra! Kessaħ! Stenna, għandi żewġ mistoqsijiet. Skont il-kalkoli tiegħi, il-ħtieġa tagħna hija ta 'madwar 15-20 elf metrika kull sekonda. Għaliex għandna bżonn aktar?
MM: "Irrid nispiċċa x-xogħol." Nixtieq nara kemm nistgħu noħorġu minn din is-sistema.
MCH: - Imma...
MM: "Imma huwa inutli għan-negozju."
MCH: - Huwa ċar. U t-tieni mistoqsija: nistgħu nappoġġaw dak li għandna issa waħedna, mingħajr l-għajnuna ta 'żviluppatur?
MM: - Ma naħsibx. Li tbiddel kif taħdem il-cache tal-konfigurazzjoni hija problema. Taffettwa l-bidliet fil-biċċa l-kbira tal-ħjut u hija pjuttost diffiċli biex tinżamm. Ħafna probabbli, se jkun diffiċli ħafna li tinżamm.
MCH: "Imbagħad għandna bżonn xi tip ta' alternattiva."
MM: - Hemm tali għażla. Nistgħu jaqilbu għal qlub veloċi, filwaqt li nabbandunaw is-sistema l-ġdida ta 'qfil. Aħna xorta se jkollna prestazzjoni ta '60-80 elf metrika. Fl-istess ħin, nistgħu nħallu l-bqija kollha tal-kodiċi. Il-Clickhouse u l-votazzjoni asinkronika se jaħdmu. U se jkun faċli biex tinżamm.
MCH: - tal-għaġeb! Nissuġġerixxi li nieqfu hawn.
Wara li ottimizzajna n-naħa tas-server, fl-aħħar stajna nniedu l-kodiċi l-ġdid fil-produzzjoni. Abbandunajna xi wħud mill-bidliet favur il-bidla għal magna b'qalba mgħaġġla u l-minimizzazzjoni tan-numru ta 'bidliet fil-kodiċi. Issimplifikajna wkoll il-konfigurazzjoni u eliminajna macros fl-oġġetti tad-dejta fejn possibbli, peress li jintroduċu qfil addizzjonali.
Pereżempju, l-abbandun tal-makro snmp-community, li ħafna drabi jinstab fid-dokumentazzjoni u l-eżempji, fil-każ tagħna għamilha possibbli li jitħaffu aktar NVPs b'madwar 1,5 darbiet.
Wara jumejn fil-produzzjoni
Tneħħija tal-pop-ups tal-istorja tal-inċidenti
MCH: – Misha, ilna jumejn nużaw is-sistema, u kollox jaħdem. Imma biss meta kollox jaħdem! Kellna xogħol ippjanat bit-trasferiment ta 'segment pjuttost kbir tan-netwerk, u erġajna ċċekkjajna b'idejna dak li tela' u dak li ma kienx.
MM: - Ma jistax ikun! Aħna ċċekkjaw kollox 10 darbiet. Is-server jimmaniġġja wkoll indisponibbiltà sħiħa tan-netwerk istantanjament.
MCH: - Iva, nifhem kollox: server, database, top, austat, zkuk - kollox huwa mgħaġġel... Imma nħarsu lejn l-interface tal-web, u hemm proċessur "fl-ixkaffa" fuq is-server u dan:
MM: - Huwa ċar. Ejja naraw il-web. Sibna li f'sitwazzjoni fejn kien hemm numru kbir ta' inċidenti attivi, il-biċċa l-kbira tal-widgets ħajjin bdew jaħdmu bil-mod ħafna:
Ir-raġuni għal dan kienet il-ġenerazzjoni ta 'pop-ups tal-istorja tal-inċidenti li huma ġġenerati għal kull oġġett fil-lista. Għalhekk, abbandunajna l-ġenerazzjoni ta 'dawn it-twieqi (ikkummentajna 5 linji fil-kodiċi), u dan solva l-problemi tagħna.
Il-ħin tat-tagħbija għall-widgets, anke meta kompletament mhux disponibbli, tnaqqas minn diversi minuti għal 10-15-il sekonda aċċettabbli għalina, u l-istorja xorta tista' tara billi tikklikkja fuq il-ħin:
Wara x-xogħol. 2 xhur ilu
MCH: - Misha, qed titlaq? Irridu nitkellmu.
MM: - Ma kellix il-ħsieb. Xi ħaġa ma' Zabbix mill-ġdid?
MCH: - Le, jirrilassaw! Ridt ngħid biss: kollox jaħdem, grazzi! Għandi birra.
Zabbix huwa effiċjenti
Zabbix hija sistema u funzjoni pjuttost universali u rikka. Jista 'jintuża għal stallazzjonijiet żgħar barra mill-kaxxa, iżda hekk kif il-ħtiġijiet jikbru, irid jiġi ottimizzat. Biex taħżen arkivju kbir ta 'metriċi, uża ħażna xierqa:
- tista' tuża għodod inkorporati fil-forma ta 'integrazzjoni ma' Elasticsearch jew ittella 'l-istorja għal fajls ta' test (disponibbli mill-verżjoni XNUMX);
- Tista' tieħu vantaġġ mill-esperjenza u l-integrazzjoni tagħna ma' Clickhouse.
Biex iżżid b'mod drammatiku l-veloċità tal-ġbir tal-metriċi, iġborhom billi tuża metodi asinkroniċi u ttrasmettihom permezz tal-interface tat-trapper lis-server Zabbix; jew tista 'tuża garża biex tagħmel pollers Zabbix mhux sinkroniċi.
Zabbix huwa miktub b'Ċ u huwa pjuttost effiċjenti. Is-soluzzjoni ta 'diversi konġestjonijiet arkitettoniċi tippermettilek tkompli żżid il-prestazzjoni tagħha u, fl-esperjenza tagħna, tikseb aktar minn 100 elf metrika fuq magna b'proċessur wieħed.
L-istess garża Zabbix
MM: – Irrid inżid ftit punti. Ir-rapport kurrenti kollu, it-testijiet kollha, in-numri jingħataw għall-konfigurazzjoni li nużaw. Issa qed nieħdu madwar 20 elf metrika kull sekonda minnha. Jekk qed tipprova tifhem jekk dan hux se jaħdem għalik, tista' tqabbel. Dak li ġie diskuss illum jitpoġġa fuq GitHub fil-forma ta’ garża:
Il-garża tinkludi:
- integrazzjoni sħiħa ma' Clickhouse (kemm is-server Zabbix kif ukoll il-frontend);
- issolvi problemi mal-maniġer tal-preproċessur;
- polling asinkroniku.
Il-garża hija kompatibbli mal-verżjoni 4 kollha, inklużi lts. Ħafna probabbli, b'bidliet minimi se taħdem fuq il-verżjoni 3.4.
Grazzi għall-attenzjoni tiegħek.
mistoqsijiet
Mistoqsija mill-udjenza (minn hawn 'il quddiem – A): – Wara nofsinhar it-tajjeb! Jekk jogħġbok għidli, għandek pjanijiet għal interazzjoni intensiva mat-tim ta’ Zabbix jew magħhom miegħek, sabiex din ma tkunx garża, iżda mġiba normali ta’ Zabbix?
MM: – Iva, żgur li se nimpenjaw xi wħud mill-bidliet. Xi ħaġa se jiġri, xi ħaġa se tibqa 'fil-garża.
A: – Grazzi ħafna għar-rapport eċċellenti! Jekk jogħġbok għidli, wara li tapplika l-garża, l-appoġġ minn Zabbix se jibqa' u kif se tkompli taġġorna għal verżjonijiet ogħla? Se jkun possibbli li taġġorna Zabbix wara l-garża tiegħek għal 4.2, 5.0?
MM: – Ma nista’ ngħid xejn dwar l-appoġġ. Kieku kont appoġġ tekniku Zabbix, probabbilment ngħid le, għax dan huwa l-kodiċi ta 'xi ħadd ieħor. Fir-rigward tal-kodiċi 4.2, il-pożizzjoni tagħna hija: "Se nimxu biż-żmien, u se naġġornaw lilna nfusna dwar il-verżjoni li jmiss." Għalhekk, għal xi żmien se nkunu qed inpoġġu garża għal verżjonijiet aġġornati. Diġà għedt fir-rapport: in-numru ta 'bidliet bil-verżjonijiet għadu pjuttost żgħir. Naħseb li t-tranżizzjoni minn 3.4 għal 4 ħadna madwar minuti 15. Xi ħaġa nbidlet hemm, iżda mhux importanti ħafna.
A: – Allura qed tippjana li tappoġġja l-garża tiegħek u tista 'tinstallaha b'mod sikur fil-produzzjoni u tirċievi aġġornamenti b'xi mod fil-futur?
MM: – Nirrakkomandawha bil-qawwa. Dan isolvi ħafna problemi għalina.
MCH: – Għal darb'oħra, nixtieq niġbed l-attenzjoni għall-fatt li l-bidliet li ma jikkonċernawx l-arkitettura u ma jikkonċernawx l-imblukkar jew kjuwijiet huma modulari, huma f'moduli separati. Anke b'bidliet żgħar tista 'żżommhom pjuttost faċilment.
MM: – Jekk inti interessat fid-dettalji, allura "Clickhouse" juża l-hekk imsejħa librerija tal-istorja. Huwa mhux marbut - hija kopja tal-appoġġ tal-Elastics, jiġifieri, hija konfigurabbli. Il-votazzjoni tbiddel biss lil min jixxandar. Aħna nemmnu li dan se jaħdem għal żmien twil.
A: - Grazzi ħafna. Għidli, hemm xi dokumentazzjoni tal-bidliet li saru?
MM: – Id-dokumentazzjoni hija garża. Ovvjament, bl-introduzzjoni ta 'Clickhouse, bl-introduzzjoni ta' tipi ġodda ta 'pollers, jinħolqu għażliet ġodda ta' konfigurazzjoni. Il-link mill-aħħar slide għandha deskrizzjoni qasira ta 'kif tużaha.
Dwar is-sostituzzjoni ta 'fping b'nmap
A: – Kif finalment implimentajt dan? Tista' tagħti eżempji speċifiċi: għandek strappers u skript estern? X'jispiċċa jiċċekkja numru daqshekk kbir ta 'hosts daqshekk malajr? Kif inti minjiera dawn l-ospiti? Għandna bżonn għalfhom biex nmap b'xi mod, ġibhom minn x'imkien, daħħalhom, imexxu xi ħaġa?...
MM: - Kessaħ. Mistoqsija korretta ħafna! Il-punt huwa dan. Immodifikajna l-librerija (ICMP ping, parti minn Zabbix) għal kontrolli ICMP, li jindikaw in-numru ta 'pakketti - wieħed (1), u l-kodiċi jipprova juża nmap. Jiġifieri dan huwa x-xogħol intern ta’ Zabbix, li sar ix-xogħol intern tal-pinger. Għaldaqstant, mhija meħtieġa l-ebda sinkronizzazzjoni jew użu ta’ nassaba. Dan sar apposta sabiex is-sistema titħalla intatta u ma jkollhiex għalfejn tittratta s-sinkronizzazzjoni ta 'żewġ sistemi ta' database: x'għandek tiċċekkja, ittella' permezz tal-poller, u t-tlugħ tagħna huwa miksur?.. Dan huwa ħafna aktar sempliċi.
A: – Taħdem ukoll għall-prokuri?
MM: – Iva, imma aħna ma ċċekkjawx. Il-kodiċi tal-votazzjoni huwa l-istess kemm f'Zabbix kif ukoll fis-server. Għandu jaħdem. Ħalli nenfasizza għal darb'oħra: il-prestazzjoni tas-sistema hija tali li m'għandniex bżonn prokura.
MCH: – It-tweġiba korretta għall-mistoqsija hija: "Għaliex għandek bżonn prokura b'sistema bħal din?" Biss minħabba NAT jew monitoraġġ permezz ta 'xi tip ta' kanal bil-mod...
A: – U tuża Zabbix bħala allertor, jekk nifhem sew. Jew il-grafika tiegħek (fejn hemm is-saff tal-arkivju) imċaqlaq għal sistema oħra, bħal Grafana? Jew m'intix tuża din il-funzjonalità?
MM: – Se nenfasizza għal darb'oħra: ksibna integrazzjoni sħiħa. Qed inferrgħu l-istorja f'Clickhouse, iżda fl-istess ħin biddilna l-php frontend. Il-frontend PHP jmur għal Clickhouse u jagħmel il-grafika kollha minn hemm. Fl-istess ħin, biex inkun onest, għandna parti li tibni data f'sistemi oħra ta 'display grafiku mill-istess Clickhouse, mill-istess data Zabbix.
MCH: – F’“Grafan” ukoll.
Kif ittieħdu deċiżjonijiet dwar l-allokazzjoni tar-riżorsi?
A: – Aqsam ftit mill-kċina ta’ ġewwa tiegħek. Kif ittieħdet id-deċiżjoni li kien meħtieġ li jiġu allokati riżorsi għall-ipproċessar serju tal-prodott? Dawn huma, b'mod ġenerali, ċerti riskji. U jekk jogħġbok għidli, fil-kuntest tal-fatt li se tappoġġja verżjonijiet ġodda: kif tiġġustifika din id-deċiżjoni mil-lat ta' ġestjoni?
MM: – Apparentement, ma għidniex id-drama tal-istorja tajjeb ħafna. sibna ruħna f’sitwazzjoni fejn kellha ssir xi ħaġa, u essenzjalment morna b’żewġ timijiet paralleli:
- Wieħed kien qed iniedi sistema ta’ monitoraġġ bl-użu ta’ metodi ġodda: monitoraġġ bħala servizz, sett standard ta’ soluzzjonijiet ta’ sors miftuħ li ngħaqqdu u mbagħad nippruvaw inbiddlu l-proċess tan-negozju sabiex naħdmu mas-sistema ta’ monitoraġġ il-ġdida.
- Fl-istess ħin, kellna programmatur entużjast li kien qed jagħmel dan (dwar lilu nnifsu). Ġara li rebaħ.
A: – U x'inhu d-daqs tat-tim?
MCH: - Hija quddiemek.
A: – Allura, bħal dejjem, għandek bżonn passjonarju?
MM: – Ma nafx x’inhu passjonarju.
A: - F'dan il-każ, apparentement, inti. Grazzi ħafna, int tal-biża.
MM: - Grazzi.
Dwar irqajja għal Zabbix
A: – Għal sistema li tuża prokuri (pereżempju, f'xi sistemi distribwiti), huwa possibbli li jiġu adattati u garżati, ngħidu aħna, pollers, prokuri u parzjalment il-preproċessur ta 'Zabbix innifsu; u l-interazzjoni tagħhom? Huwa possibbli li jiġu ottimizzati l-iżviluppi eżistenti għal sistema bi prokuri multipli?
MM: – Naf li s-server Zabbix huwa mmuntat permezz ta 'prokura (il-kodiċi huwa kkompilat u miksub). Aħna ma ttestjajnax dan fil-produzzjoni. M'inix ċert dwar dan, imma naħseb li l-maniġer tal-preproċessur ma jintużax fil-prokura. Il-kompitu tal-prokura huwa li jieħu sett ta 'metriċi minn Zabbix, jingħaqadhom (jirreġistra wkoll il-konfigurazzjoni, id-database lokali) u jagħtiha lura lis-server Zabbix. Is-server innifsu mbagħad jagħmel il-preproċessar meta jirċevih.
L-interess fil-prokuri jinftiehem. Aħna ser niċċekkjawha. Dan huwa suġġett interessanti.
A: – L-idea kienet din: jekk tista 'tqabbad pollers, tista' twaħħalhom fuq il-proxy u twaħħal l-interazzjoni mas-server, u tadatta l-preprocessor għal dawn l-għanijiet biss fuq is-server.
MM: – Naħseb li huwa saħansitra aktar sempliċi. Tieħu l-kodiċi, tapplika garża, imbagħad tikkonfiguraha bil-mod li għandek bżonn - iġbor proxy servers (pereżempju, b'ODBC) u tqassam il-kodiċi patched bejn is-sistemi. Fejn meħtieġ - iġbor prokura, fejn meħtieġ - server.
A: - X'aktarx, mhux se jkollok irqajja' t-trażmissjoni tal-prokura lis-server addizzjonalment?
MCH: - Le, huwa standard.
MM: – Fil-fatt, waħda mill-ideat ma ddoqqx. Dejjem żammejna bilanċ bejn l-isplużjoni ta 'ideat u l-ammont ta' bidliet u l-faċilità ta 'appoġġ.
Xi reklami 🙂
Grazzi talli bqajt magħna. Tħobb l-artikoli tagħna? Trid tara aktar kontenut interessanti? Appoġġuna billi tagħmel ordni jew tirrakkomanda lill-ħbieb,
Dell R730xd 2 darbiet orħos fiċ-ċentru tad-dejta Equinix Tier IV f'Amsterdam? Hawn biss
Sors: www.habr.com