Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Zabbix bụ usoro nlekota oru. Dị ka usoro ọ bụla ọzọ, ọ na-eche nsogbu atọ dị mkpa ihu nke usoro nlekota niile: ịnakọta na nhazi data, na-echekwa akụkọ ihe mere eme, na ihicha ya.

Usoro nke ịnata, nhazi na ịdekọ data na-ewe oge. Ọ bụghị ọtụtụ, ma maka nnukwu usoro nke a nwere ike ịkpata nnukwu igbu oge. Nsogbu nchekwa bụ nsogbu ịnweta data. A na-eji ha maka akụkọ, nlele na mkpalite. Latencies na ịnweta data na-emetụtakwa arụmọrụ. Mgbe ọdụ data na-etolite, a ga-ehichapụ data na-adịghị mkpa. Iwepụ bụ ọrụ siri ike nke na-erikwa ihe ụfọdụ.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

A na-edozi nsogbu nke igbu oge n'oge nchịkọta na nchekwa na Zabbix site n'ichekwa: ọtụtụ ụdị cache, caching na nchekwa data. Iji dozie nsogbu nke atọ, caching adịghị mma, yabụ Zabbix jiri TimescaleDB. Ọ ga-agwa gị gbasara ya Andrey Gushchin - injinia nkwado teknụzụ ZABIX SIA. Andrey na-akwado Zabbix ihe karịrị afọ 6 ma nwee ahụmahụ kpọmkwem na arụmọrụ.

Kedu ka TimescaleDB si arụ ọrụ, kedu arụmọrụ ọ nwere ike inye ma e jiri ya tụnyere PostgreSQL oge niile? Kedu ọrụ Zabbix na-arụ maka nchekwa data TimescaleDB? Otu esi amalite site na ọkọ na otu esi esi na PostgreSQL kwaga na nhazi nke nwere arụmọrụ ka mma? Banyere ihe a niile n'okpuru ịkpụ.

Ihe ịma aka nrụpụta

Sistemụ nleba anya ọ bụla na-eche nsogbu ịma aka arụ ọrụ ihu. M ga-ekwu maka atọ n'ime ha: nchịkọta na nhazi data, nchekwa, na ikpochapụ akụkọ ihe mere eme.

Nchịkọta data ngwa ngwa na nhazi. Usoro nleba anya dị mma kwesịrị ịnata data niile ngwa ngwa ma hazie ya dịka okwu mkpali si dị - dịka njirisi ya si dị. Mgbe nhazichara, sistemụ ahụ ga-echekwa data a ngwa ngwa na nchekwa data maka iji emechaa.

Nchekwa akụkọ ihe mere eme. Usoro nleba anya dị mma kwesịrị ịchekwa akụkọ ihe mere eme na nchekwa data ma nye ohere dị mfe na metrics. Achọrọ iji akụkọ ihe mere eme na akụkọ, eserese, ihe mkpalite, ọnụ ụzọ na ihe data njikere gbakọọ.

Na-ehichapụ akụkọ ihe mere eme. Mgbe ụfọdụ, a na-abịa ụbọchị mgbe ị na-achọghị ịchekwa metrik. Kedu ihe kpatara ịchọrọ data nke anakọtara afọ 5 gara aga, otu ọnwa ma ọ bụ abụọ: ehichapụla ụfọdụ nodes, ụfọdụ ndị ọbịa ma ọ bụ metrik adịghịzi mkpa n'ihi na ha emechiela ma anakọtaghị ha. Usoro nlekota nke ọma kwesịrị ịchekwa data akụkọ ihe mere eme ma hichapụ ya site n'oge ruo n'oge ka nchekwa data ghara itolite.

Ihicha data ochie bụ ihe dị oke egwu nke na-emetụta arụmọrụ nchekwa data nke ukwuu.

Na-echekwa ihe na Zabbix

Na Zabbix, a na-edozi oku nke mbụ na nke abụọ site na iji caching. A na-eji RAM na-anakọta ma hazie data. Maka nchekwa - akụkọ ihe mere eme na ihe na-akpali akpali, eserese na ihe data gbakọọ. N'akụkụ nchekwa data enwere ụfọdụ caching maka nhọrọ ndị bụ isi, dịka ọmụmaatụ, eserese.

Caching n'akụkụ sava Zabbix n'onwe ya bụ:

  • Nhazi Cache;
  • ValueCache;
  • HistoryCache;
  • TrendsCache.

Ka anyị tụlee ha n'ụzọ zuru ezu.

Nhazi Cache

Nke a bụ isi ebe nchekwa ebe anyị na-echekwa metrik, ndị ọbịa, ihe data, ihe na-akpalite - ihe niile anyị chọrọ maka Nhazi na maka nchịkọta data.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

A na-echekwa ihe ndị a niile na ConfigurationCache ka ọ ghara ịmepụta ajụjụ ndị na-adịghị mkpa na nchekwa data. Mgbe ihe nkesa ahụ malitechara, anyị na-emelite cache a, mepụta na melite nhazi oge.

Nchịkọta data

Eserese ahụ buru ibu, mana isi ihe dị na ya bụ ndị na-anakọta. Ndị a bụ "pollers" dị iche iche - usoro mgbakọ. Ha na-ahụ maka ụdị mgbakọ dị iche iche: ha na-anakọta data site na SNMP, IPMI, ma bufee ya niile na PreProcessing.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDBA na-akọwapụta ndị na-anakọta ihe na oroma.

Zabbix agbakọọla ihe nchịkọta achọrọ iji chịkọta ndenye ego. Ọ bụrụ na anyị nwere ha, anyị na-ebutere ha data ozugbo na ValueCache.

Na-ebu ụzọ nhazi Cache History

Ndị nchịkọta niile na-eji ConfigurationCache nweta ọrụ. Mgbe ahụ, ha na-ebufe ha na PreProcessing.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

PreProcessing na-eji ConfigurationCache nata usoro nhazi ụzọ. Ọ na-ahazi data a n'ụzọ dị iche iche.

Mgbe hazie data site na iji PreProcessing, anyị na-echekwa ya na HistoryCache maka nhazi. Nke a na-akwụsị nchịkọta data ma anyị na-aga n'ihu na isi usoro na Zabbix - akụkọ ihe mere eme syncer, ebe ọ bụ na ọ bụ monolithic architecture.

Mara: Ịma ụzọ nhazi bụ ọrụ siri ike. Site na v 4.2 ebufela ya na proxy. Ọ bụrụ na ị nwere Zabbix buru ibu nke nwere ọnụ ọgụgụ dị ukwuu nke ihe data na nchịkọta nchịkọta, mgbe ahụ nke a na-eme ka ọrụ ahụ dịkwuo mfe.

ValueCache, akụkọ ihe mere eme na cache

Syncer akụkọ ihe mere eme bụ usoro bụ isi nke na-ahazi mmemme data ọ bụla, ya bụ, uru ọ bụla.

Syncer akụkọ ihe mere eme na-ewere ụkpụrụ sitere na HistoryCache wee lelee nhazi maka ọnụnọ nke ihe na-akpali maka mgbako. Ọ bụrụ na ha dị, ọ na-agbakọ.

Syncer akụkọ ihe mere eme na-emepụta mmemme, mmụba ka imepụta ọkwa ma ọ bụrụ na nhazi chọrọ, yana ndekọ. Ọ bụrụ na enwere ihe na-akpalite maka nhazi na-esote, mgbe ahụ ọ na-echekwa uru a na ValueCache ka ị ghara ịnweta tebụl akụkọ ihe mere eme. Nke a bụ ka ValueCache si jupụta na data dị mkpa iji gbakọọ ihe na-akpalite na ihe gbakọọ.

Syncer akụkọ ihe mere eme na-ede data niile na nchekwa data, ọ na-edekwa na diski. Usoro nhazi na-agwụ ebe a.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Na-echekwa na nchekwa data

N'akụkụ nchekwa data enwere cache dị iche iche mgbe ịchọrọ ilele eserese ma ọ bụ akụkọ gbasara mmemme:

  • Innodb_buffer_pool n'akụkụ MySQL;
  • shared_buffers n'akụkụ PostgreSQL;
  • effective_cache_size n'akụkụ Oracle;
  • shared_pool n'akụkụ DB2.

Enwere ọtụtụ cache ndị ọzọ, mana ndị a bụ ndị bụ isi maka ọdụ data niile. Ha na-enye gị ohere ịchekwa data na RAM nke a na-achọkarị maka ajụjụ. Ha nwere teknụzụ nke ha maka nke a.

Ịrụ ọrụ nchekwa data dị oke mkpa

Ihe nkesa Zabbix na-anakọta data mgbe niile wee dee ya. Mgbe ịmalitegharịrị, ọ na-agụkwa site na akụkọ ihe mere eme iji mejupụta ValueCache. Na-eji edemede na akụkọ Zabbix API, nke arụnyere n'ọgbasa ozi webụ. Zabbix API na-abanye na nchekwa data wee weghachite data dị mkpa maka eserese, akụkọ, ndepụta mmemme na okwu ọhụrụ.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Maka ịhụ anya - Grafana. Nke a bụ ngwọta na-ewu ewu n'etiti ndị ọrụ anyị. Ọ nwere ike izipu arịrịọ ozugbo site na Zabbix API yana na nchekwa data, wee mepụta ụfọdụ asọmpi maka ịnata data. Ya mere, ọ dị mkpa ka a na-emegharị nchekwa data dị mma na nke ka mma iji kwekọọ na nnyefe ngwa ngwa nke nsonaazụ na ule.

Onye na-elekọta ụlọ

Ihe ịma aka arụmọrụ nke atọ na Zabbix bụ mkpochapụ akụkọ ihe mere eme site na iji Onye na-elekọta ụlọ. Ọ na-agbaso ntọala niile - ihe data data na-egosi ogologo oge iji chekwaa mgbanwe mgbanwe (trends) na ụbọchị.

Anyị na-agbakọ TrendsCache na ofufe. Mgbe data rutere, anyị na-agbakọta ya maka otu awa wee dekọọ ya na tebụl maka mgbanwe mgbanwe mgbanwe.

Onye na-elekọta ụlọ na-amalite ma hichapụ ozi na nchekwa data site na iji "nhọrọ" mbụ. Nke a anaghị adị irè mgbe niile, dịka enwere ike ịhụ site na eserese arụmọrụ nke usoro ime.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Eserese na-acha uhie uhie na-egosi na ihe ndekọ akụkọ ihe mere eme na-arụ ọrụ mgbe niile. Eserese oroma dị n'elu bụ onye na-elekọta ụlọ, nke na-agba ọsọ mgbe niile. Ọ na-eche ka nchekwa data hichapụ ahịrị niile o kwuru.

Kedu mgbe ị ga-ewepụ onye na-elekọta ụlọ? Dịka ọmụmaatụ, enwere "NJ ihe" na ịkwesịrị ihichapụ ahịrị puku ise ikpeazụ n'ime oge ụfọdụ. N'ezie, nke a na-eme site na index. Mana ọ na-abụkarị dataset buru ibu, ebe nchekwa data ka na-agụ site na diski wee tinye ya na cache. Nke a bụ ọrụ dị oke ọnụ mgbe niile maka nchekwa data yana, dabere na oke nchekwa data, nwere ike ibute nsogbu arụmọrụ.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Onye na-elekọta ụlọ dị mfe gbanyụọ. N'ime webụsaịtị ahụ enwere ntọala na "Nchịkwa nchịkwa" maka onye na-elekọta ụlọ. Anyị na-ewepu ime ụlọ maka akụkọ ihe mere eme nke ime ma ọ naghị ejikwa ya.

Agbanyụrụ onye na-elekọta ụlọ, eserese ndị ahụ - kedu nsogbu nwere ike ịdị na nke a na gịnị nwere ike inye aka dozie ihe ịma aka arụmọrụ nke atọ?

Nkebi - nkewa ma ọ bụ nkewa

Dịka, a na-ahazi nkewa n'ụzọ dị iche na nchekwa data mmekọrịta ọ bụla nke m depụtara. Onye ọ bụla nwere teknụzụ nke ya, mana ha yiri ya n'ozuzu ya. Ịmepụta nkebi ọhụrụ na-ebutekarị nsogbu ụfọdụ.

A na-ahazi nkebi na-adabere na "ntọala" - ọnụọgụ data emepụtara n'otu ụbọchị. Dị ka a na-achị, a na-enye nkewa n'otu ụbọchị, nke a bụ nke kacha nta. Maka usoro nke ọhụrụ batch - 1 ọnwa.

Ụkpụrụ nwere ike ịgbanwe ma ọ bụrụ na "ntọala" dị nnọọ ukwuu. Ọ bụrụ na obere "ntọala" ruru 5 nvps (ụkpụrụ ọhụrụ kwa nkeji), onye na-ajụ ase sitere na 000 ruo 5, mgbe ahụ nnukwu dị n'elu 000 nvps. Ndị a bụ nrụnye buru ibu ma buru ibu nke chọrọ nlezianya nhazi nke nchekwa data.

Na nrụnye buru ibu, otu ụbọchị nwere ike ọ gaghị adị mma. Ahụla m akụkụ MySQL nke 40 GB ma ọ bụ karịa kwa ụbọchị. Nke a bụ nnukwu data nke nwere ike ịkpata nsogbu na mkpa ka e belata.

Kedu ihe nkebi na-enye?

Tebụl nkewa. Ọtụtụ mgbe, ndị a bụ faịlụ dị iche iche na diski. Atụmatụ ajụjụ na-ahọrọ otu nkebi nke ọma. A na-ejikarị nkewa eme ihe site na oke - nke a bụkwa eziokwu maka Zabbix. Anyị na-eji "timestamp" ebe ahụ - oge kemgbe mmalite nke oge. Ndị a bụ ọnụọgụ nkịtị maka anyị. Ị setịpụrụ mmalite na njedebe nke ụbọchị - nke a bụ nkebi.

Mwepụ ngwa ngwa - DELETE. A na-ahọrọ otu faịlụ/subtable, karịa nhọrọ ahịrị maka ihichapụ.

Na-eme ka iweghachi data dị ngwa ngwa SELECT - na-eji otu akụkụ ma ọ bụ karịa, karịa tebụl dum. Ọ bụrụ na ị na-enweta data nke dị ụbọchị abụọ, a na-ewepụta ya na nchekwa data ngwa ngwa n'ihi na ị ga-ebuba otu faịlụ n'ime cache wee weghachite ya, ọ bụghị nnukwu tebụl.

Ọtụtụ mgbe, ọtụtụ ọdụ data na-agbakwa ngwa ngwa INSERT - ntinye n'ime tebụl nwa.

Oge mgbasaDB

Maka v 4.2, anyị tụgharịrị uche anyị na TimescaleDB. Nke a bụ ndọtị maka PostgreSQL nwere interface obodo. Mgbatị ahụ na-arụ ọrụ nke ọma na data usoro oge, na-atụfughị ​​uru nke ọdụ data mmekọrịta. TimecaleDB na-ekekwa akụkụ na-akpaghị aka.

TimecaleDB nwere echiche hypertable (hypertable) nke ị na-emepụta. O nwere iberibe - nkebi. A na-ejikwa mpekere hypertable na-akpaghị aka na-adịghị emetụta mpekere ndị ọzọ. Akụkụ nke ọ bụla nwere ogologo oge nke ya.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

OgescaleDB vs PostgreSQL

TimecaleDB na-arụ ọrụ nke ọma. Ndị na-emepụta ihe ndọtị ahụ na-ekwu na ha na-eji algọridim nhazi ajụjụ ziri ezi karị, ọkachasị inserts . Ka ntinye dataset na-eto eto, algọridim na-ejigide arụmọrụ mgbe niile.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Mgbe ahịrị nde 200 gachara, PostgreSQL na-amalitekarị ịla n'iyi ma kwụsị ịrụ ọrụ 0. TimecaleDB na-enye gị ohere itinye “ntinye” nke ọma maka ọnụọgụ data ọ bụla.

ọnọdụ

Ịwụnye TimescaleDB dị mfe maka ngwugwu ọ bụla. N'ime akwụkwọ A kọwara ihe niile n'ụzọ zuru ezu - ọ dabere na ngwugwu PostgreSQL gọọmentị. TimescaleDB nwekwara ike wulite ma jiri aka chịkọta ya.

Maka nchekwa data Zabbix anyị na-eme ka ndọtị ahụ rụọ ọrụ:

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

Ị gbalite extension wee mepụta ya maka nchekwa data Zabbix. Nzọụkwụ ikpeazụ bụ ịmepụta hypertable.

Tebụl akụkọ ihe mere eme na-ebuga na TimecaleDB

Enwere ọrụ pụrụ iche maka nke a 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

Ọrụ ahụ nwere parampat atọ. Mbụ - tebụl na nchekwa data, nke ịkwesịrị ịmepụta hypertable. Nke abụọ - ubi, dịka nke ịkwesịrị ịmepụta chunk_time_interval - nkeji oge nkebi chunks ga-eji. N'okwu m, etiti oge bụ otu ụbọchị - 86.

Oke nke atọ - migrate_data. Ọ bụrụ na ịtọọ true, mgbe ahụ, a na-ebufe data niile dị ugbu a na chunks ndị emechara. Eji m ya mee ihe n'onwe m migrate_data. Enwere m ihe dị ka 1 TB, nke were ihe karịrị otu awa. Ọbụna n'ọnọdụ ụfọdụ, n'oge ule, ehichapụrụ data akụkọ ihe mere eme nke ụdị agwa ndị a na-achọghị maka nchekwa, ka ọ ghara ibufe ha.

Nzọụkwụ ikpeazụ - UPDATE: n'ime db_extension tinye timescaledbka nchekwa data wee ghọta na ndọtị a dị. Zabbix na-arụ ọrụ ya ma jiri syntax na ajụjụ dị na nchekwa data - njirimara ndị ahụ dị mkpa maka TimescaleDB.

Nhazi ngwaike

Eji m sava abụọ. Mbụ - Igwe VMware. Ọ dị obere: 20 Intel® Xeon® CPU E5-2630 v 4 @ 2.20GHz processors, 16 GB nke RAM na 200 GB SSD.

Ejiri m Debian 10.8-10.8.pgdg1+90 OS na sistemụ faịlụ xfs tinye PostgreSQL 1 na ya. Ahaziri m ihe niile obere ka ọ jiri nchekwa data a, wezuga ihe Zabbix n'onwe ya ga-eji.

N'otu igwe ahụ enwere sava Zabbix, PostgreSQL na ndị na-ebu ibu. Enwere m ndị ọrụ 50 na-arụsi ọrụ ike na-eji LoadableModuleka ngwa ngwa mepụta nsonaazụ dị iche iche: ọnụọgụ, eriri. Eji m otutu data mejuo nchekwa data.

Na mbido nhazi ahụ dị Ihe 5 data kwa onye ọbịa. Ihe fọrọ nke nta ka ọ bụrụ ihe ọ bụla nwere ihe mkpalite iji mee ka ọ yie nrụnye n'ezie. N'ọnọdụ ụfọdụ enwere ihe karịrị otu mkpali. Maka otu ọnụ netwọk enwere 3-000 mkpasu iwe.

Ogologo oge mmelite ihe data - Sekọnd 4-7. M na-achịkwa ibu ahụ n'onwe ya site n'iji ọ bụghị naanị ndị ọrụ 50, ma na-agbakwụnyekwu ihe. Ọzọkwa, n'iji ihe data eme ihe, m na-edozi ibu ahụ nke ọma ma belata oge mmelite na 4 s.

PostgreSQL. 35 nvps

Oge mbụ m na-agba na ngwaike a bụ na PostgreSQL dị ọcha - 35 puku ụkpụrụ kwa sekọnd. Dị ka ị na-ahụ, ntinye data na-ewe obere akụkụ nke sekọnd - ihe niile dị mma na ngwa ngwa. Naanị ihe bụ na diski 200 GB SSD na-ejupụta ngwa ngwa.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Nke a bụ dashboard arụmọrụ sava Zabbix ọkọlọtọ.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Eserese na-acha anụnụ anụnụ nke mbụ bụ ọnụọgụ nke ụkpụrụ kwa sekọnd. Eserese nke abụọ dị n'aka nri bụ ntinye nke usoro iwu. Nke atọ na-ebunye usoro iwu ụlọ: akụkọ ihe mere eme synkers na Housekeeper, nke na-agba ọsọ ebe a ruo oge ụfọdụ.

Eserese nke anọ na-egosi ojiji HistoryCache. Nke a bụ ụdị nchekwa tupu ịtinye na nchekwa data. Eserese nke ise na-acha akwụkwọ ndụ akwụkwọ ndụ na-egosi ojiji ValueCache, ya bụ, ole ValueCache na-akụ maka mkpalite - nke a bụ ọtụtụ puku ụkpụrụ kwa sekọnd.

PostgreSQL. 50 nvps

Mgbe ahụ, m mụbara ibu na 50 puku ụkpụrụ kwa sekọnd na otu ngwaike.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Mgbe ị na-ebufe n'aka onye na-elekọta ụlọ, itinye 10 puku ụkpụrụ were 2-3 sekọnd.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB
Onye na-elekọta ụlọ amalitelarị igbochi ọrụ.

Eserese nke atọ na-egosi na, n'ozuzu, ibu dị na trappers na synchers akụkọ ihe mere eme ka dị na 60%. Na eserese nke anọ, HistoryCache amalitelarị imeju nke ọma n'oge ọrụ onye na-elekọta ụlọ. Ọ bụ 20% zuru, nke bụ ihe dịka 0,5 GB.

PostgreSQL. 80 nvps

Mgbe ahụ, m mụbara ibu na 80 puku ụkpụrụ kwa sekọnd. Nke a bụ ihe dị ka 400 puku ihe data na 280 puku ihe mkpali.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB
Ọnụ ego nkwụnye ego nke synchers akụkọ ihe mere eme iri atọ adịlarị nke ukwuu.

M abawanyela paramita dị iche iche: ndị na-emekọrịta akụkọ ihe mere eme, cache.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Na ngwaike m, nbudata nke synkers akụkọ ihe mere eme mụbara ruo nke kachasị. HistoryCache juputara ngwa ngwa na data - data maka nhazi achịkọbara na nchekwa.

N'oge a niile, ahụrụ m ka esi eji processor, RAM na paramita sistemu ndị ọzọ, wee chọpụta na ojiji diski dị na ya kacha.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Enweela m iji ike diski kacha na ngwaike a na na igwe mebere a. Site n'ịdị ike dị otú ahụ, PostgreSQL malitere ịkwanye data nke ọma, diski ahụ enwekwaghị oge ide na ịgụ.

Sava nke abụọ

M weere ihe nkesa ọzọ, nke nwere 48 processors na 128 GB nke RAM. Etinyere m ya - tọọ ya na syncer akụkọ ihe mere eme 60, wee nweta arụmọrụ anabatara.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

N'ezie, nke a bụ ugbua njedebe nke nrụpụta ebe ihe kwesịrị ime.

Oge DB. 80 nvps

Isi ọrụ m bụ ịnwale ike TimescaleDB megide ibu Zabbix. 80 puku ụkpụrụ kwa sekọnd bụ ọtụtụ, ugboro nke ịnakọta metrics (ma e wezụga Yandex, n'ezie) na a pụtara nnukwu "ntọala".

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Enwere ntinye na eserese ọ bụla - nke a bụ kwambugharị data. Mgbe ọdịda na sava Zabbix gasịrị, profaịlụ nbudata nke syncer akụkọ ihe mere eme gbanwere nke ukwuu - ọ dara ugboro atọ.

TimecaleDB na-enye gị ohere itinye data ihe fọrọ nke nta ka ọ bụrụ ugboro atọ ngwa ngwa ma jiri obere HistoryCache.

N'ihi ya, ị ga-enweta data n'oge.

Oge DB. 120 nvps

Mgbe ahụ, m mụbara ọnụ ọgụgụ nke data ihe na 500 puku. Isi ọrụ bụ iji nwalee ike nke TimescaleDB - M natara a gbakọọ uru nke 125 puku ụkpụrụ kwa sekọnd.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Nke a bụ "ntọala" na-arụ ọrụ nke nwere ike ịrụ ọrụ ogologo oge. Ma ebe ọ bụ na diski m dị nanị 1,5 TB, m dejupụtara ya n’ime ụbọchị ole na ole.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Ihe kachasị mkpa bụ na n'otu oge ahụ ka emepụtara akụkụ TimescaleDB ọhụrụ.

Nke a bụ kpam kpam na-adịghị ahụta maka arụmọrụ. Mgbe emepụtara akụkụ na MySQL, dịka ọmụmaatụ, ihe niile dị iche. Nke a na-emekarị n'abalị n'ihi na ọ na-egbochi ntinye n'ozuzu, na-arụ ọrụ na tebụl ma nwee ike ịmepụta mmebi ọrụ. Nke a abụghị ikpe na TimescaleDB.

Dịka ọmụmaatụ, m ga-egosi otu eserese sitere na ọtụtụ ndị obodo. Na foto a, TimecaleDB agbanyere, ekele nke ibu na iji io.weight na processor adalatala. Ojiji nke usoro ihe ime ime belatara. Ọzọkwa, nke a bụ igwe nkịtị nkịtị na diski pancake nkịtị, ọ bụghị SSD.

Ịrụ ọrụ dị elu na nkewa ala: Zabbix nwere nkwado TimecaleDB

Nchoputa

TimecaleDB bụ ezigbo ngwọta maka obere "ntọala", nke na-emetụta arụmọrụ diski. Ọ ga-enye gị ohere ịga n'ihu na-arụ ọrụ nke ọma ruo mgbe nchekwa data ga-akwaga na ngwaike ngwa ngwa o kwere mee.

TimecaleDB dị mfe ịhazi, na-enye uru arụmọrụ, na-arụ ọrụ nke ọma na Zabbix na nwere uru karịa PostgreSQL.

Ọ bụrụ na ị na-eji PostgreSQL ma ghara ime atụmatụ ịgbanwe ya, ana m akwado jiri PostgreSQL na mgbakwunye TimescaleDB yana njikọ Zabbix. Ihe ngwọta a na-arụ ọrụ nke ọma ruo ọkara "ntọala".

Mgbe anyị na-ekwu "oke arụmọrụ" anyị pụtara HighLoad++. Ị gaghị enwe ogologo oge ka ị mụta maka teknụzụ na omume na-enyere ọrụ aka ijere ọtụtụ nde ndị ọrụ ozi. Ndepụta akụkọ maka Nọvemba 7 na 8 anyị achịkọtalarị, mana ebe a izute enwere ike ikwu karịa.

Debanye aha na anyị akwụkwọ akụkọ и telegram, nke anyị na-ekpughe atụmatụ nke ogbako na-abịanụ, ma chọpụta otú ị ga-esi nweta ihe kacha mma na ya.

isi: www.habr.com

Tinye a comment