Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Tha Zabbix na shiostam sgrùdaidh. Coltach ri siostam sam bith eile, tha trì prìomh dhuilgheadasan mu choinneamh a h-uile siostam sgrùdaidh: a 'cruinneachadh agus a' giullachd dàta, a 'stòradh eachdraidh, agus ga ghlanadh.

Bheir na h-ìrean de bhith a’ faighinn, a’ giollachd agus a’ clàradh dàta ùine. Chan eil mòran, ach airson siostam mòr faodaidh seo leantainn gu dàil mhòr. Tha an duilgheadas stòraidh na chùis ruigsinneachd dàta. Bidh iad gan cleachdadh airson aithisgean, sgrùdaidhean agus brosnachaidhean. Bidh cianalas ann an ruigsinneachd dàta cuideachd a’ toirt buaidh air coileanadh. Nuair a dh'fhàsas stòran-dàta, feumar dàta nach eil iomchaidh a dhubhadh às. Tha toirt air falbh na ghnìomhachd duilich a bhios cuideachd ag ithe cuid de ghoireasan.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Tha duilgheadasan dàil rè cruinneachadh is stòradh ann an Zabbix air am fuasgladh le bhith a’ tasgadh: grunn sheòrsaichean de tasgadan, a’ tasgadh san stòr-dàta. Gus an treas duilgheadas fhuasgladh, chan eil caching freagarrach, agus mar sin chleachd Zabbix TimescaleDB. Innsidh e dhut mu dheidhinn Andrey Gushchin - innleadair taic theicnigeach Zabbix SIA. Tha Andrey air a bhith a’ toirt taic do Zabbix airson còrr air 6 bliadhna agus tha eòlas dìreach aige air coileanadh.

Ciamar a tha TimescaleDB ag obair, dè an coileanadh as urrainn dha a thoirt seachad an coimeas ri PostgreSQL cunbhalach? Dè a’ phàirt a bhios aig Zabbix airson stòr-dàta TimescaleDB? Mar a thòisicheas tu bhon fhìor thoiseach agus mar a nì thu imrich bho PostgreSQL agus dè an rèiteachadh aig a bheil coileanadh nas fheàrr? Mu dheidhinn seo uile fon ghearradh.

Dùbhlain cinneasachd

Tha dùbhlain sònraichte mu choinneamh gach siostam sgrùdaidh. Bruidhnidh mi mu thrì dhiubh: cruinneachadh agus giullachd dàta, stòradh, agus glanadh eachdraidh.

Cruinneachadh agus giullachd dàta luath. Bu chòir do shiostam sgrùdaidh math a h-uile dàta fhaighinn gu sgiobalta agus a phròiseasadh a rèir abairtean brosnachaidh - a rèir a shlatan-tomhais. Às deidh giollachd, feumaidh an siostam cuideachd an dàta seo a shàbhaladh gu sgiobalta san stòr-dàta airson a chleachdadh nas fhaide air adhart.

Stòradh eachdraidh. Bu chòir siostam sgrùdaidh math eachdraidh a stòradh ann an stòr-dàta agus cothrom furasta a thoirt do mheatairean. Tha feum air eachdraidh a chleachdadh ann an aithisgean, grafaichean, brosnachaidhean, stairsnich, agus nithean dàta rabhaidh àireamhaichte.

A 'glanadh eachdraidh. Aig amannan thig latha nuair nach fheum thu metrics a stòradh. Carson a tha feum agad air dàta a chaidh a chruinneachadh 5 bliadhna air ais, mìos no dhà: chaidh cuid de nodan a dhubhadh às, chan eil feum air cuid de luchd-aoigheachd no meatairean tuilleadh oir tha iad seann-fhasanta agus chan eil iad air an cruinneachadh tuilleadh. Bu chòir siostam sgrùdaidh math dàta eachdraidheil a stòradh agus a dhubhadh às bho àm gu àm gus nach fàs an stòr-dàta.

Tha glanadh dàta sean na chùis chudromach a bheir buaidh mhòr air coileanadh stòr-dàta.

A 'tasgadh ann an Zabbix

Ann an Zabbix, thèid a’ chiad agus an dàrna fios fhuasgladh le bhith a’ cleachdadh caching. Tha RAM air a chleachdadh gus dàta a chruinneachadh agus a phròiseasadh. Airson stòradh - eachdraidh ann an innealan-brosnachaidh, grafaichean agus eileamaidean dàta àireamhaichte. Air taobh an stòr-dàta tha beagan tasgadan airson taghaidhean bunaiteach, mar eisimpleir, grafaichean.

Is e tasgadh air taobh frithealaiche Zabbix fhèin:

  • ConfigurationCache;
  • ValueCache;
  • EachdraidhCache;
  • TrendsCache.

Beachdaich orra nas mionaidiche.

ConfigurationCache

Is e seo am prìomh tasgadan far am bi sinn a’ stòradh metrics, luchd-aoigheachd, nithean dàta, luchd-brosnachaidh - a h-uile dad a dh’ fheumas sinn airson PreProcessing agus airson cruinneachadh dàta.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Tha seo uile air a stòradh ann an ConfigurationCache gus nach cruthaich ceistean neo-riatanach san stòr-dàta. Às deidh don fhrithealaiche tòiseachadh, bidh sinn ag ùrachadh an tasgadan seo, a’ cruthachadh agus ag ùrachadh rèiteachaidhean bho àm gu àm.

Cruinneachadh dàta

Tha an diagram gu math mòr, ach tha am prìomh rud ann luchd-cruinneachaidh. Tha iad sin nan diofar “luchd-bhòtaidh” - pròiseasan cruinneachaidh. Tha iad cunntachail airson diofar sheòrsaichean co-chruinneachaidh: bidh iad a’ cruinneachadh dàta tro SNMP, IPMI, agus ga ghluasad gu PreProcessing.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDBTha an luchd-cruinneachaidh air am mìneachadh ann an orains.

Tha Zabbix air nithean cruinneachaidh a thomhas a dh’ fheumar gus sgrùdaidhean a chruinneachadh. Ma tha iad againn, bidh sinn a’ faighinn an dàta air an son gu dìreach bhon ValueCache.

Tasgadh eachdraidh ro-phròiseas

Bidh a h-uile neach-cruinneachaidh a’ cleachdadh ConfigurationCache gus obraichean fhaighinn. An uairsin bidh iad gan gluasad gu PreProcessing.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Bidh PreProcessing a’ cleachdadh ConfigurationCache gus ceumannan PreProcessing fhaighinn. Bidh e a’ pròiseasadh an dàta seo ann an diofar dhòighean.

Às deidh dhuinn an dàta a ghiullachd le bhith a’ cleachdadh PreProcessing, bidh sinn ga shàbhaladh ann an HistoryCache airson a ghiullachd. Cuiridh seo crìoch air a’ chruinneachadh dàta agus gluaisidh sinn air adhart chun phrìomh phròiseas ann an Zabbix - sioncranaiche eachdraidh, leis gur e ailtireachd monolithic a th’ ann.

Nota: Is e obair gu math duilich a th’ ann an PreProcessing. Le v 4.2 chaidh a ghluasad gu neach-ionaid. Ma tha Zabbix glè mhòr agad le àireamh mhòr de eileamaidean dàta agus tricead cruinneachaidh, nì seo an obair gu math nas fhasa.

ValueCache, eachdraidh & tasgadan gluasadan

Is e sioncranachadh eachdraidh am prìomh phròiseas a bhios a’ pròiseasadh gach eileamaid dàta gu atamach, is e sin, gach luach.

Bidh sioncranachadh eachdraidh a’ toirt luachan bho HistoryCache agus a’ sgrùdadh Configuration airson làthaireachd luchd-brosnachaidh airson àireamhachadh. Ma tha iad ann, bidh e a 'cunntadh.

Bidh sioncranachadh eachdraidh a’ cruthachadh tachartas, àrdachadh gus rabhaidhean a chruthachadh ma tha sin riatanach a rèir rèiteachadh, agus clàran. Ma tha cnapan-starra ann airson giullachd às deidh sin, bidh e a’ stòradh an luach seo ann an ValueCache gus nach faigh thu cothrom air a’ chlàr eachdraidh. Seo mar a tha ValueCache air a lìonadh le dàta a dh’ fheumar gus luchd-brosnachaidh agus eileamaidean àireamhaichte obrachadh a-mach.

Bidh sioncranaiche eachdraidh a’ sgrìobhadh a h-uile dàta chun stòr-dàta, agus bidh e a’ sgrìobhadh gu diosc. Tha am pròiseas giollachd a’ tighinn gu crìch an seo.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Tasgadh san stòr-dàta

Air taobh an stòr-dàta tha diofar caches ann nuair a tha thu airson grafaichean no aithisgean air tachartasan fhaicinn:

  • Innodb_buffer_pool air taobh MySQL;
  • shared_buffers air taobh PostgreSQL;
  • effective_cache_size air taobh Oracle;
  • shared_pool air taobh DB2.

Tha tòrr caches eile ann, ach is iad seo na prìomh fheadhainn airson a h-uile stòr-dàta. Leigidh iad leat dàta a stòradh ann an RAM a tha gu tric a dhìth airson ceistean. Tha na teicneòlasan aca fhèin airson seo.

Tha coileanadh stòr-dàta deatamach

Bidh am frithealaiche Zabbix an-còmhnaidh a’ cruinneachadh dàta agus ga sgrìobhadh. Nuair a thèid ath-thòiseachadh, bidh e cuideachd a 'leughadh bho eachdraidh gus an ValueCache a lìonadh. A’ cleachdadh sgriobtaichean agus aithisgean Zabbix API, a tha air a thogail air eadar-aghaidh lìn. Bidh Zabbix API a’ faighinn cothrom air an stòr-dàta agus a’ faighinn air ais an dàta riatanach airson grafaichean, aithisgean, liostaichean thachartasan agus cùisean as ùire.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Airson sealladh - grafana. Tha seo na fhuasgladh mòr-chòrdte am measg ar luchd-cleachdaidh. Faodaidh e iarrtasan a chuir gu dìreach tro API Zabbix agus chun stòr-dàta, agus cruthaichidh e farpais sònraichte airson dàta fhaighinn. Mar sin, tha feum air gleusadh nas fheàrr agus nas fheàrr air an stòr-dàta gus a bhith co-ionnan ri lìbhrigeadh luath thoraidhean agus dheuchainnean.

Fear-taighe

Is e an treas dùbhlan coileanaidh ann an Zabbix glanadh eachdraidh a’ cleachdadh Neach-gleidhidh Taighe. Tha e a 'leantainn a h-uile suidheachadh - tha na h-eileamaidean dàta a' sealltainn dè cho fada 's as urrainn dhut daineamaigs atharrachaidhean (gluasadan) a stòradh ann an làithean.

Bidh sinn a’ tomhas TrendsCache air an itealan. Nuair a ruigeas an dàta, bidh sinn ga chruinneachadh airson uair a thìde agus ga chlàradh ann an clàran airson daineamaigs atharrachaidhean gluasad.

Bidh bean-taighe a’ tòiseachadh agus a’ sguabadh às fiosrachadh bhon stòr-dàta a’ cleachdadh na “taghaidhean” àbhaisteach. Chan eil seo an-còmhnaidh èifeachdach, mar a chithear bho ghrafaichean coileanaidh phròiseasan a-staigh.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Tha an graf dearg a’ sealltainn gu bheil an sioncranaiche Eachdraidh an-còmhnaidh trang. Tha an graf orains aig a 'mhullach tha Taigh-gleidhidh, a tha daonnan a 'ruith. Tha e a’ feitheamh ris an stòr-dàta na sreathan uile a shònraich e a dhubhadh às.

Cuin a bu chòir dhut Neach-gleidhidh Taighe a chuir dheth? Mar eisimpleir, tha “Item ID” ann agus feumaidh tu na 5 mìle sreath mu dheireadh a dhubhadh às taobh a-staigh ùine sònraichte. Gu dearbh, tha seo a 'tachairt le clàr-amais. Ach mar as trice tha an dàta gu math mòr, agus bidh an stòr-dàta fhathast a’ leughadh bhon diosc agus ga chuir a-steach don tasgadan. Tha seo an-còmhnaidh na ghnìomhachd gu math daor airson an stòr-dàta agus, a rèir meud an stòr-dàta, faodaidh e duilgheadasan coileanaidh adhbhrachadh.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Tha neach-gleidhidh taighe furasta a dhì-chomasachadh. Anns an eadar-aghaidh lìn tha suidheachadh ann an “Rianachd coitcheann” airson Neach-gleidhidh Taighe. Bidh sinn a’ cuir à comas Taigheadas a-staigh airson eachdraidh gluasad a-staigh agus chan eil e ga riaghladh tuilleadh.

Chaidh neach-gleidhidh taighe a chuir dheth, chaidh na grafaichean a-mach - dè na duilgheadasan a dh’ fhaodadh a bhith ann sa chùis seo agus dè a dh’ fhaodadh cuideachadh gus an treas dùbhlan coileanaidh fhuasgladh?

Partitioning - sgaradh no sgaradh

Mar as trice, bidh sgaradh air a rèiteachadh ann an dòigh eadar-dhealaichte air gach stòr-dàta dàimh a tha mi air a liostadh. Tha a theicneòlas fhèin aig gach fear, ach tha iad coltach san fharsaingeachd. Bidh cruthachadh sgaradh ùr gu tric a’ leantainn gu duilgheadasan sònraichte.

Mar as trice, bidh sgaraidhean air an rèiteachadh a rèir an “setup” - an ìre de dhàta a thèid a chruthachadh ann an aon latha. Mar riaghailt, tha sgaradh air a chuir a-mach ann an aon latha, is e seo an ìre as ìsle. Airson gluasadan baidse ùr - 1 mìos.

Faodaidh na luachan atharrachadh ma tha an “suidheachadh” glè mhòr. Ma tha “suidheachadh” beag suas ri 5 nvps (luachan ùra gach diog), tha fear meadhanach bho 000 gu 5, tha fear mòr os cionn 000 nvps. Is e ionadan mòra agus glè mhòr a tha seo a dh’ fheumas rèiteachadh faiceallach den stòr-dàta.

Air ionadan fìor mhòr, is dòcha nach bi ùine aon latha cho math. Tha mi air sgaraidhean MySQL de 40 GB no barrachd fhaicinn gach latha. Is e seo àireamh mhòr de dhàta a dh’ fhaodadh duilgheadasan adhbhrachadh agus feumar a lughdachadh.

Dè a bheir Partitioning seachad?

Clàran sgaradh. Gu tric is iad seo faidhlichean fa leth air diosc. Tha plana na ceiste a’ taghadh aon sgaradh nas fheàrr. Mar as trice bidh sgaradh air a chleachdadh a rèir raon - tha seo fìor cuideachd airson Zabbix. Bidh sinn a’ cleachdadh “timestamp” an sin – ùine bho thoiseach na linne. Tha iad sin nan àireamhan àbhaisteach dhuinne. Shuidhich thu toiseach agus deireadh an latha - is e seo sgaradh.

Thoir air falbh gu sgiobalta - DELETE. Thèid aon fhaidhle/fo-chlàr a thaghadh, seach taghadh de shreathan airson an sguabadh às.

Bidh e gu mòr a’ luathachadh lorg dàta SELECT - a’ cleachdadh aon sgaradh no barrachd, seach a’ chlàr gu lèir. Ma tha thu a’ faighinn cothrom air dàta a tha dà latha a dh’aois, thèid a thoirt air ais bhon stòr-dàta nas luaithe oir chan fheum thu ach aon fhaidhle a luchdachadh a-steach don tasgadan agus a thilleadh, chan e clàr mòr.

Gu math tric bidh mòran stòran-dàta air an luathachadh cuideachd INSERT - cuir a-steach do bhòrd na cloinne.

Clàr-amaDB

Airson v 4.2, thionndaidh sinn ar n-aire gu TimescaleDB. Is e seo leudachadh airson PostgreSQL le eadar-aghaidh dùthchasach. Bidh an leudachadh ag obair gu h-èifeachdach le dàta sreath ùine, gun a bhith a’ call buannachdan stòran-dàta dàimh. Bidh TimescaleDB cuideachd a’ sgaradh gu fèin-ghluasadach.

Tha bun-bheachd aig TimescaleDB hypertable (hypertable) a chruthaicheas tu. Tha e a’ toirt a-steach pìosan - sgaradh. Tha cnapan air an riaghladh gu fèin-ghluasadach mar mhìrean hypertable nach toir buaidh air pìosan eile. Tha a raon ùine fhèin aig gach pìos.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Raon-amaDB vs PostgreSQL

Tha TimescaleDB ag obair gu fìor èifeachdach. Tha an luchd-saothrachaidh leudachaidh ag agairt gu bheil iad a’ cleachdadh algairim giollachd iarrtasan nas ceart, gu sònraichte, cuir a-steach. Mar a bhios meud cuir a-steach an dàta a’ fàs, bidh an algairim a’ cumail coileanadh seasmhach.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Às deidh 200 millean sreath, mar as trice bidh PostgreSQL a’ tòiseachadh a ’sochdadh gu mòr agus a’ call coileanadh gu 0. Leigidh TimescaleDB leat “cuir a-steach” a chuir a-steach gu h-èifeachdach airson suim sam bith de dhàta.

suidheachadh

Tha stàladh TimescaleDB gu math furasta airson pasgan sam bith. ANNS sgrìobhainnean tha a h-uile dad air a mhìneachadh gu mionaideach - tha e an urra ri pasganan oifigeil PostgreSQL. Faodar TimescaleDB a thogail agus a chur ri chèile le làimh cuideachd.

Airson stòr-dàta Zabbix bidh sinn dìreach a’ gnìomhachadh an leudachadh:

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

Tha thu air a ghnìomhachadh extension agus cruthaich e airson stòr-dàta Zabbix. Is e an ceum mu dheireadh hypertable a chruthachadh.

Ag imrich clàran eachdraidh gu TimescaleDB

Tha gnìomh sònraichte ann airson seo 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

Tha trì crìochan aig an gnìomh. A’ chiad - clàr san stòr-dàta, airson am feum thu hypertable a chruthachadh. An dàrna - achadh, a rèir a dh'fheumas tu a chruthachadh chunk_time_interval - eadar-ama de phìosan sgaradh ri chleachdadh. Anns a 'chùis agam, tha an eadar-ama aon latha - 86.

An treas paramadair - migrate_data. Ma shuidhicheas tu true, an uairsin thèid a h-uile dàta gnàthach a ghluasad gu pìosan ro-chruthaichte. Chleachd mi e mi-fhìn migrate_data. Bha timcheall air 1 TB agam, a thug còrr air uair a thìde. Fiù ‘s ann an cuid de chùisean, rè na deuchainn, chuir mi às do dhàta eachdraidheil de sheòrsan caractar nach robh riatanach airson an stòradh, gus nach gluais iad iad.

An ceum mu dheireadh - UPDATE: aig db_extension chuir timescaledbgus an tuig an stòr-dàta gu bheil an leudachadh seo ann. Bidh Zabbix ga chuir an gnìomh agus a’ cleachdadh co-chòrdadh agus ceistean an stòr-dàta gu ceart - na feartan sin a tha riatanach airson TimescaleDB.

Suidheachadh bathar-cruaidh

Chleachd mi dà fhrithealaiche. A’ chiad - Inneal airson vmware. Tha e gu math beag: pròiseasairean 20 Intel® Xeon® CPU E5-2630 v 4 @ 2.20GHz, 16 GB de RAM agus SSD 200 GB.

Chuir mi a-steach PostgreSQL 10.8 air le siostam faidhle Debian 10.8-1.pgdg90 + 1 OS agus xfs. Stèidhich mi a h-uile dad cho beag gus an stòr-dàta sònraichte seo a chleachdadh, às aonais na chleachdas Zabbix fhèin.

Air an aon inneal bha frithealaiche Zabbix, PostgreSQL agus luchd-ionaid. Bha 50 àidseantan gnìomhach agam a bha a 'cleachdadh LoadableModulegus toraidhean eadar-dhealaichte a ghineadh gu math luath: àireamhan, sreangan. Lìon mi an stòr-dàta le tòrr dàta.

An toiseach bha an rèiteachadh a bha ann 5 eileamaidean dàta airson gach neach-aoigheachd. Bha inneal-brosnachaidh aig cha mhòr a h-uile eileamaid gus a dhèanamh coltach ri fìor ionadan. Ann an cuid de chùisean bha barrachd air aon inneal-brosnachaidh ann. Airson aon nód lìonra bha 3-000 luchd-brosnachaidh.

Eadar-ama ùrachadh nì dàta - 4-7 diogan. Rinn mi riaghladh air an luchd fhèin le bhith a’ cleachdadh chan e a-mhàin àidseantan 50, ach a’ cur barrachd ris. Cuideachd, a’ cleachdadh eileamaidean dàta, rinn mi atharrachadh gu dinamach air an luchd agus lughdaich mi an ùine ùrachaidh gu 4 s.

PostgreSQL. 35 nvps

Bha a’ chiad ruith agam air a’ bhathar-cruaidh seo air fìor PostgreSQL - 35 mìle luachan gach diog. Mar a chì thu, bheir cuir a-steach dàta bloighean diog - tha a h-uile dad math agus luath. Is e an aon rud gu bheil diosc SSD 200 GB a ’lìonadh gu sgiobalta.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Is e seo deas-bhòrd coileanaidh frithealaiche Zabbix àbhaisteach.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Is e a’ chiad ghraf gorm an àireamh de luachan gach diog. Is e an dàrna graf air an làimh dheis na pròiseasan togail a luchdachadh. Tha an treas fear a’ luchdachadh phròiseasan togail a-staigh: sioncranachadh eachdraidh agus Neach-gleidhidh Taighe, a tha air a bhith a’ ruith an seo airson ùine mhòr.

Tha an ceathramh graf a’ sealltainn cleachdadh HistoryCache. Is e seo seòrsa de bhufair mus cuir thu a-steach don stòr-dàta. Tha an còigeamh graf uaine a’ sealltainn cleachdadh ValueCache, is e sin, cia mheud a bhuaileas ValueCache airson luchd-brosnachaidh - is e seo grunn mhìltean luachan gach diog.

PostgreSQL. 50 nvps

An uairsin mheudaich mi an luchd gu 50 mìle luachan gach diog air an aon bhathar-cruaidh.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Nuair a luchdachadh bho Taigh-gleidhidh, cuir a-steach 10 mìle luachan ghabh 2-3 diogan.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB
Tha bean-taighe mu thràth a 'tòiseachadh a' cur bacadh air obair.

Tha an treas graf a’ sealltainn gu bheil, san fharsaingeachd, an luchd air luchd-glacaidh agus synchers eachdraidh fhathast aig 60%. Anns a’ cheathramh graf, tha HistoryCache mu thràth a’ tòiseachadh a’ lìonadh gu gnìomhach ri linn gnìomhachd Neach-gleidhidh Taighe. Tha e 20% làn, a tha timcheall air 0,5 GB.

PostgreSQL. 80 nvps

An uairsin mheudaich mi an luchd gu 80 mìle luachan gach diog. Tha seo timcheall air 400 mìle eileamaid dàta agus 280 mìle brosnachaidh.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB
Tha cosgais luchdachadh trithead synchers eachdraidh gu math àrd mu thràth.

Mheudaich mi diofar pharaimearan cuideachd: sioncranachadh eachdraidh, caches.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Air a’ bhathar-chruaidh agam, mheudaich luchdachadh sioncronaich eachdraidh chun ìre as àirde. Lìon HistoryCache gu sgiobalta le dàta - bha dàta airson giullachd air cruinneachadh anns a’ bhufair.

Fad na h-ùine seo chunnaic mi mar a chaidh am pròiseasar, RAM agus paramadairean siostam eile a chleachdadh, agus lorg mi gu robh cleachdadh diosc aig an ìre as àirde.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Tha mi air an cleachdadh a choileanadh na comasan diosc as àirde air a’ bhathar-cruaidh seo agus air an inneal brìgheil seo. Le leithid de dhian, thòisich PostgreSQL a’ sruthadh dàta gu gnìomhach, agus cha robh ùine aig an diosc sgrìobhadh agus leughadh tuilleadh.

An dàrna frithealaiche

Ghabh mi frithealaiche eile, aig an robh pròiseasairean 48 mar-thà agus 128 GB de RAM. Ghlèidh mi e - shuidhich e gu 60 sioncranaiche eachdraidh, agus choilean mi coileanadh iomchaidh.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Gu dearbh, tha seo mar-thà na chrìoch cinneasachd far am feumar rudeigin a dhèanamh.

Raon-amaDB. 80 nvps

Is e am prìomh obair agam comasan TimescaleDB a dhearbhadh an aghaidh luchd Zabbix. Tha 80 mìle luachan gach diog tòrr, cho tric ‘s a tha e a’ cruinneachadh metrics (ach a-mhàin Yandex, gu dearbh) agus “suidheachadh” meadhanach mòr.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Tha tuiteam anns a h-uile graf - is e seo dìreach an imrich dàta. Às deidh fàilligeadh ann am frithealaiche Zabbix, dh’ atharraich ìomhaigh luchdachadh an t-sioncronair eachdraidh gu mòr - thuit e trì tursan.

Leigidh TimescaleDB leat dàta a chuir a-steach cha mhòr 3 tursan nas luaithe agus nas lugha de HistoryCache a chleachdadh.

A rèir sin, gheibh thu dàta ann an deagh àm.

Raon-amaDB. 120 nvps

An uairsin mheudaich mi an àireamh de eileamaidean dàta gu 500 mìle. B 'e am prìomh obair deuchainn a dhèanamh air comasan TimescaleDB - fhuair mi luach àireamhaichte de 125 mìle luachan gach diog.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Is e seo “suidheachadh” obrach a dh’ obraicheas airson ùine mhòr. Ach leis nach robh an diosc agam ach 1,5 TB, lìon mi e ann an latha no dhà.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

Is e an rud as cudromaiche gun deach sgaraidhean ùra TimescaleDB a chruthachadh aig an aon àm.

Tha seo gu tur neo-aithnichte airson coileanadh. Nuair a thèid sgaraidhean a chruthachadh ann am MySQL, mar eisimpleir, tha a h-uile dad eadar-dhealaichte. Bidh seo mar as trice a’ tachairt air an oidhche leis gu bheil e a’ bacadh cuir a-steach coitcheann, ag obair le bùird agus a’ cruthachadh truailleadh seirbheis. Chan eil seo fìor le TimescaleDB.

Mar eisimpleir, seallaidh mi aon ghraf bho mhòran sa choimhearsnachd. Anns an dealbh, tha TimescaleDB air a chomasachadh, leis gu bheil an luchd air cleachdadh io.weight air a’ phròiseasar air tuiteam. Lùghdaich cleachdadh eileamaidean pròiseas a-staigh cuideachd. A bharrachd air an sin, is e inneal brìgheil àbhaisteach a tha seo air diosgan pancake àbhaisteach, chan e SSD.

Coileanadh àrd agus sgaradh dùthchasach: Zabbix le taic TimescaleDB

toraidhean

Tha TimescaleDB na fhuasgladh math airson “suidheachadh” beag, a bheir buaidh air coileanadh diosc. Leigidh e leat cumail ag obair gu math gus an tèid an stòr-dàta a ghluasad gu bathar-cruaidh cho luath sa ghabhas.

Tha TimescaleDB furasta a rèiteachadh, a’ toirt buannachdan coileanaidh, ag obair gu math le Zabbix agus tha buannachdan aige thairis air PostgreSQL.

Ma chleachdas tu PostgreSQL agus nach eil thu an dùil atharrachadh, tha mi a’ moladh cleachd PostgreSQL leis an leudachadh TimescaleDB ann an co-bhonn ri Zabbix. Bidh am fuasgladh seo ag obair gu h-èifeachdach suas gu "suidheachadh" meadhanach.

Nuair a chanas sinn “àrd-choileanadh” tha sinn a’ ciallachadh HighLoad ++. Cha bhith fada agad ri feitheamh gus ionnsachadh mu na teicneòlasan agus na cleachdaidhean a leigeas le seirbheisean seirbheis a thoirt do mhilleanan de luchd-cleachdaidh. Liosta aithisgean airson an t-Samhain 7 agus 8 tha sinn air a chur ri chèile mar-thà, ach an seo coinneamhan faodar barrachd a mholadh.

Subscribe to our cuairt-litir и telegram, anns am bi sinn a’ nochdadh feartan na co-labhairt a tha ri thighinn, agus a’ faighinn a-mach ciamar a gheibh sinn a’ chuid as fheàrr dheth.

Source: www.habr.com

Cuir beachd ann