{"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\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Zabbix on j\u00e4lgimiss\u00fcsteem. Nagu iga teine s\u00fcsteem, seisab see silmitsi kolme p\u00f5hiprobleemiga, mis on iseloomulikud k\u00f5ikidele j\u00e4lgimiss\u00fcsteemidele: andmete kogumine ja t\u00f6\u00f6tlemine, ajaloo s\u00e4ilitamine, selle puhastamine.<\/p>\n<p>Andmete saamise, t\u00f6\u00f6tlemise ja salvestamise etapid v\u00f5tavad aega. Veidi, kuid suures s\u00fcsteemis v\u00f5ivad need viivitused muutuda m\u00e4rkimisv\u00e4\u00e4rseteks. S\u00e4ilitamise probleem on andmete juurde p\u00e4\u00e4semise k\u00fcsimus. Neid kasutatakse aruandeid, kontrolle ja aktiveerimisi silmas pidades. Andmetele juurdep\u00e4\u00e4su viivitused m\u00f5jutavad samuti j\u00f5udlust. Kui andmebaasid suurenevad, tuleb vanad andmed eemaldada. Eemaldamine on n\u00f5udlik operatsioon, mis samuti neelab \u00e4ra osa ressurssidest.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/9b7aa23705cd32b4d8d858ad78b181fd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAja viivituste probleemid andmete kogumisel ja hoiustamisel Zabbixis lahendatakse vahem\u00e4luga: erinevad vahem\u00e4lude t\u00fc\u00fcbid, andmebaasis vahem\u00e4lu. Kolmanda probleemi lahendamiseks ei sobi vahem\u00e4lu, seet\u00f5ttu on Zabbixis kasutusele v\u00f5etud TimescaleDB. Sellest r\u00e4\u00e4gib <strong>Andrei Gu\u0161tin<\/strong> \u2014 tehnilise toe insener <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/zabbix\/\">Zabbix SIA<\/a><\/noindex>. Zabbixi tugiteenuste juures on Andrei t\u00f6\u00f6tanud \u00fcle 6 aasta ja puutub otseselt kokku j\u00f5udlusega.<\/p>\n<p>Kuidas toimib TimescaleDB, millist j\u00f5udlust see v\u00f5ib anda 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=\"M\u00e4ngi 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\u00f5udlusv\u00e4ljakutsed<\/h2>\n<p>\nIga j\u00e4lgimiss\u00fcsteem seisab silmitsi teatud j\u00f5udlusv\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 j\u00e4lgimiss\u00fcsteem peaks kiiresti koguma k\u00f5ik andmed ja t\u00f6\u00f6tlema need vastavalt aktiveerimiskriteeriumidele. P\u00e4rast t\u00f6\u00f6tlemist peaks s\u00fcsteem samuti kiiresti salvestama need andmed andmebaasi, et neid hiljem kasutada.<\/p>\n<p><strong>Ajaloo s\u00e4ilitamine. <\/strong>Hea j\u00e4lgimiss\u00fcsteem peaks andmebaasis s\u00e4ilitama ajaloo ja pakkuma mugavat juurdep\u00e4\u00e4su m\u00f5\u00f5dikutele. Ajalugu on vajalik, et kasutada seda aruannetes, graafikutes, aktiveerimistes, l\u00e4vendites ja arvutatud andmeelementides teavitamiseks.<\/p>\n<p><strong>Ajaloo puhastamine. <\/strong>M\u00f5nikord tekib p\u00e4ev, kus te ei vaja metrikate salvestamist. Miks teil on andmeid, mis on kogutud viie aasta, kuu v\u00f5i kahe tagant: m\u00f5ned s\u00f5lmed on eemaldatud, m\u00f5ned hostid v\u00f5i meetrichad ei ole enam vajalikud, kuna need on vananenud ja l\u00f5ppenud. Hea seire s\u00fcsteem peaks salvestama ajaloolisi andmeid ja aeg-ajalt neid eemaldama, et andmebaas ei paisuks.<\/p>\n<blockquote><p>Vananevate andmete puhastamine on terav k\u00fcsimus, mis m\u00f5jutab andmebaasi j\u00f5udlust.<\/p><\/blockquote>\n<p><\/p>\n<h2>Vahem\u00e4lu Zabbixis<\/h2>\n<p>\nZabbixis on esimene ja teine \u00fclesanne lahendatud vahem\u00e4luga. Andmete kogumiseks ja t\u00f6\u00f6tlemiseks kasutatakse RAM-i. Ajaloo salvestamiseks kasutatakse triggereid, graafikuid ja arvutatud andmeelemente. Andmebaasi k\u00fcljel on p\u00f5hiv\u00f5tmete jaoks teatud vahem\u00e4lu, n\u00e4iteks graafikute puhul.<\/p>\n<p>Zabbix-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 peamine vahem\u00e4lu, kus salvestame meetrikad, hostid, andmeelementid, triggereid \u2014 k\u00f5ike, mis on vajalik eelprotsessinguks ja andmete kogumiseks.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix 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 liigseid p\u00e4ringuid andmebaasi. P\u00e4rast serveri k\u00e4ivitamist uuendame seda vahem\u00e4lu, loome ja perioodiliselt v\u00e4rskendame konfigureeringud.<\/p>\n<h3>Andmete kogumine<\/h3>\n<p>\nSch\u00e9ma on \u00fcsna suur, kuid peamine selles on <strong>kogujad<\/strong>. Need on erinevad \u201epollers\u201d \u2014 kogumisprotsessid. Need vastutavad erinevate kogumise liikide eest: koguvad andmeid SNMP, IPMI kaudu ja edastavad k\u00f5ik eelprotsessimisele.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/deff5d9ff358f1b04b505d18c7770f21.jpg\" style=\"display:block;margin: 0 auto;\" \/><em>Kogujad on t\u00e4histatud oran\u017ei joontega.<\/em><\/p>\n<p>Zabbixis on olemas arvutatud agregatsioonielemendid, mis on vajalikud kontrollide agregatsiooniks. Kui meil neid on, siis saame andmed nende jaoks otse ValueCache'ist.<\/p>\n<h3>Eelprotsessimise Ajaloo vahem\u00e4lu<\/h3>\n<p>\nK\u00f5ik kogujad kasutavad ConfigurationCache'i, et saada \u00fclesandeid. Edasi edastavad nad need eelprotsessimisele.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/116e25100ebdf9ed209a9b04fa6fa156.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEelprotsessimine kasutab ConfigurationCache'i, et saada eelprotsessimise samme. See t\u00f6\u00f6tleb andmeid erinevatel viisidel.<\/p>\n<p>Andmete t\u00f6\u00f6tlemise p\u00e4rast eelprotsessimist salvestame need HistoryCache'i, et t\u00f6\u00f6delda. Sellega l\u00f5peb andmete kogumine ja liigume edasi Zabbixis p\u00f5hiprotsessile \u2014 <strong>ajaloo s\u00fcnkroniseerija<\/strong>, kuna see on monoliitne arhitektuur.<\/p>\n<p><em>M\u00e4rkuseks: eelprotsessimine on \u00fcsna ressursimahukas tehing. Alates versioonist 4.2 on see viidud proxyle. Kui teie Zabbix on v\u00e4ga suur ja tal on palju andmeelemente ning kogumissagedust, siis see kergendab t\u00f6\u00f6d oluliselt.<\/em><\/p>\n<h3>ValueCache, ajalugu ja trendide cache<\/h3>\n<p><\/p>\n<blockquote><p>Ajaloo s\u00fcnkroniseerija on peamine protsess, mis t\u00f6\u00f6tleb iga andme elementi atomaarsetena, st iga v\u00e4\u00e4rtust.<\/p><\/blockquote>\n<p>\nAjaloo s\u00fcnkroniseerija v\u00f5tab v\u00e4\u00e4rtused HistoryCache'ist ja kontrollib konfiguratsiooni, et leida triggereid arvutamiseks. Kui need on olemas, arvutab ta.<\/p>\n<p>Ajaloo s\u00fcnkroniseerija loob s\u00fcndmuse, eskaleerimise, et luua teateid, kui konfigureeritud, ja salvestab. Kui on triggereid edasise t\u00f6\u00f6tlemise jaoks, salvestab ta selle v\u00e4\u00e4rtuse ValueCache'isse, et mitte p\u00f6\u00f6rduda ajaloote tabeli poole. Nii t\u00e4iendatakse ValueCache'i andmetega, mis on vajalikud triggereid arvutamise elementide jaoks.<\/p>\n<p>Ajaloo s\u00fcnkroniseerija salvestab k\u00f5ik andmed andmebaasi ja see salvestab andmed kettale. T\u00f6\u00f6tlemise protsess l\u00f5peb sellega.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/4d74195381fda7756b0250982f6896be.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>K\u00e4t\u0161imine andmebaasis<\/h3>\n<p>\nAndmebaasi poolel on erinevad k\u00e4t\u0161id, kui soovite vaadata graafikuid v\u00f5i aruandeid s\u00fcndmuste kohta:<\/p>\n<ul>\n<li><code>Innodb_buffer_pool<\/code> MySQL pool;<\/li>\n<li><code>shared_buffers<\/code> PostgreSQL pool;<\/li>\n<li><code>effective_cache_size<\/code> Oracle'i pool;<\/li>\n<li><code>shared_pool<\/code> DB2 poolel.<\/li>\n<\/ul>\n<p>\nOn veel palju teisi k\u00e4t\u0161e, aga need on peamised k\u00f5igi andmebaaside jaoks. Need v\u00f5imaldavad hoida faile m\u00e4lus, mis on sageli vajalikud p\u00e4ringute jaoks. Neil on selleks oma tehnoloogiad.<\/p>\n<h3>Andmebaasi j\u00f5udlus on kriitiliselt t\u00e4htis<\/h3>\n<p>\nZabbix-server kogub pidevalt andmeid ja salvestab neid. Ta ka loeb ajaloost, et t\u00e4ita ValueCache'i p\u00e4rast taask\u00e4ivitamist. Skripte ja aruandeid kasutatakse <strong>Zabbix API<\/strong>, mis on rajatud veebiliidese baasil. Zabbix API p\u00f6\u00f6rdub andmebaasi poole ja saab vajalikud andmed graafikute, aruannete, s\u00fcndmuste loendite ja viimaste probleemide jaoks.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix 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 Zabbix API ja andmebaasi kaudu p\u00e4ringuid saata ja loob teatava konkurentsi andmete saamiseks. Seet\u00f5ttu on vaja peent ja head andmebaasi seadistust, et tagada kiire tulemuste v\u00e4ljastamine ja testimine.<\/p>\n<h2>Housekeeper<\/h2>\n<p>\nKolmas j\u00f5udluse v\u00e4ljakutse Zabbixis on ajaloo puhastamine Housekeeper'iga. See j\u00e4rgib k\u00f5ik seadistused \u2014 andmeelementides on m\u00e4\u00e4ratud, kui palju hoida d\u00fcnaamikat muutuste osas p\u00e4evade jooksul.<\/p>\n<p>TrendsCache'i arvutame jooksvalt. Kui andmed saavad, kogume need \u00fche tunni jooksul ja salvestame need tabelitesse muutuste d\u00fcnaamika jaoks.<\/p>\n<p>Housekeeper k\u00e4ivitub ja eemaldab andmeid andmebaasist tavaliste \"selectide\" kaudu. See ei ole alati efektiivne, mida saab aru performance graafikutest sisestes protsessides.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix 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 h\u00f5ivatud. \u00dclemine oran\u017e graafik on Housekeeper, mis k\u00e4ivitub pidevalt. Ta ootab andmebaasilt, millal see kustutab k\u00f5ik read, mille ta on m\u00e4\u00e4ranud.<\/p>\n<p>Millal tuleks Housekeeper v\u00e4lja l\u00fclitada? N\u00e4iteks, kui on olemas \"Item ID\" ja tuleb kustutada viimased 5000 rida teatud ajavahemiku jooksul. Loomulikult toimub see indeksite kaudu. Kuid tavaliselt on andmekogum v\u00e4ga suur, ja andmebaas loeb ikkagi kettalt ja t\u00f5stetakse vahem\u00e4llu. See on alati v\u00e4ga kulukas operatsioon andmebaasi jaoks ja s\u00f5ltuvalt andmebaasi suurusest v\u00f5ib see p\u00f5hjustada j\u00f5udluse probleeme.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix 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 \"Administration general\" sektsioonis Housekeeper. L\u00fclitame v\u00e4lja sisemise Housekeeping'i sisemise trendi ajaloos ja ta ei halda seda enam.<\/p>\n<p>Housekeeper on v\u00e4lja l\u00fclitatud, graafikud on tasakaalu j\u00f5udnud \u2014 millised probleemid v\u00f5ivad sel juhul esineda ja mis v\u00f5ib aidata kolmanda j\u00f5udluse v\u00e4ljakutse lahendamisel?<\/p>\n<h2>Partitioning \u2014 sektsioonide loomine v\u00f5i jagamine<\/h2>\n<p>\nTavaliselt seadistatakse partitsioneerimine erinevate meetoditega igas relaatsioonilises andmebaasis, mille ma loetlesin. Igal on oma tehnoloogia, kuid need on sarnased. Uue partitsiooni loomine toob sageli kaasa teatud probleemid.<\/p>\n<p>Tavaliselt seadistatakse partitsioonid s\u00f5ltuvalt \"setup'ist\" \u2014 p\u00e4evade jooksul kogunevate andmete arv. \u00dcldiselt seavad nad Partitioning'i \u00fche p\u00e4eva kaupa, see on miinimum. Uute trendide jaoks on partitsioon seadistatud 1 kuu kaupa.<\/p>\n<p>V\u00e4\u00e4rtused v\u00f5ivad muutuda v\u00e4ga suure \"setup'i\" korral. Kui v\u00e4ike \"setup\" on kuni 5000 nvps (uus v\u00e4\u00e4rtus sekundis), keskmine \u2014 5000 kuni 25000, siis suur \u2014 \u00fcle 25000 nvps. Need on suured ja v\u00e4ga suured installatsioonid, mis n\u00f5uavad andmebaasi t\u00e4pset seadistamist.<\/p>\n<p>V\u00e4ga suurte installatsioonide puhul v\u00f5ib \u00fche p\u00e4eva l\u00f5ik mitte olla optimaalne. Olen n\u00e4inud MySQL partitsioone, mis on 40 GB ja rohkem p\u00e4evas. See on v\u00e4ga suur andmehulga kogus, mis v\u00f5ib p\u00f5hjustada probleeme ja seda tuleb v\u00e4hendada.<\/p>\n<h3>Mida annab Partitioning?<\/h3>\n<p>\n<strong>Tabelite sektsioneerimine<\/strong>. Sageli on need eraldi failid kettal. P\u00e4ringute plaan valib optimaalselt \u00fche partitsiooni. Tavaliselt kasutatakse partitsioneerimist vahemiku j\u00e4rgi \u2014 Zabbixi puhul kehtib see samuti. Me kasutame seal \"timestamp\" \u2014 aeg alates ajajoonest. Meil on see tavalised numbrid. Sa m\u00e4\u00e4ratled p\u00e4eva alguse ja l\u00f5pu \u2014 see on partitsioon.<\/p>\n<p><strong>Kiire kustutamine<\/strong> \u2014 <code>DELETE<\/code>. Valitakse \u00fcks fail\/alamsaal, mitte ridade valik kustutamiseks.<\/p>\n<p><strong>M\u00e4rgatavalt kiirendab andmete valimist<\/strong> <code>SELECT<\/code> \u2014 kasutab \u00fchte v\u00f5i rohkem partitsiooni, mitte kogu tabelit. Kui sa p\u00f6\u00f6rdud 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 paljusid andmebaase <code>INSERT<\/code> \u2014 lisamisi lastetabelisse.<\/p>\n<h2>TimescaleDB<\/h2>\n<p>\nVersioonis 4.2 oleme t\u00e4helepanu p\u00f6\u00f6ranud TimescaleDB-le. See on PostgreSQL-i laiendus, millel on natiivne liides. Laiendus t\u00f6\u00f6tab efektiivselt ajajoonte andmetega, kaotamata samas relatsiooniliste andmebaaside eeliseid. TimescaleDB ka partitsioneerib automaatselt.<\/p>\n<p>TimescaleDB-s on m\u00f5isted <strong>h\u00fcpertabel<\/strong> (hypertable), mille sa lood. Selle sees on <strong>chunkid<\/strong> \u2014 partitsioonid. Chunkid on automaatselt hallatavad fraktsioonid h\u00fcpertabelist, mis ei m\u00f5juta teisi fraktsioone. Igal chunkil on oma ajavahemik.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix 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 t\u00f6\u00f6tab t\u00f5eliselt efektiivselt. Laienduse tootjad v\u00e4idavad, et nad kasutavad \u00f5iget p\u00e4ringute t\u00f6\u00f6tlemise algoritmi, eriti &lt;code&gt;inserts&lt;\\\/code&gt;. Kui andmehulkade sisestamine kasvab, toetab algoritm pidevat j\u00f5udlust.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix 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 tugevalt aeglustuma ja kaotab j\u00f5udluse kuni 0. TimescaleDB v\u00f5imaldab t\u00f5husalt \"inserts\" sisse viia igasugustes andmehulkades.<\/p>\n<h3>Paigaldamine<\/h3>\n<p>\nTimescaleDB installimine on piisavalt lihtne igasuguste pakettide jaoks. K\u00f5ik sellega seoses on \u00fcksikasjalikult kirjeldatud \u2014 see s\u00f5ltub ametlikest PostgreSQL-i paketidest. TimescaleDB-d saab ka k\u00e4sitsi koostada ja komponeerida. <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.timescale.com\/v1.3\/getting-started\">dokumentatsioon<\/a><\/noindex> Zabbixi andmebaasi jaoks aktiveerime lihtsalt laienduse:<\/p>\n<p>echo \"CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;\" | sudo -u postgres psql zabbix<\/p>\n<pre><code class=\"sql\">Sa aktiveerid<\/code><\/pre>\n<p>\nlaienduse <code>ja lood selle Zabbixi andmebaasi jaoks. Viimane samm on h\u00fcpertabeli loomine.<\/code> Ajaloo tabelite migreerimine TimescaleDB-s<\/p>\n<h3>Selleks on spetsiaalne funktsioon<\/h3>\n<p>\ncreate_hypertable <code>loo_h\u00fcperteabel<\/code>:<\/p>\n<pre><code class=\"sql\">SELECT create_hypertable(\u2018history\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018history_unit\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018history_log\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018history_text\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018history_str\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018trends\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nSELECT create_hypertable(\u2018trends_unit\u2019, \u2018clock\u2019, chunk_time_interval =&gt; 86400, migrate_data =&gt; true);\nUPDATE config SET db_extension=\u2019timescaledb\u2019, hk_history_global=1, hk_trends_global=1<\/code><\/pre>\n<p>\nFunktsiooni kolm parameetrit. Esimene \u2014<strong> tabel andmebaasis<\/strong>, mille jaoks tuleb luua h\u00fcpertabel. Teine \u2014 <strong>v\u00e4lja<\/strong>, mille alusel tuleb luua <code>chunk_time_interval<\/code> \u2014 partitsioonide chunkide vaheline intervall, mida tuleb kasutada. Minu puhul on intervall \u00fcks p\u00e4ev \u2014 86\u00a0400.<\/p>\n<p>Kolmas parameeter \u2014 <code><strong>andmete \u00fcleviimine<\/strong><\/code>. Kui m\u00e4\u00e4rata <code>true<\/code>, siis k\u00f5ik olemasolevad andmed migreeritakse eelnevalt loodud chunkidesse. Kasutasin ise <code>andmete \u00fcleviimine<\/code>. Mul oli umbes 1 TB, mis v\u00f5ttis rohkem kui tunni. Isegi testimise k\u00e4igus eemaldasin ma mittevajalikud ajaloolised andmed t\u00e4hem\u00e4rgi t\u00fc\u00fcpides, et neid ei migreeritaks.<\/p>\n<p>Viimane samm \u2014\u00a0<code><strong>UPDATE<\/strong><\/code>: <code>db_extension<\/code> m\u00e4\u00e4ra <code>timescaledb<\/code>, et andmebaas m\u00f5istaks, et see laiendus on olemas. Zabbix aktiveerib selle ja kasutab \u00f5igesti s\u00fcntaksit ja p\u00e4ringuid andmebaasi \u2014 funktsioonid, 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 Intel\u00ae Xeon\u00ae CPU E5-2630 v 4 @ 2.20GHz protsessorit, 16 GB RAM-i ja 200 GB SSD-disk.<\/p>\n<p>Installeerisin sellele PostgreSQL 10.8 koos Debian 10.8-1.pgdg90+1 operatsioonis\u00fcsteemiga ja xfs failis\u00fcsteemiga. K\u00f5ik on minimaalselt seadistatud, et saaks kasutada just seda andmebaasi, v\u00e4lja arvatud see, et Zabbix kasutab seda ise.<\/p>\n<p>Sellel masinal seisis Zabbix-server, PostgreSQL ja <strong>koormuse agentuurid<\/strong>. Mul oli 50 aktiivset agenti, mis kasutasid <code>LoadableModule<\/code>, et v\u00e4ga kiiresti genereerida erinevaid tulemusi: numbreid ja stringe. T\u00e4itsin andmebaasi suure hulga andmetega.<\/p>\n<p>Algne konfiguratsioon sisaldas <strong>5 000 andmelementi<\/strong> iga hosti kohta. Peaaegu iga element sisaldas k\u00e4ivitajat, et see sarnaneks reaalsete installeerimisega. M\u00f5nel juhul oli rohkem kui \u00fcks k\u00e4ivitaja. \u00dche v\u00f5rgu s\u00f5lme kohta tuli <strong>3\u00a0000-7\u00a0000 k\u00e4ivitajat<\/strong>.<\/p>\n<p>Andmeelementide uuendamise intervall \u2014 <strong>4-7 sekundit<\/strong>Koormust reguleerisin sellega, et kasutasin mitte ainult 50 agenti, vaid lisasin veel. Samuti reguleerisin d\u00fcnaamiliselt koormust andmeelementide abil ja v\u00e4hendasin v\u00e4rskendamise intervalli 4 sekundini.<\/p>\n<h3>PostgreSQL. 35 000 nvps<\/h3>\n<p>\nEsimene k\u00e4ivitamine selle riistvara peal oli mul puhta PostgreSQL-ga \u2014 35 tuhat v\u00e4\u00e4rtust sekundis. Nagu n\u00e4ha, kestab andmete sisestamine murdosa sekundist \u2014 k\u00f5ik on hea ja kiire. \u00dcks asi, SSD-disk 200 GB t\u00e4itub kiiresti.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/e84b2eb0f6fbbd902c5feab367c750ee.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee on standardne Zabbixi j\u00f5udluse armatuurlaud \u2014 serverite jaoks.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/c3afe021acf8e272813b8d8c2f82e762.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEsimene sinine graafik \u2014 v\u00e4\u00e4rtuste arv sekundis. Teine graafik paremal \u2014 t\u00f6\u00f6tluse koormus. Kolmas \u2014 sisemiste t\u00f6\u00f6tluse protsesside koormus: ajaloo s\u00fcnkroniseerijad ja Housekeeper, mis siin t\u00f6\u00f6tas k\u00fcllaltki kaua.<\/p>\n<p>Neljas graafik n\u00e4itab HistoryCache'i kasutamist. See on mingi puhver enne andmete sisestamist BDsse. Roheline viies graafik n\u00e4itab ValueCache'i kasutamist, see t\u00e4hendab, kui palju ValueCache'i hitte k\u00e4ivitajatele \u2014 see on mitu tuhat v\u00e4\u00e4rtust sekundis.<\/p>\n<h3>PostgreSQL. 50 000 nvps<\/h3>\n<p>\nSiit edasi suurendasin koormust 50 tuhande v\u00e4\u00e4rtuseni sekundis sellel samal riistvaral.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/8f10944486d5502b57d36059382d551b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHousekeeperi laadimise korral sisestati 10 tuhat v\u00e4\u00e4rtust 2-3 sekundiga.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix 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>Kolmandast graafikust n\u00e4htub, et \u00fcldiselt on trapperite ja ajaloo s\u00fcnkroniseerijate koormus veel 60% tasemel. Neljandas graafikus t\u00e4itus HistoryCache Housekeeperi t\u00f6\u00f6 ajal juba piisavalt aktiivselt. See t\u00e4itus 20% \u2014 see on umbes 0,5 GB.<\/p>\n<h3>PostgreSQL. 80 000 nvps<\/h3>\n<p>\nSiit edasi suurendasin koormust 80 tuhande v\u00e4\u00e4rtuseni sekundis. See on ligikaudu 400 tuhat andmeelementi ja 280 tuhat k\u00e4ivitajat.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/f6c6b0d6793f96523f7406e68f98c608.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<em>Kolmek\u00fcmne ajaloo s\u00fcnkroniseerija koormus on juba piisavalt k\u00f5rge sisestamise juures.<\/em><\/p>\n<p>Samuti suurendasin erinevaid parameetreid: ajaloo s\u00fcnkroniseerijad, vahem\u00e4lud.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/6ca7edd76aea6fdec00a61a0a6dc34e5.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMinu riistvaral t\u00f5usis ajaloo s\u00fcnkroniseerijate koormus maksimumini. HistoryCache t\u00e4itus kiiresti andmetega \u2014 puhvri kogunesid andmed t\u00f6\u00f6tlemiseks.<\/p>\n<p>Kogu selle aja j\u00e4lgisin, kuidas kasutati protsessorit, RAM-i ja muid s\u00fcsteemi parameetreid ning leidsin, et ketaste koormus oli maksimaalne.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/e964a000156b561accd23b4e1644f4a8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMa saavutasin <strong>ketta maksimaalse kasutuse<\/strong> sellel riistvaral ja sellel virtuaalsel masinal. Nii intensiivse t\u00f6\u00f6 korral hakkas PostgreSQL andmeid aktiivselt kustutama ja ketas ei suudnud enam kirjutada ja lugeda.<\/p>\n<h3>Teine server<\/h3>\n<p>\nV\u00f5tsin teise serveri, millel oli juba 48 protsessorit ja 128 GB RAM-i. H\u00e4\u00e4lestasin selle \u2014 paigaldasin 60 ajaloos\u00fcnkroniseerijat ja saavutasin vastuv\u00f5etava j\u00f5udluse.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix 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 000 nvps<\/h3>\n<p>\nMinu peamine \u00fclesanne on testida TimescaleDB v\u00f5imeid Zabbixi koormuse all. 80 tuhat v\u00e4\u00e4rtust sekundis \u2014 see on palju, m\u00f5\u00f5tmiste kogumise sagedus (v\u00e4lja arvatud Yandex, muidugi) ja piisavalt suur \u201esetup\u201c.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/aa569847e7bc31baab91661db1ee78a2.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIgal graafikul on langus \u2014 see on just andmete migratsioon. P\u00e4rast langusi Zabbixi serveris muutus ajaloos\u00fcnkroniseerija koormusprofiil v\u00e4ga palju \u2014 langes kolmandiku v\u00f5rra.<\/p>\n<blockquote><p>TimescaleDB v\u00f5imaldab andmeid sisestada praktiliselt 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>\nHiljem suurendasin andmeelementide arvu kuni 500 tuhande. Peamine \u00fclesanne oli testida TimescaleDB v\u00f5imeid \u2014 sain arvutatud v\u00e4\u00e4rtuse 125 tuhat v\u00e4\u00e4rtust sekundis.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/4770ca4030e1c086f2fd9305a12496bb.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSee on t\u00f6\u00f6kindel \u201esetup\u201c, mis v\u00f5ib pikalt t\u00f6\u00f6tada. Kuid kuna minu ketas oli vaid 1,5 TB, t\u00e4itsin selle m\u00f5ne p\u00e4evaga.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix TimescaleDB toega\" src=\"\/wp-content\/uploads\/2019\/10\/1ad521b909a22a7db81a9ed802d348e7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00f5ige olulisem on see, et sel ajal loodi uusi TimescaleDB partitsioone.<\/p>\n<p>J\u00f5udluse jaoks on see t\u00e4iesti m\u00e4rkamatult. Kui MySQL-is luuakse partitsioonid, toimub see hoopis teistmoodi. Reeglina toimub see \u00f6\u00f6sel, sest see blokeerib \u00fcldise sisestamise, t\u00f6\u00f6tamise tabelitega ja v\u00f5ib tekitada teenuse halvenemist. TimescaleDB korral seda ei juhtu.<\/p>\n<p>N\u00e4iteks n\u00e4itan \u00fchte graafikut paljusid kogukonna graafikuid. Pildil on sisse l\u00fclitatud TimescaleDB, t\u00e4nu millele on io.weight kasutamine protsessoril v\u00e4henenud. Sisemiste protsesside elementide kasutamine on samuti v\u00e4henenud. Samas on see tavaline virtuaalmasin tavalistel ketastel, mitte SSD-l.<\/p>\n<p><img decoding=\"async\" alt=\"K\u00f5rge j\u00f5udlus ja natiivne jaotamine: Zabbix 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\u00e4ikeste \u201esetup\u2019ide\u201c jaoks,<\/strong>, mis puutuvad diskide j\u00f5udlusest kinni. See v\u00f5imaldab suhteliselt h\u00e4sti j\u00e4tkata t\u00f6\u00f6d enne andmebaasi migratsiooni kiiremaks riistvaraks.<\/p>\n<p>TimescaleDB on lihtne seadistada, annab j\u00f5udluskasvu, teeb head koost\u00f6\u00f6d Zabbixi ja <strong>omab eeliseid PostgreSQL-i ees.<\/strong>.<\/p>\n<p>Kui kasutate PostgreSQL-i ega plaani seda vahetada, siis soovitan <strong>kasutada PostgreSQL-i koos TimescaleDB laiendiga koost\u00f6\u00f6s Zabbixiga.<\/strong>See lahendus t\u00f6\u00f6tab t\u00f5husalt keskmiste \u201esetup\u2019ide\u201c puhul.<\/p>\n<blockquote>\n<p>Kui r\u00e4\u00e4gime \u201ek\u00f5rgest j\u00f5udlusest\u201c \u2014 peame silmas <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\">HighLoad++<\/a><\/noindex>. Oodata, et tutvuda tehnoloogiate ja praktikatega, mis v\u00f5imaldavad teenustel teenindada miljoneid kasutajaid, ei pea kaua ootama. Loetelu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\/abstracts\">ettekannetest<\/a><\/noindex> 7. ja 8. novembriks oleme juba koostanud, kuid <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\/meetups\">kohtumisi<\/a><\/noindex> on veel v\u00f5imalik pakkuda.<\/p>\n<p>Liituge meiega <noindex><a rel=\"nofollow\" href=\"http:\/\/eepurl.com\/VYVaf\">uudiskirja<\/a><\/noindex> ja <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/HighLoadChannel\">telegram<\/a><\/noindex>, kus avaldame eeloleva konverentsi n\u00f5ksud ja 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 5.0.1.1 - 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.\" \/>\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) 5.0.1.1\" \/>\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.\" \/>\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\udd47K\u00f5rge j\u00f5udlus ja kohandatud partitsioneerimine: Zabbix TimescaleDB toega | ProHoster","description":"Zabbix on j\u00e4relevalves\u00fcsteem.","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.","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}