Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

I-Zabbix yinkqubo yokubeka iliso. Njengayo nayiphi na enye inkqubo, ijongene neengxaki ezintathu eziphambili kuzo zonke iinkqubo zokubeka iliso: ukuqokelela kunye nokucubungula idatha, ukugcina imbali, kunye nokucoca.

Amanqanaba okufumana, ukusetyenzwa kunye nokurekhoda idatha kuthatha ixesha. Akuninzi, kodwa kwinkqubo enkulu oku kunokubangela ukulibaziseka okukhulu. Ingxaki yokugcina ngumba wofikelelo lwedatha. Zisetyenziselwa iingxelo, iitshekhi kunye nezibangela. Ukubambezeleka ekufikeleleni kwedatha kukwachaphazela ukusebenza. Xa i-database ikhula, idatha engabalulekanga kufuneka icinywe. Ukususa ngumsebenzi onzima obuye utye ezinye izibonelelo.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Iingxaki zokulibaziseka ngexesha lokuqokelela kunye nokugcinwa kwi-Zabbix zixazululwa nge-caching: iindidi ezininzi ze-cache, i-caching kwi-database. Ukusombulula ingxaki yesithathu, i-caching ayifanelekanga, ngoko uZabbix wasebenzisa i-TimescaleDB. Uya kukuxelela ngayo UAndrey Gushchin - injineli yenkxaso yobugcisa Zabbix SIA. U-Andrey uye waxhasa i-Zabbix iminyaka engaphezu kwe-6 kwaye unamava ngokuthe ngqo kunye nokusebenza.

Isebenza njani iTimescaleDB, yeyiphi intsebenzo enokunika xa ithelekiswa nePostgreSQL eqhelekileyo? Yeyiphi indima edlalwa nguZabbix kwidathabheyisi yeTimescaleDB? Ungaqala njani ukusuka ekuqaleni kunye nendlela yokufuduka kwi-PostgreSQL kwaye loluphi ulungelelwaniso olunokusebenza okungcono? Malunga nayo yonke le nto phantsi kokusikwa.

Imingeni yemveliso

Yonke inkqubo yokubeka iliso ijongene nemingeni ethile yokusebenza. Ndiza kuthetha ngezithathu zazo: ukuqokelela idatha kunye nokucubungula, ukugcinwa, kunye nokucoca imbali.

Ukuqokelelwa kwedatha ngokukhawuleza kunye nokusebenza. Inkqubo elungileyo yokubeka iliso kufuneka ifumane ngokukhawuleza yonke idatha kwaye iyiqhube ngokweenkcazo ze-trigger - ngokweenqobo zayo. Emva kokucubungula, inkqubo kufuneka igcine ngokukhawuleza le datha kwisiseko sedatha ukuze isetyenziswe kamva.

Ukugcinwa kwembali. Inkqubo efanelekileyo yokubeka iliso kufuneka igcine imbali kwisiseko sedatha kwaye ibonelele ngokufikelela ngokulula kwiimethrikhi. Imbali iyafuneka ukuba isetyenziswe kwiingxelo, iigrafu, izichukumisi, iithresholds, kunye nezinto ezibalwayo zedatha yesilumkiso.

Ukucoca imbali. Ngamanye amaxesha kufika usuku apho ungadingi ukugcina iimetriki. Kutheni ufuna idatha eqokelelwe kwiminyaka emi-5 eyadlulayo, inyanga okanye ezimbini: ezinye iindawo zicinyiwe, ezinye iihostele okanye iimethrikhi azisadingeki ngenxa yokuba ziphelelwe lixesha kwaye azisaqokelelwa. Inkqubo efanelekileyo yokubeka iliso kufuneka igcine idatha yembali kwaye iyisuse ngezikhathi ezithile ukuze i-database ingakhuli.

Ukucoca idatha yakudala ngumba obalulekileyo ochaphazela kakhulu ukusebenza kwedatha.

Ukugcina indawo eZabbix

Kwi-Zabbix, iifowuni zokuqala nezesibini zisonjululwa ngokusebenzisa i-caching. I-RAM isetyenziselwa ukuqokelela kunye nokwenza idatha. Ukugcinwa - imbali kwizichukumisi, iigrafu kunye nezinto ezibaliweyo zedatha. Kwicala lesiseko sedatha kukho i-caching yokhetho olusisiseko, umzekelo, iigrafu.

Ukugcina i-caching kwicala le-server ye-Zabbix ngokwayo:

  • ConfigurationCache;
  • I-ValueCache;
  • I-HistoryCache;
  • TrendsCache.

Makhe sibaqwalasele ngakumbi.

ConfigurationCache

Le yeyona cache iphambili apho sigcina khona iimetrics, iinginginya, izinto zedatha, iitriggers - yonke into esiyidingayo kwi-PreProcessing kunye nokuqokelela idatha.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Konke oku kugcinwa kwiConfigurationCache ukwenzela ukuba ungadali imibuzo engeyomfuneko kuvimba weenkcukacha. Emva kokuba iseva iqalile, sihlaziya le cache, senze kwaye sihlaziye ngamaxesha athile uqwalaselo.

Ukuqokelelwa kwedatha

Umzobo mkhulu kakhulu, kodwa eyona nto iphambili kuwo abakhi. Ezi zi "pollers" ezahlukeneyo - iinkqubo zendibano. Bajongene neentlobo ezahlukeneyo zendibano: baqokelela idatha nge-SNMP, IPMI, kwaye bayidlulisela yonke kwi-PreProcessing.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDBAbaqokeleli bachazwe ngoorenji.

I-Zabbix ibale izinto ezidityanisiweyo ukudibanisa iitshekhi. Ukuba sinazo, sizithathela idatha ngokuthe ngqo kwiValueCache.

Ukuqhubela phambili iCache yeMbali

Bonke abaqokeleli basebenzisa iConfigurationCache ukufumana imisebenzi. Emva koko bawatshintshela kwi-PreProcessing.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

I-PreProcessing isebenzisa ConfigurationCache ukufumana amanyathelo okwenziwa kwaPhambili. Iqhuba le datha ngeendlela ezahlukeneyo.

Emva kokucubungula idatha usebenzisa i-PreProcessing, siyigcina kwi-HistoryCache ukuze iqhutywe. Oku kuphelisa ukuqokelelwa kwedatha kwaye siqhubela phambili kwinkqubo ephambili kwiZabbix - isingqamanisi sembali, ekubeni i-architecture ye-monolithic.

Qaphela: Ukusetyenzwa kwangaphambili ngumsebenzi onzima kakhulu. Nge-v 4.2 iye yasiwa kwi-proxy. Ukuba uneZabbix enkulu kakhulu enenani elikhulu lezinto zedatha kunye nokuqokelela rhoqo, oku kwenza umsebenzi ube lula kakhulu.

I-ValueCache, imbali kunye ne-cache yeendlela

Ungqamaniso lwembali yeyona nkqubo iphambili esebenza ngeathom yedatha nganye, oko kukuthi, ixabiso ngalinye.

Isingqamanisi sembali sithatha amaxabiso kwi-HistoryCache kwaye ijonga uBumbeko kubukho bezinto ezibangela ukubala. Ukuba zikhona, iyabala.

I-syncer yembali yenza isiganeko, ukunyuka ukwenza izilumkiso ukuba zifunwa ngoqwalaselo, kunye neerekhodi. Ukuba kukho iziphembeleli zokuqhubekeka okulandelayo, ngoko igcina eli xabiso kwi-ValueCache ukuze ungafikeleli kwitafile yembali. Yile ndlela i-ValueCache izaliswe ngayo idatha efunekayo ukubala izinto ezibangela kunye nezinto ezibalwe.

I-syncer yembali ibhala yonke idatha kwisiseko sedatha, kwaye ibhala kwidiski. Inkqubo yokucubungula iphela apha.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Ugcino kuvimba weenkcukacha

Kwicala ledathabheyisi kukho iindawo ezifihliweyo ezahlukeneyo xa ufuna ukujonga iigrafu okanye iingxelo ngemisitho:

  • Innodb_buffer_pool kwicala le-MySQL;
  • shared_buffers kwicala lePostgreSQL;
  • effective_cache_size kwicala le-Oracle;
  • shared_pool kwicala leDB2.

Zininzi ezinye iicache, kodwa ezi zezona ziphambili kuzo zonke iidatabase. Bakuvumela ukuba ugcine idatha kwi-RAM ehlala ifuneka kwimibuzo. Banobuchwepheshe babo boku.

Ukusebenza kovimba wedatha kubalulekile

Umncedisi we-Zabbix uhlala eqokelela idatha kwaye uyibhala. Xa iqalwa kwakhona, ikwafunda kwimbali ukuzalisa iValueCache. Usebenzisa imibhalo neengxelo Zabbix API, eyakhiwe kujongano lweWebhu. I-Zabbix API ifikelela kwisiseko sedatha kwaye ifumana idatha efunekayo kwiigrafu, iingxelo, uluhlu lweziganeko kunye nemiba yakutshanje.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Ukujonga - IGrafana. Esi sisisombululo esidumileyo phakathi kwabasebenzisi bethu. Iyakwazi ukuthumela ngokuthe ngqo izicelo nge-Zabbix API nakwi-database, kwaye idale ukhuphiswano oluthile lokufumana idatha. Ke ngoko, ukulungiswa kogcino lwedatha okucokisekileyo nokungcono kuyafuneka ukuze kuhambelane nokuhanjiswa okukhawulezayo kweziphumo kunye novavanyo.

Umgcini wendlu

Umceli mngeni wesithathu wokusebenza kwi-Zabbix yimbali yokucoca usebenzisa uMgcini-ziNdlu. Ilandela zonke iisetingi - izinto zedatha zibonisa ixesha elingakanani ukugcina i-dynamics yotshintsho (iindlela) kwiintsuku.

Sibala iTrendsCache ngokubhabha. Xa idatha ifika, siyidibanisa iyure enye kwaye siyirekhoda kwiitheyibhile zokutshintsha kweenguqu.

Umgcini wendlu uqala kwaye asuse ulwazi oluvela kwisiseko sedatha usebenzisa "ukhetha" oqhelekileyo. Oku akusoloko kusebenza, njengoko kunokubonwa kwiigrafu zentsebenzo yeenkqubo zangaphakathi.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Igrafu ebomvu ibonisa ukuba i-syncer yeMbali ihlala ixakekile. Igrafu e-orenji phezulu yi-Housekeeper, ehlala iqhuba. Ulinda i-database ukuba icime yonke imiqolo ayichazileyo.

Kufuneka uvale nini uMgcini-ndlu? Umzekelo, kukho "I-ID yento" kwaye kufuneka ucime imiqolo engamawaka angama-5 ngexesha elithile. Ewe, oku kwenzeka ngesalathiso. Kodwa ngokuqhelekileyo i-dataset inkulu kakhulu, kwaye i-database isafunda kwidiski kwaye iyibeke kwi-cache. Oku kuhlala kungumsebenzi obiza kakhulu kwisiseko sedatha kwaye, kuxhomekeke kubungakanani besiseko sedatha, kunokukhokelela kwiingxaki zokusebenza.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Umgcini wendlu kulula ukukhubaza. Kwi-Web interface kukho ukusetwa "kwi-Administration jikelele" kuMgcini-ziNdlu. Sivala ugcino lwendlu lwangaphakathi kwimbali yentsingiselo yangaphakathi kwaye ayisayiphathi.

Umgcini wendlu wacinywa, iigrafu zikhutshwe - zeziphi iingxaki ezinokuthi zibe khona kule meko kwaye yintoni enokunceda ukusombulula umngeni wesithathu wokusebenza?

Ukwahlula-hlula okanye ukwahlulahlula

Ngokwesiqhelo, ulwahlulo luqwalaselwe ngendlela eyahlukileyo kwisiseko sedatha nganye enxulumeneyo endiyidwelisileyo. Ngamnye uneteknoloji yakhe, kodwa ziyafana ngokubanzi. Ukudala isahlulelo esitsha kudla ngokukhokelela kwiingxaki ezithile.

Ngokuqhelekileyo, izahlulo ziqwalaselwe ngokuxhomekeke "kuseta" - inani ledatha elenziwe ngosuku olunye. Njengomthetho, uKwahlula kukhutshwe ngosuku olunye, oku kuncinci. Ngeendlela zebhetshi entsha - inyanga e-1.

Amaxabiso anokutshintsha ukuba "ulungiselelo" lukhulu kakhulu. Ukuba "useto" oluncinci lufikelela kwi-5 nvps (amaxabiso amatsha ngomzuzwana), enye iphakathi ukusuka kwi-000 ukuya kwi-5, kwaye enkulu ingaphezulu kwe-000 nvps. Olu lufakelo olukhulu kwaye lukhulu kakhulu olufuna uqwalaselo ngononophelo lwesiseko sedatha.

Kufakelo olukhulu kakhulu, ixesha losuku olunye lisenokungabi lelona lifanelekileyo. Ndibone izahlulo ze-MySQL ze-40 GB okanye ngaphezulu ngosuku. Esi sisixa esikhulu kakhulu sedatha esinokubangela iingxaki kwaye kufuneka sincitshiswe.

Ukwahlula kukunika ntoni?

Iitafile zokwahlula. Amaxesha amaninzi ezi ziifayile ezahlukeneyo kwidiski. Isicwangciso sombuzo sikhetha isahlulelo esinye ngokugqibeleleyo. Ngokuqhelekileyo ukwahlula kusetyenziswa luluhlu - oku kuyinyaniso nakwiZabbix. Sisebenzisa "isitampu sexesha" apho - ixesha ukusukela ekuqaleni kwexesha. La ngamanani aqhelekileyo kuthi. Ubeka isiqalo kunye nokuphela kosuku - oku kukwahlula.

Ukususwa ngokukhawuleza - DELETE. Ifayile enye/icwecwe elisezantsi likhethiwe, endaweni yokhetho lwemiqolo yokucinywa.

Kuyakukhawulezisa ngokubonakalayo ukufunyanwa kwedatha SELECT - isebenzisa izahlulelo enye okanye ngaphezulu, endaweni yetheyibhile iyonke. Ukuba ufikelela kwidatha eneentsuku ezimbini ubudala, ibuyiselwa kwi-database ngokukhawuleza kuba ufuna kuphela ukulayisha ifayile enye kwi-cache kwaye uyibuyisele, kungekhona itafile enkulu.

Amaxesha amaninzi oovimba beenkcukacha bayakhawuleziswa INSERT - ukufakwa kwitafile yomntwana.

Ixesha leDVD

Kwi-v 4.2, sajika ingqalelo yethu kwi-TimescaleDB. Olu lulongezo lwePostgreSQL enojongano lwemveli. Ulwandiso lusebenza ngokufanelekileyo kunye nedatha yochungechunge lwexesha, ngaphandle kokulahlekelwa izibonelelo zolwazi lobudlelwane. I-TimescaleDB ikwahlula ngokuzenzekelayo.

I-TimescaleDB inombono I-hypertable (i-hypertable) oyenzayo. Iqulethe amaqhekeza - izahlulo. Ii-Chunks zilawulwa ngokuzenzekelayo amaqhekeza e-hypertable angachaphazeli amanye amaqhekeza. Iqhekeza ngalinye linoluhlu lwalo lwexesha.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

I-TimescaleDB vs PostgreSQL

I-TimescaleDB isebenza ngokwenene ngokufanelekileyo. Abavelisi bolu lwandiso babanga ukuba basebenzisa i-algorithm echanekileyo yokucubungula imibuzo, ngakumbi inserts . Njengoko ubungakanani bokufaka idatha yedatha bukhula, i-algorithm igcina ukusebenza rhoqo.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Emva kwemigqa yezigidi ze-200, i-PostgreSQL idla ngokuqala ukugoba kakhulu kwaye ilahlekelwe ukusebenza kwi-0. I-TimescaleDB ikuvumela ukuba ufake ngokufanelekileyo "ukufaka" kuyo nayiphi na imali yedatha.

isicwangciso

Ukufaka iTimescaleDB kulula kuyo nayiphi na ipakethe. IN amaxwebhu yonke into ichazwe ngokweenkcukacha - kuxhomekeke kwiiphakheji ezisemthethweni zePostgreSQL. I-TimescaleDB inokwakhiwa kwaye ihlanganiswe ngesandla.

Kwisiseko sedatha seZabbix simane sivula ulwandiso:

echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix

Uyavula extension kwaye uyidale kwisiseko sedatha yeZabbix. Inyathelo lokugqibela kukudala hypertable.

Ukufuduka kweetheyibhile zembali ukuya kwi-TimescaleDB

Kukho umsebenzi okhethekileyo wale nto create_hypertable:

SELECT create_hypertable(‘history’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘history_unit’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘history_log’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘history_text’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘history_str’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘trends’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
SELECT create_hypertable(‘trends_unit’, ‘clock’, chunk_time_interval => 86400, migrate_data => true);
UPDATE config SET db_extension=’timescaledb’, hk_history_global=1, hk_trends_global=1

Umsebenzi uneparameters ezintathu. Ekuqaleni - itheyibhile kwisiseko sedatha, apho kufuneka udale i-hypertable. Isibini - kwintsimi, ngokwendlela ekufuneka uyile ngayo chunk_time_interval -Ithuba leenxalenye zezahlulo eziza kusetyenziswa. Kwimeko yam, ikhefu yimini enye - 86.

Ipharamitha yesithathu - migrate_data. Ukuba useta true, emva koko yonke idatha yangoku idluliselwe kwiinqununu ezenziwe kwangaphambili. Ndayisebenzisa ngokwam migrate_data. Ndandine-TB e-1, eyathatha iyure. Nokuba kwezinye iimeko, ngexesha lovavanyo, ndiye ndacima idatha yembali yeentlobo zabalinganiswa ezazingafuneki ukuba zigcinwe, ukuze ndingazidluliseli.

Inyathelo lokugqibela - UPDATE: db_extension beka timescaledbukuze isiseko sedatha siqonde ukuba olu lwandiso lukhona. I-Zabbix iyenza isebenze kwaye isebenzisa ngokuchanekileyo i-syntax kunye nemibuzo kwisiseko sedatha - ezo mpawu ziyimfuneko kwi-TimescaleDB.

Ubumbeko lwe-Hardware

Ndisebenzise iiseva ezimbini. Ekuqaleni - Umatshini weVMware. Incinci kakhulu: 20 Intel® Xeon® CPU E5-2630 v 4 @ 2.20GHz iiprosesa, 16 GB RAM kunye ne-200 GB SSD.

Ndifake i-PostgreSQL 10.8 kuyo nge-Debian 10.8-1.pgdg90+1 OS kunye nenkqubo yefayile ye-xfs. Ndiqwalasele yonke into encinci ukusebenzisa le datha ethile, thabatha into eza kusebenzisa iZabbix ngokwayo.

Kumatshini ofanayo kwakukho iseva ye-Zabbix, i-PostgreSQL kunye iiarhente zomthwalo. Ndineearhente ezisebenzayo ezingama-50 ezazisebenzisa LoadableModuleukuvelisa ngokukhawuleza iziphumo ezahlukeneyo: amanani, imitya. Ndagcwalisa i-database ngedatha eninzi.

Ekuqaleni uqwalaselo luqulethwe 5 izinto idatha ngomamkeli ngamnye. Phantse yonke into ibiqulathe into ebangela ukuba ifane nofakelo lokwenyani. Kwezinye iimeko kwakukho ngaphezu kwesinye isiqhushumbisi. Kwi node enye yenethiwekhi kwakukho I-3-000 ibangela.

IThuba loHlaziyo lweMntwana yeDatha − Imizuzwana engama-4 ukuya kwengama-7. Ndawulawula umthwalo ngokwawo ngokusebenzisa i-agent ye-50 kuphela, kodwa ukongeza ngaphezulu. Kwakhona, usebenzisa izinto zedatha, ndilungelelanise ngokuguquguqukayo umthwalo kwaye ndanciphisa ixesha lokuhlaziya ukuya kwi-4 s.

PostgreSQL. 35 nvps

Ukubaleka kwam okokuqala kule hardware kwakukwiPostgreSQL ecocekileyo - 35 amawaka amaxabiso ngomzuzwana. Njengoko ubona, ukufaka idatha kuthatha amaqhezu okwesibini - yonke into ilungile kwaye iyakhawuleza. Into kuphela kukuba i-200 GB SSD disk igcwalisa ngokukhawuleza.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Le yideshibhodi yokusebenza yomncedisi weZabbix.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Igrafu yokuqala eluhlaza linani lamaxabiso ngomzuzwana. Igrafu yesibini ngasekunene kukulayishwa kweenkqubo zokwakha. Okwesithathu kukulayisha iinkqubo zokwakha zangaphakathi: izingqamanisi zembali kunye noMgcini-ndlu, obesebenza apha ixesha elide.

Igrafu yesine ibonisa ukusetyenziswa kwe-HistoryCache. Olu luhlobo lwesithinteli phambi kokufaka kuvimba weenkcukacha. Igrafu yesihlanu eluhlaza ibonisa usetyenziso lweValueCache, oko kukuthi, zingaphi iValueCache ebethayo kwizixhokonxa - oku kungamawaka amaxabiso ngomzuzwana.

PostgreSQL. 50 nvps

Emva koko ndonyusa umthwalo ukuya kuma-50 amawaka amaxabiso ngomzuzwana kwi-hardware efanayo.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Xa ulayisha kwi-Housekeeper, ukufaka i-10 lamawaka amaxabiso kuthathe imizuzwana emi-2-3.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB
Umgcini wendlu sele eqala ukuphazamisa umsebenzi.

Igrafu yesithathu ibonisa ukuba, ngokubanzi, umthwalo kubabambisi kunye nee-syncers zembali kusekho kwi-60%. Kwigrafu yesine, i-HistoryCache sele iqala ukuzalisa ngokusebenzayo ngexesha lomsebenzi woMgcini-Ndlu. I-20% igcwele, malunga ne-0,5 GB.

PostgreSQL. 80 nvps

Emva koko ndonyusa umthwalo ukuya kuma-80 amawaka amaxabiso ngomzuzwana. Oku kumalunga nama-400 amawaka eengongoma zedatha kunye ne-280 lamawaka ezinto ezibangelayo.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB
Ixabiso lokulayisha lee-syncers zembali ezingamashumi amathathu sele liphezulu kakhulu.

Ndongeze iiparameters ezahlukeneyo: iisyncers zembali, iicache.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Kwi-hardware yam, ukulayishwa kwee-syncers zembali kunyukile ukuya phezulu. I-HistoryCache yazaliswa ngokukhawuleza ngedatha-idatha yokusetyenzwa yaqokelelwa kwi-buffer.

Ngalo lonke eli xesha ndiye ndajonga indlela iprosesa, i-RAM kunye nezinye iiparamitha zesistim ezisetyenzisiweyo, kwaye ndafumanisa ukuba ukusetyenziswa kwediski kwakuphezulu.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Ndiyifezekisile ukusetyenziswa amandla edisk aphezulu kule hardware nakulo matshini wenyani. Ngobunzulu obunjalo, iPostgreSQL yaqala ukugungxula idatha ngokusebenzayo, kwaye idiski yayingasenaxesha lokubhala nokufunda.

Umncedisi wesibini

Ndathatha enye iseva, esele inamaprosesa angama-48 kunye ne-128 GB ye-RAM. Ndiyilungisile- ndiyibeke kwi-syncer yembali engama-60, kwaye ndafumana ukusebenza okwamkelekileyo.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Enyanisweni, oku sele kungumda wemveliso apho kukho into ekufuneka yenziwe.

I-TimescaleDB. 80 nvps

Umsebenzi wam ophambili kukuvavanya amandla e-TimescaleDB ngokuchasene nomthwalo weZabbix. Amaxabiso angama-80 amawaka ngomzuzwana aninzi, ukuphindaphinda kokuqokelela i-metrics (ngaphandle kweYandex, kunjalo) kunye "nokusetha" okukhulu.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Kukho udiphu kwigrafu nganye - oku kanye kukufuduswa kwedatha. Emva kokungaphumeleli kwi-server ye-Zabbix, iphrofayili yokulayisha ye-syncer yembali yatshintsha kakhulu - yehla kathathu.

I-TimescaleDB ikuvumela ukuba ufake idatha phantse amaxesha ama-3 ngokukhawuleza kwaye usebenzise i-HistoryCache encinci.

Ngokufanelekileyo, uya kufumana idatha ngexesha elifanelekileyo.

I-TimescaleDB. 120 nvps

Emva koko ndonyusa inani lezinto zedatha ukuya kwi-500 lamawaka Umsebenzi ophambili yayikukuvavanya amandla e-TimescaleDB - ndifumene ixabiso elibaliweyo le-125 lamawaka amaxabiso ngomzuzwana.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Oku "ukusetha" okusebenzayo kunokusebenza ixesha elide. Kodwa kuba idiski yam yayiyi-1,5 TB kuphela, ndayizalisa kwiintsuku ezimbalwa.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

Eyona nto ibalulekileyo kukuba kwangaxeshanye izahlulelo ezintsha ze-TimescaleDB zenziwe.

Oku akubonakali ngokupheleleyo ekusebenzeni. Xa izahlulo zenziwe kwi-MySQL, umzekelo, yonke into iyahluka. Oku kudla ngokwenzeka ebusuku kuba ibhloka ukufakwa ngokubanzi, ukusebenza ngeetafile kwaye kunokudala ukuthotywa kwenkonzo. Oku akunjalo nge-TimescaleDB.

Njengomzekelo, ndiza kubonisa igrafu enye kwabaninzi ekuhlaleni. Kumfanekiso, i-TimescaleDB yenziwe, enkosi umthwalo wokusebenzisa i-io.weight kwiprosesa. Ukusetyenziswa kwezinto zenkqubo yangaphakathi kuye kwancipha. Ngapha koko, lo ngumatshini oqhelekileyo oqhelekileyo kwiidiski zepancake eziqhelekileyo, hayi i-SSD.

Ukusebenza okuphezulu kunye nokwahlulahlulwa kwemveli: I-Zabbix enenkxaso ye-TimescaleDB

ezifunyanisiweyo

I-TimescaleDB sisisombululo esilungileyo "soseta" oluncinci., echaphazela ukusebenza kwedisk. Iya kukuvumela ukuba uqhubeke nokusebenza kakuhle de i-database ifuduselwe kwi-hardware ngokukhawuleza.

I-TimescaleDB kulula ukuyiqwalasela, inika iinzuzo zokusebenza, isebenza kakuhle kunye neZabbix kunye ineenzuzo ngaphezulu kwePostgreSQL.

Ukuba usebenzisa i-PostgreSQL kwaye awucwangcisi ukuyitshintsha, ndincoma sebenzisa i-PostgreSQL kunye nolwandiso lwe-TimescaleDB ngokubambisana ne-Zabbix. Esi sisombululo sisebenza ngokusebenzayo ukuya kutsho "kuseta" oluphakathi.

Xa sisithi "ukusebenza okuphezulu" sithetha Umthwalo oPhezulu++. Awuzukulinda ixesha elide ukuze ufunde malunga neetekhnoloji kunye nezenzo ezenza iinkonzo zikwazi ukukhonza izigidi zabasebenzisi. Uluhlu iingxelo ngoNovemba 7 kunye ne-8 sele siqokelele, kodwa apha iintlanganiso ngakumbi kunokucetyiswa.

Bhalisela yethu Incwadana yeendaba и yilelegram, apho sityhila iimpawu zenkomfa ezayo, kwaye sifumane indlela yokufumana okuninzi kuyo.

umthombo: www.habr.com

Yongeza izimvo