{"id":38927,"date":"2019-10-31T22:26:48","date_gmt":"2019-10-31T19:26:48","guid":{"rendered":"https:\/\/prohoster.info\/blog\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb\/"},"modified":"2019-10-31T22:26:48","modified_gmt":"2019-10-31T19:26:48","slug":"vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb","title":{"rendered":"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Zabbix \u2014 see monitooring s\u00fcsteem. Nagu iga teine s\u00fcsteem, seisab ka see silmitsi kolme peamise probleemiga: andmete kogumine ja t\u00f6\u00f6tlemine, ajaloo s\u00e4ilitamine ning selle puhastamine.<\/p>\n<p>Andmete saamise, t\u00f6\u00f6tlemise ja salvestamise etapid v\u00f5tavad aega. Veidi, kuid suure s\u00fcsteemi puhul v\u00f5ib see t\u00e4hendada suuri viivitusi. S\u00e4ilitamise probleem on seotud andmete ligip\u00e4\u00e4suga. Need on vajalikud aruannete, kontrollide ja k\u00e4ivitajate jaoks. Andmete ligip\u00e4\u00e4su viivitused m\u00f5jutavad samuti j\u00f5udlust. Kui andmebaasid kasvavad, tuleb outdated andmed eemaldada. Eemaldamine on keeruline operatsioon, mis s\u00f6\u00f6b samuti osa ressurssidest.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/9b7aa23705cd32b4d8d858ad78b181fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZabbixi andmete kogumise ja s\u00e4ilitamise viivituste probleem lahendatakse vahem\u00e4lu kasutamisega: erinevad vahem\u00e4lu t\u00fc\u00fcbid, vahem\u00e4lu andmebaasis. Kolmanda probleemi lahendamiseks vahem\u00e4lu ei sobi, seet\u00f5ttu kasutab Zabbix TimescaleDB-d. Selle kohta r\u00e4\u00e4gib <strong>Andrei Gushchin<\/strong> \u2014 tehnilise toe insener <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/zabbix\/\">Zabbix SIA<\/a><\/noindex>. Zabbixi tehnikatoe valdkonnas on Andrei tegelenud juba \u00fcle 6 aasta ning ta tegeleb otse tootlikkuse k\u00fcsimustega.<\/p>\n<p>Kuidas TimescaleDB t\u00f6\u00f6tab, millist j\u00f5udlust see v\u00f5ib pakkuda v\u00f5rreldes tavalise PostgreSQL-iga? Milline roll on Zabbixil TimescaleDB andmebaasis? Kuidas alustada nullist ja kuidas migreerida PostgreSQL-ilt ning millise konfiguratsiooni j\u00f5udlus on parem? K\u00f5igest sellest allpool.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"umRk94j5M8o\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/umRk94j5M8o\/hqdefault.jpg\" alt=\"Vaata videot\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h2>J\u00f5udluse v\u00e4ljakutsed<\/h2>\n<p>\nIga monitooringus\u00fcsteem seisab silmitsi teatud j\u00f5udluse v\u00e4ljakutsetega. R\u00e4\u00e4gin kolmest: andmete kogumine ja t\u00f6\u00f6tlemine, salvestamine, ajaloo puhastamine.<\/p>\n<p><strong>Kiire andmete kogumine ja t\u00f6\u00f6tlemine. <\/strong>Hea monitooringus\u00fcsteem peab kiiresti koguma k\u00f5ik andmed ja t\u00f6\u00f6tlema need vastavalt triggeri v\u00e4ljenditele - oma kriteeriumide j\u00e4rgi. P\u00e4rast t\u00f6\u00f6tlemist peab s\u00fcsteem need andmed ka kiiresti andmebaasi salvestama, et neid hiljem kasutada.<\/p>\n<p><strong>Ajaloo salvestamine. <\/strong>Hea monitooringus\u00fcsteem peab salvestama ajaloo andmebaasi ning andma mugava juurdep\u00e4\u00e4su m\u00f5\u00f5dikutele. Ajalugu on vajalik, et kasutada seda aruannetes, graafikutes, triggerites, l\u00e4ve v\u00e4\u00e4rtustes ja arvutatud andmeelementides teavitamiseks.<\/p>\n<p><strong>Ajaloo puhastamine. <\/strong>M\u00f5nikord tuleb p\u00e4ev, mil te ei vaja enam m\u00f5\u00f5dikute salvestamist. Miks peaksid teid huvitama viis aastat tagasi kogutud andmed, kuu v\u00f5i kaks: m\u00f5ned s\u00f5lmed on eemaldatud, m\u00f5ned hostid v\u00f5i m\u00f5\u00f5dikud ei ole enam vajalikud, kuna need on aegunud ja lakanud kogumast. Hea j\u00e4lgimiss\u00fcsteem peaks s\u00e4ilitama ajaloolisi andmeid ja aeg-ajalt need kustutama, et andmebaas ei laieneks.<\/p>\n<blockquote><p>Aegunud andmete puhastamine on terav k\u00fcsimus, mis m\u00f5jutab andmebaasi j\u00f5udlust oluliselt.<\/p><\/blockquote>\n<p><\/p>\n<h2>Zabbixi vahem\u00e4lu<\/h2>\n<p>\nZabbixis lahendatakse esimene ja teine \u200b\u200bk\u00f5ne vahem\u00e4lu abil. Andmete kogumiseks ja t\u00f6\u00f6tlemiseks kasutatakse t\u00f6\u00f6m\u00e4lu. Ajaloo s\u00e4ilitamiseks kasutatakse triggereid, graafikuid ja arvutatud andmeelemente. Andmebaasi pool on teatav vahem\u00e4lu peamiste valikute jaoks, n\u00e4iteks graafikute jaoks.<\/p>\n<p>Zabbixi serveri enda poolel on vahem\u00e4lu:<\/p>\n<ul>\n<li>ConfigurationCache;<\/li>\n<li>ValueCache;<\/li>\n<li>HistoryCache;<\/li>\n<li>TrendsCache.<\/li>\n<\/ul>\n<p>\nVaatame neid l\u00e4hemalt.<\/p>\n<h3>ConfigurationCache<\/h3>\n<p>\nSee on p\u00f5hivahem\u00e4lu, kus hoiame m\u00f5\u00f5dikuid, hoste, andmeelemente, triggereid \u2014 k\u00f5ike, mis on vajalik eelprotsessimiseks ja andmete kogumiseks.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/122708198f6cd136fbd0420876c06e9c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00f5ik see salvestatakse ConfigurationCache'i, et v\u00e4ltida tarbetuid p\u00e4ringuid andmebaasi. P\u00e4rast serveri k\u00e4ivitamist uuendame selle vahemaa, loome ja perioodiliselt uuendame konfiguratsioone.<\/p>\n<h3>Andmete kogumine<\/h3>\n<p>\nSkeem on piisavalt suur, kuid peamine on see \u2014 <strong>kogujad<\/strong>. Need on erinevad \u00abpollers\u00bb \u2014 kogumisprotsessid. Need vastutavad erinevat t\u00fc\u00fcpi kogumise eest: koguvad andmeid SNMP, IPMI kaudu ja edastavad need PreProcessingule.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/deff5d9ff358f1b04b505d18c7770f21.jpg\" style=\"display:block;margin: 0 auto;\" \/><em>Kogujad on m\u00e4rgitud oran\u017ei joonega.<\/em><\/p>\n<p>Zabbixis on arvutatud aggregatsioonielemente, mis on vajalikud kontrollide kogumiseks. Kui meil on need olemas, saame andmed otse ValueCache'ist.<\/p>\n<h3>PreProcessing HistoryCache<\/h3>\n<p>\nK\u00f5ik kogujad kasutavad ConfigurationCache'i \u00fclesannete saamiseks. Edasi edastavad nad need PreProcessingule.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/116e25100ebdf9ed209a9b04fa6fa156.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPreProcessing kasutab ConfigurationCache'i, et saada PreProcessing'i samme. Ta t\u00f6\u00f6tleb neid andmeid erinevate viisidega.<\/p>\n<p>Andmete t\u00f6\u00f6tlemise j\u00e4rel PreProcessinguga salvestame need HistoryCache'i, et neid t\u00f6\u00f6delda. Sellega l\u00f5peb andmete kogumine ja liigume Zabbixis peamise protsessi juurde \u2014 <strong>history syncer<\/strong>, kuna see on monoliitne arhitektuur.<\/p>\n<p><em>M\u00e4rkus: PreProcessing on piisavalt raske operatsioon. Alates versioonist 4.2 on see viidud proxy'le. Kui teil on v\u00e4ga suur Zabbix koos suure andmeelemendite ja kogumisv\u00f5imega, lihtsustab see t\u00f6\u00f6d oluliselt.<\/em><\/p>\n<h3>ValueCache, ajalugu &amp; trendide vahem\u00e4lu<\/h3>\n<p><\/p>\n<blockquote><p>Ajaloo s\u00fcnkroniseerija on peamine protsess, mis t\u00f6\u00f6tleb iga andmeelementi atomaarsetena, st iga v\u00e4\u00e4rtust.<\/p><\/blockquote>\n<p>\nAjaloo s\u00fcnkroniseerija v\u00f5tab v\u00e4\u00e4rtused HistoryCache'st ja kontrollib Configuration'is, kas on olemas k\u00e4ivitajaid arvutuste jaoks. Kui need on olemas \u2014 arvutab.<\/p>\n<p>Ajaloo s\u00fcnkroniseerija loob s\u00fcndmuse, eskaleerimise, et genereerida teateid, kui see on konfigureeritud, ja salvestab. Kui on k\u00e4ivitajad edasiseks t\u00f6\u00f6tluseks, salvestab see v\u00e4\u00e4rtuse ValueCache'sse, et mitte p\u00f6\u00f6rduda ajaloote tabelisse. Nii t\u00e4idetakse ValueCache andmetega, mis on vajalikud k\u00e4ivitajate ja arvutatud elementide arvutamiseks.<\/p>\n<p>Ajaloo s\u00fcnkroniseerija salvestab k\u00f5ik andmed andmebaasi, mis salvestab need ketta peale. T\u00f6\u00f6tlusprotsess l\u00f5peb sellega.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/4d74195381fda7756b0250982f6896be.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Vahem\u00e4lu andmebaasis<\/h3>\n<p>\nAndmebaasi poolest on olemas erinevad vahem\u00e4lu, kui soovite vaadata graafikuid v\u00f5i aruandeid s\u00fcndmuste kohta:<\/p>\n<ul>\n<li><code>Innodb_buffer_pool<\/code> MySQL poolel;<\/li>\n<li><code>shared_buffers<\/code> PostgreSQL poolel;<\/li>\n<li><code>effective_cache_size<\/code> Oracle poolel;<\/li>\n<li><code>shared_pool<\/code> DB2 poolel.<\/li>\n<\/ul>\n<p>\nOn veel teisi vahem\u00e4lusid, kuid need on p\u00f5hilised k\u00f5ikide andmebaaside jaoks. Need v\u00f5imaldavad hoida operatiivm\u00e4lu andmeid, mis on sageli vajalikud p\u00e4ringute jaoks. Neil on selleks oma tehnoloogiad.<\/p>\n<h3>Andmebaasi j\u00f5udlus on kriitilise t\u00e4htsusega<\/h3>\n<p>\nZabbix-server kogub pidevalt andmeid ja salvestab neid. Ta loeb ka k\u00e4ivitamisel ajaloost, et t\u00e4ita ValueCache'i. Skripte ja aruandeid kasutatakse <strong>Zabbix API<\/strong>, mis on \u00fcles ehitatud Web-liidese alusel. Zabbix API p\u00f6\u00f6rdub andmebaasi ja saadab vajalikud andmed graafikute, aruannete, s\u00fcndmuste loendite ja viimaste probleemide jaoks.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/dd0efdc4e57c1197d448ce453012091e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVisualiseerimiseks \u2014 <strong>Grafana<\/strong>. Meie kasutajate seas on see populaarne lahendus. See oskab otse saata p\u00e4ringuid nii Zabbix API kaudu kui ka andmebaasi ning loob teatava konkurentsi andmete saamisel. Seet\u00f5ttu on vajalik peen ja hea andmebaasi seadistus, et vastata kiirete tulemuste ja testimise n\u00f5uetele.<\/p>\n<h2>Housekeeper<\/h2>\n<p>\nZabbixi kolmas j\u00f5udluse v\u00e4ljakutse on ajaloo puhastamine Housekeeperi abil. See j\u00e4rgib k\u00f5iki seadeid \u2014 andmeelementides on m\u00e4\u00e4ratud, kui kaua s\u00e4ilitada muutuste d\u00fcnaamikat (trendide) p\u00e4evades.<\/p>\n<p>TrendsCache arvutame reaalajas. Andmete saabumisel kogume need kokku \u00fche tunni jooksul ja salvestame tabelitesse trendimuutuste d\u00fcnaamika jaoks.<\/p>\n<p>Housekeeper k\u00e4ivitub ja kustutab andmed andmebaasist tavap\u00e4raste \u00abselect\u00bb p\u00e4ringutega. See pole alati efektiivne, mida v\u00f5ib n\u00e4ha sisemiste protsesside j\u00f5udluse graafikutelt.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/a3af1badd14b1092bc26e0b53845ae04.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPunane graafik n\u00e4itab, et History syncer on pidevalt koormatud. \u00dclemine oran\u017e graafik \u2014 see on Housekeeper, mis k\u00e4ivitub pidevalt. Ta ootab andmebaasilt, et see kustutaks k\u00f5ik realood, mille ta on seadnud.<\/p>\n<p>Millal tuleks Housekeeper v\u00e4lja l\u00fclitada? N\u00e4iteks, kui on olemas \u00abItem ID\u00bb ja tuleb kustutada viimased 5000 rida kindla aja jooksul. Loomulikult toimub see indeksite kaudu. Kuid tavaliselt on andmestik v\u00e4ga suur ja andmebaas loeb ikkagi kettalt ja t\u00f5stab andmed vahem\u00e4lusse. See on alati andmebaasi jaoks v\u00e4ga kulukas operatsioon ja s\u00f5ltuvalt andmebaasi suurusest v\u00f5ib see p\u00f5hjustada j\u00f5udlusprobleeme.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/0778318b539fbe33318e8a7310f8a89b.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p>Housekeeperi saab lihtsalt v\u00e4lja l\u00fclitada. Veebiliideses on seadistus \u00abAdministration general\u00bb all Housekeeperi jaoks. L\u00fclitame v\u00e4lja sisemise Housekeeping'i sisemise trendiajaloo jaoks ja ta ei j\u00e4lgi seda enam.<\/p>\n<p>Majapidamise teenus on suletud, ajakavad on joondunud \u2014 millised v\u00f5ivad olla probleemid ja mis aitavad lahendada kolmandat j\u00f5udlusk\u00f5net?<\/p>\n<h2>Partitsioneerimine \u2014 sektsioonimine v\u00f5i partitsioonimine<\/h2>\n<p>\nTavaliselt seadistatakse partitsioneerimine erinevalt igas relatsioonilises andmebaasis, mille olen loetlenud. Igal on oma tehnoloogia, kuid nad on \u00fcldiselt sarnased. Uue partitsiooni loomine toob sageli kaasa teatud probleeme.<\/p>\n<p>Tavaliselt seadistatakse partitsioonid s\u00f5ltuvalt \u00absetup'ist\u00bb \u2014 p\u00e4evast loodud andmete arvust. \u00dcldiselt m\u00e4\u00e4ratakse partitsioneerimine \u00fche p\u00e4eva kohta, see on miinimum. Uute partitsioonide trendide jaoks \u2014 1 kuu.<\/p>\n<p>V\u00e4\u00e4rtused v\u00f5ivad muutuda v\u00e4ga suure \u00absetup'i\u00bb puhul. Kui v\u00e4ike \u00absetup\u00bb on kuni 5 000 nvps (uus v\u00e4\u00e4rtus sekundis), keskmine \u2014 5 000 kuni 25 000, siis suur \u2014 \u00fcle 25 000 nvps. Need on suured ja v\u00e4ga suured installatsioonid, mis n\u00f5uavad hoolikat andmebaasi seadistamist.<\/p>\n<p>V\u00e4ga suurte installatsioonide puhul ei pruugi \u00fche p\u00e4eva andmeosa olla optimaalne. Olen n\u00e4inud MySQL-is partitsioone, mis ulatuvad 40 GB ja rohkem \u00fche p\u00e4eva kohta. See on v\u00e4ga suur andmemahu, mis v\u00f5ib p\u00f5hjustada probleeme, ning seda tuleks v\u00e4hendada.<\/p>\n<h3>Mida annab partitsioneerimine?<\/h3>\n<p>\n<strong>Tabelite sektsioneerimine<\/strong>. Sageli on need eraldi failid kettal. K\u00fcsimuste plaan valib optimaalsemalt \u00fche partitsiooni. Tavaliselt kasutatakse partitsioneerimist vahemiku j\u00e4rgi \u2014 Zabbixi puhul kehtib see samuti. Me kasutame seal \"timestamp\" \u2014 aega alates ajaloost. Meil on need tavalised numbrid. M\u00e4\u00e4rate p\u00e4eva alguse ja l\u00f5pu \u2014 see on partitsioon.<\/p>\n<p><strong>Kiire eemaldamine<\/strong> \u2014 <code>DELETE<\/code>. Valitakse \u00fcks fail\/alamtabel, mitte ridade valik kustutamiseks.<\/p>\n<p><strong>Oluliselt kiirendab andmete valikut<\/strong> <code>SELECT<\/code> \u2014 kasutab \u00fchte v\u00f5i enamat partitsiooni, mitte kogu tabelit. Kui p\u00f6\u00f6rdute kahe p\u00e4eva taguste andmete poole, valitakse need andmebaasist kiiremini, kuna tuleb laadida ainult \u00fcks fail vahem\u00e4llu, mitte suur tabel.<\/p>\n<p>Sageli kiirendab see ka paljude andmebaaside <code>INSERT<\/code> \u2014 sisestusi child-tabelisse.<\/p>\n<h2>TimescaleDB<\/h2>\n<p>\nVersioonis 4.2 keskendume TimescaleDB-le. See on PostgreSQL-i t\u00e4iendus, mis pakub natiivset liidest. T\u00e4iendus t\u00f6\u00f6tab t\u00f5husalt ajareadade andmetega, kaotamata samas relaatsiooniliste andmebaaside eeliseid. TimescaleDB jagab andmed automaatselt partitsioonidesse.<\/p>\n<p>TimescaleDB-s on kontseptsioon <strong>h\u00fcperdb<\/strong> (h\u00fcperdb), mille te loote. See sisaldab <strong>chunk'e<\/strong> \u2014 partitsioonid. Chunk'id on automaatselt hallatavad h\u00fcperdb-fragmentide t\u00fckid, mis ei m\u00f5juta teisi fragmente. Iga chunk omab oma ajavahemikku.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/91a24560ff12aa17f98689e3445f50e1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>TimescaleDB vs PostgreSQL<\/h3>\n<p>\nTimescaleDB toimib t\u00f5eliselt efektiivselt. T\u00e4ienduse tootjad v\u00e4idavad, et nad kasutavad paremat p\u00e4ringute t\u00f6\u00f6tlemise algoritmi, seal hulgas &lt;code&gt;inserts&lt;\/code&gt;. Kui dataset-i sisendi suurus kasvab, s\u00e4ilitab algoritm pideva j\u00f5udluse.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/52f042018180ffd2cb6a2cf4a3af603e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00e4rast 200 miljonit rida hakkab PostgreSQL tavaliselt madalaks j\u00e4\u00e4ma ja kaotab j\u00f5udluse 0-ni. TimescaleDB v\u00f5imaldab t\u00f5husalt sisestada \u2018inserts\u2019 \u00fcksk\u00f5ik millise andmehulgaga.<\/p>\n<h3>Installeerimine<\/h3>\n<p>\nTimescaleDB installimine on piisavalt lihtne k\u00f5igi paketide jaoks. \u00dcksikasjad on <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.timescale.com\/v1.3\/getting-started\">dokumentatsioonis<\/a><\/noindex> k\u00f5ik on hoolikalt dokumenteeritud \u2014 see s\u00f5ltub ametlikest PostgreSQL paketidest. TimescaleDB-d saab ka k\u00e4sitsi koguda ja kompileerida.<\/p>\n<p>Zabbixi andmete baasi jaoks aktiviseerime lihtsalt laiendi:<\/p>\n<pre><code class=\"sql\">echo \"CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;\" | sudo -u postgres psql zabbix<\/code><\/pre>\n<p>\nTe aktiveerite <code>laiendi<\/code> ja loote selle Zabbixi andmete baasile. Viimane samm on h\u00fcpertableti loomine.<\/p>\n<h3>Ajaloo tabelite migratsioon TimescaleDB-sse<\/h3>\n<p>\nSelleks on spetsiaalne funktsioon <code>create_hypertable<\/code>:<\/p>\n<pre><code class=\"sql\">SELECT create_hypertable('history', 'clock', chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable('history_unit', 'clock', chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable('history_log', 'clock', chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable('history_text', 'clock', chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable('history_str', 'clock', chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable('trends', 'clock', chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable('trends_unit', 'clock', chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nUPDATE config SET db_extension='timescaledb', hk_history_global=1, hk_trends_global=1<\/code><\/pre>\n<p>\nFunktsioonil on kolm parameetrit. Esimene \u2014<strong> tabel andmete baasis<\/strong>, mille jaoks tuleb h\u00fcpertablett luua. Teine \u2014 <strong>v\u00e4li<\/strong>, mille p\u00f5hjal tuleb luua <code>chunk_time_interval<\/code> \u2014 partitsioonide chunkide intervall, mida kasutada. Minu juhul on intervall \u00fcks p\u00e4ev \u2014 86 400.<\/p>\n<p>Kolmas parameeter \u2014 <code><strong>andmed_migreerida<\/strong><\/code>. Kui seadistada <code>true<\/code>, siis k\u00f5ik praegused andmed kantakse \u00fcle ettevalmistatud chunk'idesse. Olen ise kasutanud <code>andmed_migreerida<\/code>. Mul oli umbes 1 TB, mis v\u00f5ttis rohkem kui tunni. Isegi mingites testimiste puhul kustutasin ma valikulised ajaloolised andmed s\u00fcmbolitest, et neid mitte \u00fcle kanda.<\/p>\n<p>Viimane samm \u2014\u00a0<code><strong>KUUDA<\/strong><\/code>: <code>db_extension<\/code> installime <code>timescaledb<\/code>, et andmebaas m\u00f5istaks, et see laiendus on olemas. Zabbix aktiveerib selle ja kasutab \u00f5igesti s\u00fcntaksit ja p\u00e4ringuid juba andmebaasi \u2014 funktsioone, mis on vajalikud TimescaleDB jaoks.<\/p>\n<h2>Riistvara konfiguratsioon<\/h2>\n<p>\nKasutasin kahte serverit. Esimene \u2014 <strong>VMware masin<\/strong>. See on piisavalt v\u00e4ike: 20 protsessorit Intel\u00ae Xeon\u00ae CPU E5-2630 v 4 @ 2.20GHz, 16 GB RAM ja 200 GB SSD-disk.<\/p>\n<p>Installeerisin selle peale PostgreSQL 10.8 koos Debian 10.8-1.pgdg90+1 ja failis\u00fcsteemiga xfs. K\u00f5ik oli minimaalne seadistatud, et kasutada just seda andmebaasi, v\u00e4lja arvatud see, mida kasutab Zabbix ise.<\/p>\n<p>Sama masin k\u00e4itas Zabbix-serveri, PostgreSQL-i ja <strong>koormuse agente<\/strong>. Mul oli 50 aktiivset agenti, kes kasutasid <code>LoadableModule<\/code>, et v\u00e4ga kiiresti genereerida erinevaid tulemusi: numbreid, stringe. T\u00e4itsin andmebaasi suure hulga andmetega.<\/p>\n<p>Algne konfiguratsioon sisaldas <strong>5 000 elementi<\/strong> iga hosti kohta. Peaaegu iga element sisaldas k\u00e4ivitajat, et see oleks sarnane reaalsetele installatsioonidele. M\u00f5nel juhul oli rohkem kui \u00fcks k\u00e4ivitaja. \u00dche v\u00f5rgu s\u00f5lme kohta tuli <strong>3 000\u20137 000 k\u00e4ivitatavat<\/strong>.<\/p>\n<p>Andmeelementide v\u00e4rskendamise intervall on <strong>4\u20137 sekundit<\/strong>. Koormust reguleerisin sellega, et kasutasin mitte ainult 50 agendi, vaid lisasin veel. Samuti reguleerisin andmeelementide abil d\u00fcnaamiliselt koormust ja v\u00e4hendasin v\u00e4rskendamise intervalli 4 sekundini.<\/p>\n<h3>PostgreSQL. 35 000 nvps<\/h3>\n<p>\nEsimene k\u00e4ivitus sellel riistvaral oli puhtal PostgreSQL-il \u2013 35 000 v\u00e4\u00e4rtust sekundis. Nagu n\u00e4ha, andmete sisestamine v\u00f5tab murdosa sekundist \u2013 k\u00f5ik toimib h\u00e4sti ja kiiresti. Ainus probleem on see, et 200 GB SSD-disk t\u00e4itub kiiresti.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/e84b2eb0f6fbbd902c5feab367c750ee.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee on Zabbixi standardne j\u00f5udlusjuhtpaneel \u2014 serverite jaoks.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/c3afe021acf8e272813b8d8c2f82e762.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsimene sinine diagramm n\u00e4itab v\u00e4\u00e4rtuste arvu sekundis. Teine diagramm paremal poolel n\u00e4itab kogumise protsesside koormust. Kolmas diagramm \u2013 sisemiste kogumise protsesside koormus: ajaloo s\u00fcnkroniseerijad ja Housekeeper, mis siin t\u00f6\u00f6tas piisavalt kaua.<\/p>\n<p>Neljas graafik n\u00e4itab HistoryCache'i kasutust. See on vahem\u00e4lu enne andmebaasi sisestamist. Roheline viies graafik n\u00e4itab ValueCache'i kasutust, st kui palju ValueCache'i hitte aktiveerijate jaoks \u2014 see on mitu tuhat v\u00e4\u00e4rtust sekundis.<\/p>\n<h3>PostgreSQL. 50 000 nvps<\/h3>\n<p>\nSiis suurendasin koormust kuni 50 000 v\u00e4\u00e4rtuseni sekundis samal riistvaral.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/8f10944486d5502b57d36059382d551b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHousekeeper'i laadimisel sisestati 10 000 v\u00e4\u00e4rtust 2-3 sekundiga.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/5228c1735f0ee2da7f827093f3c7b1f9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Housekeeper hakkab juba t\u00f6\u00f6le segama.<\/em><\/p>\n<p>Kolmandalt graafikult on n\u00e4ha, et \u00fcldiselt on trapperite ja ajaloos\u00fcnkroniseerijate koormus veel 60% tasemel. Neljandal graafikul t\u00e4itub HistoryCache Housekeeper'i t\u00f6\u00f6 ajal juba piisavalt aktiivselt. See on t\u00e4itunud 20% \u2014 umbes 0,5 GB.<\/p>\n<h3>PostgreSQL. 80 000 nvps<\/h3>\n<p>\nSeej\u00e4rel suurendasin koormust kuni 80 000 v\u00e4\u00e4rtuseni sekundis. See on umbes 400 000 andmeelementi ja 280 000 aktiveerijat.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/f6c6b0d6793f96523f7406e68f98c608.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Kolmek\u00fcmne ajaloos\u00fcnkroniseerija koormus on juba piisavalt k\u00f5rge.<\/em><\/p>\n<p>Suurendasin ka erinevaid parameetreid: ajaloos\u00fcnkroniseerijad, vahem\u00e4lud.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/6ca7edd76aea6fdec00a61a0a6dc34e5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMinu riistvaral suurenes ajaloos\u00fcnkroniseerijate koormus maksimumini. HistoryCache t\u00e4itus kiiresti andmetega \u2014 vahem\u00e4llu kogunesid andmed t\u00f6\u00f6tlemiseks.<\/p>\n<p>Kogu selle aja olen j\u00e4lginud, kuidas protsessor, m\u00e4lu ja s\u00fcsteemi teised parameetrid t\u00f6\u00f6tavad, ja leidsin, et kettariski kasutus oli maksimaalne.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/e964a000156b561accd23b4e1644f4a8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOlen saavutanud <strong>ketta maksimaalsete v\u00f5imaluste kasutamise<\/strong> selle riistvara ja selle virtuaalmasina puhul. Sellise intensiivsusega hakkas PostgreSQL andmeid piisavalt aktiivselt kustutama ja ketas ei j\u00f5udnud enam kirjutada ega lugeda.<\/p>\n<h3>Teine server<\/h3>\n<p>\nV\u00f5tsin teise serveri, millel oli juba 48 protsessorit ja 128 GB m\u00e4lu. H\u00e4\u00e4lestasin selle \u2014 paigaldasin 60 history syncer'i ja saavutasin rahuldava t\u00f6\u00f6kiirus.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/591fc759b336d5fb2091460036b136bf.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTegelikult on see juba j\u00f5udluse piir, kus on vaja midagi ette v\u00f5tta.<\/p>\n<h3>TimescaleDB. 80\u00a0000 nvps<\/h3>\n<p>\nMinu p\u00f5hieesm\u00e4rk on testida TimescaleDB v\u00f5imekust Zabbix'i koormuse all. 80 tuhat v\u00e4\u00e4rtust sekundis \u2014 see on palju, m\u00f5\u00f5tmisfrekvents (v\u00e4lja arvatud Yandex, loomulikult) ja \u00fcsna suur 'setup'.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/aa569847e7bc31baab91661db1ee78a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIgal graafikul on auk \u2014 see on just andmete migratsioon. P\u00e4rast auke Zabbix-serveris muutus history syncer'i koormusprofiil v\u00e4ga oluliselt \u2014 langes kolmekordseks.<\/p>\n<blockquote><p>TimescaleDB v\u00f5imaldab andmeid sisestada peaaegu 3 korda kiiremini ja kasutada v\u00e4hem HistoryCache'i.<\/p><\/blockquote>\n<p>\nSeega, andmed tarnitakse teile \u00f5igeaegselt.<\/p>\n<h3>TimescaleDB. 120 000 nvps<\/h3>\n<p>\nSiis suurendasin andmeelementide arvu 500 tuhandele. Peamine \u00fclesanne oli testida TimescaleDB v\u00f5imeid \u2014 sain arvutatud v\u00e4\u00e4rtuseks 125 tuhat v\u00e4\u00e4rtust sekundis.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/4770ca4030e1c086f2fd9305a12496bb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee on t\u00f6\u00f6alune 'setup', mis suudab pikka aega t\u00f6\u00f6tada. Kuid kuna mu kettaruum oli vaid 1,5 TB, t\u00e4itsin selle paarip\u00e4eva jooksul.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/1ad521b909a22a7db81a9ed802d348e7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00f5ige olulisem on, et sel ajal loodi ka uusi TimescaleDB partitsioone.<\/p>\n<p>Sellel on j\u00f5udlusele t\u00e4ielik m\u00f5ju. Kui n\u00e4iteks MySQL-is luuakse partitsioone, on olukord hoopis teine. Tavaliselt toimub see \u00f6\u00f6sel, kuna see blokeerib \u00fcldiseid sisestusi, t\u00f6\u00f6tlemist tabelitega ja v\u00f5ib p\u00f5hjustada teenuse halvenemist. TimescaleDB puhul ei ole seda.<\/p>\n<p>N\u00e4iteks n\u00e4itan \u00fcht graafikut paljusid community-st. Pildil on lisatud TimescaleDB, t\u00e4nu millele CPU io.weighti kasutamine langes. Ka sisemiste protsesside elementide kasutamine v\u00e4henes. Ja see on tavaline virtuaalmasin tavalistel ketastel, mitte SSD-del.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udluse ja kohandatud partitsioneerimisega: Zabbix koos TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/bea0cd0f1448e1d1b3a5f979d51ce61c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>J\u00e4reldused<\/h2>\n<p>\n<strong>TimescaleDB on hea lahendus v\u00e4ikestele 'setup'idele.<\/strong>, mis nad s\u00f5ltuvad ketta j\u00f5udlusest. See v\u00f5imaldab teil kenasti edasi t\u00f6\u00f6tada, kuni andmebaasi migreerimine kiiremale riistvarale on l\u00f5pule viidud.<\/p>\n<p>TimescaleDB on lihtne seadistada, pakub j\u00f5udluse kasvu ja t\u00f6\u00f6tab h\u00e4sti Zabbixi ning <strong>omab PostgreSQL-iga v\u00f5rreldes eeliseid<\/strong>.<\/p>\n<p>Kui kasutate PostgreSQL-i ega plaani seda muuta, soovitan <strong>kasutada PostgreSQL-i koos TimescaleDB laiendiga Zabbixiga<\/strong>. See lahendus t\u00f6\u00f6tab t\u00f5husalt kuni keskmiste \u201eseadete\u201d korral.<\/p>\n<blockquote>\n<p>Kui r\u00e4\u00e4gime \u201ek\u00f5rgest j\u00f5udlusest\u201d, siis peame silmas <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\">HighLoad++<\/a><\/noindex>. Ootamine, et tutvuda tehnoloogiate ja praktikatega, mis v\u00f5imaldab teenustel teenindada miljoneid kasutajaid, ei v\u00f5ta kaua aega. Loetelu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\/abstracts\">ettekandeid<\/a><\/noindex> 7. ja 8. novembri jaoks oleme juba koostanud, kuid <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\/meetups\">kohtumisi<\/a><\/noindex> saab veel pakkuda.<\/p>\n<p>Liituge meie <noindex><a rel=\"nofollow\" href=\"http:\/\/eepurl.com\/VYVaf\">uudiskirjaga<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/HighLoadChannel\">telegram<\/a><\/noindex>, kus jagame infot tulevase konverentsi kohta ning saate teada, kuidas maksimaalselt kasu saada.<\/p>\n<\/blockquote>\n<p>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/oleg-bunin\/blog\/470902\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Zabbix \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u0430\u044f \u0434\u0440\u0443\u0433\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043e\u043d\u0430 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0442\u0440\u0435\u043c\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0432\u0441\u0435\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430: \u0441\u0431\u043e\u0440 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438, \u0435\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0430. \u042d\u0442\u0430\u043f\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432\u0440\u0435\u043c\u044f. \u041d\u0435\u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c. \u041e\u043d\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29204,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38927","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Zabbix \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u0430\u044f \u0434\u0440\u0443\u0433\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043e\u043d\u0430 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0442\u0440\u0435\u043c\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0432\u0441\u0435\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430: \u0441\u0431\u043e\u0440 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438, \u0435\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0430. \u042d\u0442\u0430\u043f\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432\u0440\u0435\u043c\u044f. \u041d\u0435\u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c. \u041e\u043d\u0438\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u0441\u043e\u043a\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435: Zabbix \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 TimescaleDB | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Zabbix \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u0430\u044f \u0434\u0440\u0443\u0433\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043e\u043d\u0430 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0442\u0440\u0435\u043c\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0432\u0441\u0435\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430: \u0441\u0431\u043e\u0440 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438, \u0435\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0430. \u042d\u0442\u0430\u043f\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432\u0440\u0435\u043c\u044f. \u041d\u0435\u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c. \u041e\u043d\u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:26:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:26:48+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 K\u00f5rge j\u00f5udlus ja natiivne partitsioneerimine: Zabbix TimescaleDB toega | ProHoster","description":"Zabbix \u2014 j\u00e4lgimiss\u00fcsteem. Nagu iga teine s\u00fcsteem, seisab ka see silmitsi kolme peamise probleemiga, millega k\u00f5ik j\u00e4lgimiss\u00fcsteemid kokku puutuvad: andmete kogumine ja t\u00f6\u00f6tlemine, ajaloo salvestamine ning selle puhastamine. Andmete hankimise, t\u00f6\u00f6tlemise ja salvestamise etapid n\u00f5uavad aega. Natuke, aga suure s\u00fcsteemi jaoks v\u00f5ivad need muutuda suurteks viivitusteks. Salvestamise probleem on andmete ligip\u00e4\u00e4su k\u00fcsimus. Need","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u0441\u043e\u043a\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u043f\u0430\u0440\u0442\u0438\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435: Zabbix \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 TimescaleDB | ProHoster","og:description":"Zabbix \u2014 \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u0430\u044f \u0434\u0440\u0443\u0433\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043e\u043d\u0430 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u0442\u0440\u0435\u043c\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u043c\u0438 \u0432\u0441\u0435\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430: \u0441\u0431\u043e\u0440 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u0438, \u0435\u0435 \u043e\u0447\u0438\u0441\u0442\u043a\u0430. \u042d\u0442\u0430\u043f\u044b \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0432\u0440\u0435\u043c\u044f. \u041d\u0435\u043c\u043d\u043e\u0433\u043e, \u043d\u043e \u0434\u043b\u044f \u043a\u0440\u0443\u043f\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u2014 \u044d\u0442\u043e \u0432\u043e\u043f\u0440\u043e\u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c. \u041e\u043d\u0438","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/vysokaya-proizvoditelnost-i-nativnoe-partitsionirovanie-zabbix-s-podderzhkoj-timescaledb","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:26:48+00:00","article:modified_time":"2019-10-31T19:26:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38927","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 23:59:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 21:14:06","updated":"2026-01-23 23:59:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/38927","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=38927"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/38927\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/29204"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=38927"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=38927"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=38927"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}