Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Zabbix jẹ eto ibojuwo. Bii eyikeyi eto miiran, o dojukọ awọn iṣoro akọkọ mẹta ti gbogbo awọn eto ibojuwo: ikojọpọ ati sisẹ data, titoju itan-akọọlẹ, ati mimọ.

Awọn ipele ti gbigba, ṣiṣe ati gbigbasilẹ data gba akoko. Kii ṣe pupọ, ṣugbọn fun eto nla eyi le ja si awọn idaduro nla. Iṣoro ibi ipamọ jẹ ọrọ wiwọle data. Wọn ti wa ni lilo fun awọn iroyin, sọwedowo ati okunfa. Latencies ni wiwọle data tun ni ipa lori iṣẹ. Nigbati awọn data data ba dagba, data ti ko ṣe pataki ni lati paarẹ. Yiyọ jẹ iṣẹ ṣiṣe ti o nira ti o tun jẹ diẹ ninu awọn orisun.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Awọn iṣoro ti awọn idaduro lakoko ikojọpọ ati ibi ipamọ ni Zabbix jẹ ipinnu nipasẹ fifipamọ: ọpọlọpọ awọn iru caches, caching ni ibi ipamọ data. Lati yanju iṣoro kẹta, caching ko dara, nitorinaa Zabbix lo TimescaleDB. Oun yoo sọ fun ọ nipa rẹ Andrey Gushchin - imọ support ẹlẹrọ Zabbix SIA. Andrey ti ṣe atilẹyin Zabbix fun diẹ sii ju ọdun 6 ati pe o ni iriri taara pẹlu iṣẹ ṣiṣe.

Bawo ni TimescaleDB ṣe n ṣiṣẹ, iṣẹ wo ni o le fun ni akawe si PostgreSQL deede? Ipa wo ni Zabbix ṣe fun aaye data TimescaleDB? Bii o ṣe le bẹrẹ lati ibere ati bii o ṣe le jade lati PostgreSQL ati iṣeto wo ni o ni iṣẹ ṣiṣe to dara julọ? Nipa gbogbo eyi labẹ gige.

Awọn italaya iṣelọpọ

Gbogbo eto ibojuwo koju awọn italaya iṣẹ ṣiṣe kan pato. Emi yoo sọrọ nipa mẹta ninu wọn: gbigba data ati sisẹ, ibi ipamọ, ati imukuro itan.

Gbigba data iyara ati sisẹ. Eto ibojuwo to dara yẹ ki o gba gbogbo data ni kiakia ki o ṣe ilana ni ibamu si awọn ikosile ti o nfa - ni ibamu si awọn ibeere rẹ. Lẹhin sisẹ, eto naa gbọdọ tun yara fi data yii pamọ sinu ibi ipamọ data fun lilo nigbamii.

Ibi ipamọ itan. Eto ibojuwo to dara yẹ ki o tọju itan-akọọlẹ sinu ibi ipamọ data ki o pese iraye si irọrun si awọn metiriki. Itan-an nilo lati lo ninu awọn ijabọ, awọn aworan, awọn okunfa, awọn iloro, ati awọn nkan data itaniji iṣiro.

Pipa itan kuro. Nigba miiran ọjọ kan wa nigbati o ko nilo lati tọju awọn metiriki. Kini idi ti o nilo data ti a gba ni ọdun 5 sẹyin, oṣu kan tabi meji: diẹ ninu awọn apa ti paarẹ, diẹ ninu awọn ọmọ-ogun tabi awọn metiriki ko nilo mọ nitori pe wọn ti pẹ ati pe wọn ko gbajọ mọ. Eto ibojuwo to dara yẹ ki o tọju data itan ati paarẹ lati igba de igba ki data data ko ba dagba.

Mimu data diduro jẹ ọran pataki ti o ni ipa lori iṣẹ ṣiṣe data pupọ.

Caching ni Zabbix

Ni Zabbix, awọn ipe akọkọ ati keji jẹ ipinnu nipa lilo caching. Ramu ti lo lati gba ati ilana data. Fun ibi ipamọ - itan ninu awọn okunfa, awọn aworan ati awọn eroja data iṣiro. Lori ibi ipamọ data wa diẹ ninu caching fun awọn yiyan ipilẹ, fun apẹẹrẹ, awọn aworan.

Caching ni ẹgbẹ olupin Zabbix funrararẹ jẹ:

  • Kaṣe iṣeto ni;
  • Iye Kaṣe;
  • HistoryCache;
  • TrendsCache.

Wo wọn ni awọn alaye diẹ sii.

Kaṣe iṣeto ni

Eyi ni kaṣe akọkọ nibiti a ti fipamọ awọn metiriki, awọn ọmọ ogun, awọn nkan data, awọn okunfa - ohun gbogbo ti a nilo fun Ṣiṣeto ati fun gbigba data.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Gbogbo eyi ti wa ni ipamọ ni ConfigurationCache ki o má ba ṣẹda awọn ibeere ti ko wulo ninu aaye data. Lẹhin ti olupin bẹrẹ, a ṣe imudojuiwọn kaṣe yii, ṣẹda ati ṣe imudojuiwọn awọn atunto lorekore.

Gbigba data

Aworan naa tobi pupọ, ṣugbọn ohun akọkọ ninu rẹ ni pickers. Awọn wọnyi ni orisirisi "pollers" - awọn ilana apejọ. Wọn jẹ iduro fun awọn oriṣiriṣi apejọ: wọn gba data nipasẹ SNMP, IPMI, ati gbe gbogbo rẹ lọ si PreProcessing.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDBAwọn agbowọ ti wa ni ilana ni osan.

Zabbix ti ṣe iṣiro awọn ohun akojọpọ ti o nilo lati ṣajọpọ awọn sọwedowo. Ti a ba ni wọn, a gba data fun wọn taara lati ValueCache.

PreProcessing HistoryCache

Gbogbo awọn olugba lo ConfigurationCache lati gba awọn iṣẹ. Lẹhinna wọn gbe wọn lọ si PreProcessing.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

PreProcessing nlo ConfigurationCache lati gba awọn igbesẹ PreProcessing. O ṣe ilana data yii ni awọn ọna oriṣiriṣi.

Lẹhin ṣiṣe data nipa lilo PreProcessing, a fipamọ sinu HistoryCache fun sisẹ. Eyi dopin gbigba data ati pe a tẹsiwaju si ilana akọkọ ni Zabbix - amuṣiṣẹpọ itan, niwon o jẹ a monolithic faaji.

Akiyesi: Ṣiṣeto iṣaaju jẹ iṣẹ ti o nira pupọ. Pẹlu v 4.2 o ti gbe lọ si aṣoju. Ti o ba ni Zabbix ti o tobi pupọ pẹlu nọmba nla ti awọn eroja data ati igbohunsafẹfẹ gbigba, lẹhinna eyi jẹ ki iṣẹ naa rọrun pupọ.

ValueCache, itan & kaṣe aṣa

Amuṣiṣẹpọ itan jẹ ilana akọkọ ti o ṣe ilana atomically eroja data kọọkan, iyẹn ni, iye kọọkan.

Amuṣiṣẹpọ itan gba awọn iye lati HistoryCache ati ṣayẹwo Iṣeto fun wiwa awọn okunfa fun awọn iṣiro. Ti wọn ba wa, o ṣe iṣiro.

Amuṣiṣẹpọ itan ṣẹda iṣẹlẹ kan, escalation lati ṣẹda awọn titaniji ti o ba nilo nipasẹ iṣeto ni, ati awọn igbasilẹ. Ti awọn okunfa ba wa fun sisẹ atẹle, lẹhinna o tọju iye yii ni ValueCache ki o ma ṣe wọle si tabili itan. Eyi ni bii ValueCache ṣe kun pẹlu data ti o jẹ dandan lati ṣe iṣiro awọn okunfa ati awọn eroja iṣiro.

Amuṣiṣẹpọ itan kọ gbogbo data si ibi ipamọ data, ati pe o kọwe si disk. Awọn ilana ilana dopin nibi.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Caching ni database

Ni ẹgbẹ data data orisirisi awọn caches wa nigbati o fẹ wo awọn aworan tabi awọn ijabọ lori awọn iṣẹlẹ:

  • Innodb_buffer_pool ni ẹgbẹ MySQL;
  • shared_buffers ni ẹgbẹ PostgreSQL;
  • effective_cache_size ni ẹgbẹ Oracle;
  • shared_pool lori DB2 ẹgbẹ.

Ọpọlọpọ awọn caches miiran wa, ṣugbọn iwọnyi ni akọkọ fun gbogbo awọn apoti isura data. Wọn gba ọ laaye lati tọju data ni Ramu ti o nilo nigbagbogbo fun awọn ibeere. Wọn ni awọn imọ-ẹrọ tiwọn fun eyi.

Išẹ data jẹ pataki

Olupin Zabbix nigbagbogbo n gba data ati kọ ọ. Nigbati o tun bẹrẹ, o tun ka lati itan-akọọlẹ lati kun ValueCache. Nlo awọn iwe afọwọkọ ati awọn ijabọ Zabbix API, eyi ti o wa ni itumọ ti lori ayelujara ni wiwo. Zabbix API wọle si ibi ipamọ data ati gba data pataki fun awọn aworan, awọn ijabọ, awọn atokọ iṣẹlẹ ati awọn ọran tuntun.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Fun wiwo - Grafana. Eyi jẹ ojutu olokiki laarin awọn olumulo wa. O le firanṣẹ awọn ibeere taara nipasẹ Zabbix API ati si ibi ipamọ data, ati ṣẹda idije kan fun gbigba data. Nitorinaa, yiyi ti o dara julọ ati ti o dara julọ ti data ni a nilo lati baamu ifijiṣẹ iyara ti awọn abajade ati idanwo.

housekeeper

Ipenija iṣẹ ṣiṣe kẹta ni Zabbix jẹ imukuro itan nipa lilo Olutọju Ile. O tẹle gbogbo awọn eto - awọn eroja data tọka bi o ṣe pẹ to lati tọju awọn agbara ti awọn ayipada (awọn aṣa) ni awọn ọjọ.

A ṣe iṣiro TrendsCache lori fo. Nigbati data naa ba de, a ṣajọpọ fun wakati kan ati gbasilẹ ni awọn tabili fun awọn agbara ti awọn iyipada aṣa.

Olutọju ile bẹrẹ ati paarẹ alaye lati ibi ipamọ data nipa lilo “yan” deede. Eyi kii ṣe doko nigbagbogbo, bi a ṣe le rii lati awọn aworan iṣẹ ti awọn ilana inu.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Aworan pupa fihan pe amuṣiṣẹpọ Itan n ṣiṣẹ nigbagbogbo. Aworan osan ni oke ni Olutọju Ile, eyiti o nṣiṣẹ nigbagbogbo. O duro de ibi ipamọ data lati pa gbogbo awọn ori ila ti o sọ.

Nigbawo ni o yẹ ki o mu Olutọju Ile kuro? Fun apẹẹrẹ, “ID Nkan kan” wa ati pe o nilo lati paarẹ awọn ori ila 5 ti o kẹhin laarin akoko kan. Dajudaju, eyi ṣẹlẹ nipasẹ atọka. Sugbon maa dataset jẹ gidigidi tobi, ati awọn database si tun ka lati disk ati ki o fi o sinu awọn kaṣe. Eyi jẹ iṣẹ ṣiṣe ti o gbowolori nigbagbogbo fun ibi ipamọ data ati, da lori iwọn data data, le ja si awọn iṣoro iṣẹ.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Olutọju ile rọrun lati mu. Ni wiwo oju opo wẹẹbu eto kan wa ni “Gbogbogbo Isakoso” fun Olutọju Ile. A mu Itọju Ile inu fun itan aṣa inu ati pe ko ṣakoso rẹ mọ.

Olutọju ile ti wa ni pipa, awọn aworan ti gbe jade - awọn iṣoro wo ni o le wa ninu ọran yii ati kini o le ṣe iranlọwọ lati yanju ipenija iṣẹ ṣiṣe kẹta?

Pipin - ipin tabi ipin

Ni deede, ipin ti wa ni tunto ni ọna ti o yatọ lori data data ibatan kọọkan ti Mo ti ṣe atokọ. Ọkọọkan ni imọ-ẹrọ tirẹ, ṣugbọn wọn jọra ni gbogbogbo. Ṣiṣẹda ipin tuntun nigbagbogbo nyorisi awọn iṣoro kan.

Ni deede, awọn ipin ti wa ni tunto da lori “iṣatunṣe” - iye data ti o ṣẹda ni ọjọ kan. Gẹgẹbi ofin, ipin ti wa ni ti oniṣowo ni ọjọ kan, eyi ni o kere julọ. Fun awọn aṣa ti ipele tuntun - oṣu 1.

Awọn iye le yipada ti “eto” ba tobi pupọ. Ti “iṣagbekale” kekere ba to 5 nvps (awọn iye tuntun fun iṣẹju keji), alabọde jẹ lati 000 si 5, lẹhinna nla kan ga ju 000 nvps. Iwọnyi jẹ awọn fifi sori ẹrọ nla ati pupọ pupọ ti o nilo iṣeto iṣọra ti data data.

Lori awọn fifi sori ẹrọ ti o tobi pupọ, akoko ti ọjọ kan le ma dara julọ. Mo ti rii awọn ipin MySQL ti 40 GB tabi diẹ sii fun ọjọ kan. Eyi jẹ iye data ti o tobi pupọ ti o le fa awọn iṣoro ati pe o nilo lati dinku.

Kini ipinfunni fun?

Awọn tabili ipin. Nigbagbogbo iwọnyi jẹ awọn faili lọtọ lori disiki. Eto ibeere naa yan ipin kan ni aipe diẹ sii. Nigbagbogbo pipin jẹ lilo nipasẹ ibiti - eyi tun jẹ otitọ fun Zabbix. A lo "timestamp" nibẹ - akoko lati ibẹrẹ ti akoko. Iwọnyi jẹ awọn nọmba lasan fun wa. O ṣeto ibẹrẹ ati opin ọjọ - eyi jẹ ipin kan.

Yiyọ kuro ni kiakia - DELETE. Faili kan/subtable ti yan, dipo yiyan awọn ori ila fun piparẹ.

Ti o ṣe pataki ni iyara gbigba data pada SELECT - nlo ọkan tabi diẹ ẹ sii ipin, dipo ju gbogbo tabili. Ti o ba n wọle si data ti o jẹ ọjọ meji, o ti gba pada lati ibi ipamọ data yiyara nitori pe o nilo lati gbe faili kan nikan sinu kaṣe ki o da pada, kii ṣe tabili nla kan.

Nigbagbogbo ọpọlọpọ awọn apoti isura infomesonu tun ni iyara INSERT - awọn ifibọ sinu tabili ọmọ.

Iwọn akokoDB

Fun v 4.2, a yi ifojusi wa si TimescaleDB. Eyi jẹ itẹsiwaju fun PostgreSQL pẹlu wiwo abinibi kan. Ifaagun naa n ṣiṣẹ ni imunadoko pẹlu data jara akoko, laisi sisọnu awọn anfani ti awọn data data ibatan. TimecaleDB tun awọn ipin laifọwọyi.

TimescaleDB ni ero kan hypertable (hypertable) ti o ṣẹda. O ni ninu chunks - awọn ipin. Awọn chunks jẹ iṣakoso laifọwọyi awọn ajẹkù hypertable ti ko kan awọn ajẹkù miiran. Kọọkan chunk ni akoko akoko tirẹ.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

TimecaleDB vs PostgreSQL

TimecaleDB ṣiṣẹ daradara daradara. Awọn olupilẹṣẹ ifaagun naa sọ pe wọn lo algorithm ṣiṣe ibeere ti o pe diẹ sii, ni pataki inserts . Bi iwọn ifibọ dataset ti n dagba, algorithm n ṣetọju iṣẹ ṣiṣe nigbagbogbo.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Lẹhin awọn ori ila 200 milionu, PostgreSQL nigbagbogbo bẹrẹ lati sag ni pataki ati padanu iṣẹ si 0. TimecaleDB ngbanilaaye lati fi “awọn ifibọ” sii daradara fun eyikeyi iye data.

eto

Fifi TimecaleDB jẹ irọrun iṣẹtọ fun eyikeyi package. IN iwe ohun gbogbo ni a ṣe apejuwe ni awọn alaye - o da lori awọn idii PostgreSQL osise. TimecaleDB tun le kọ ati ṣajọ pẹlu ọwọ.

Fun data data Zabbix a kan mu itẹsiwaju ṣiṣẹ:

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

O mu ṣiṣẹ extension ki o si ṣẹda rẹ fun data data Zabbix. Igbesẹ ti o kẹhin ni lati ṣẹda hypertable kan.

Awọn tabili itan lilọ kiri si TimescaleDB

Iṣẹ pataki kan wa fun eyi 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

Iṣẹ naa ni awọn paramita mẹta. Akoko - tabili ni database, fun eyiti o nilo lati ṣẹda hypertable. Keji - aaye, ni ibamu si eyi ti o nilo lati ṣẹda chunk_time_interval - aarin ti ipin chunks lati ṣee lo. Ninu ọran mi, aarin jẹ ọjọ kan - 86.

paramita kẹta - migrate_data. Ti o ba ṣeto true, lẹhinna gbogbo data lọwọlọwọ ni a gbe lọ si awọn chunks ti a ṣẹda tẹlẹ. Mo lo funrarami migrate_data. Mo ni nipa TB 1, eyiti o gba to wakati kan. Paapaa ni awọn igba miiran, lakoko idanwo, Mo paarẹ data itan ti awọn iru ohun kikọ ti a ko nilo fun ibi ipamọ, ki o ma ṣe gbe wọn.

Igbesẹ to kẹhin - UPDATE: ninu db_extension fi timescaledbki awọn database ye wipe yi itẹsiwaju wa. Zabbix muu ṣiṣẹ ati pe o lo ọna ti o tọ ati awọn ibeere si ibi ipamọ data - awọn ẹya wọnyẹn ti o ṣe pataki fun TimescaleDB.

Hardware iṣeto ni

Mo ti lo meji olupin. Akoko - VMware ẹrọ. O ti wa ni oyimbo kekere: 20 Intel® Xeon® Sipiyu E5-2630 v 4 @ 2.20GHz nse, 16 GB ti Ramu ati ki o kan 200 GB SSD.

Mo ti fi sori ẹrọ PostgreSQL 10.8 lori rẹ pẹlu Debian 10.8-1.pgdg90+1 OS ati xfs faili eto. Mo tunto ohun gbogbo ni iwonba lati lo aaye data pataki yii, iyokuro kini Zabbix funrararẹ yoo lo.

Lori ẹrọ kanna ni olupin Zabbix kan wa, PostgreSQL ati fifuye òjíṣẹ. Mo ni awọn aṣoju ti nṣiṣe lọwọ 50 ti wọn nlo LoadableModulelati ṣe awọn abajade ti o yatọ pupọ: awọn nọmba, awọn okun. Mo ti kun awọn database pẹlu kan pupo ti data.

Ni ibẹrẹ iṣeto ni 5 eroja data fun ogun. O fẹrẹ jẹ pe gbogbo nkan ni o ni okunfa lati jẹ ki o jọra si awọn fifi sori ẹrọ gidi. Ni awọn igba miiran okunfa diẹ sii ju ọkan lọ. Fun ọkan ipade nẹtiwọki wa 3-000 okunfa.

Aarin Imudojuiwọn Nkan Data - 4-7 awọn aaya. Mo ṣe ilana fifuye funrararẹ nipa lilo kii ṣe awọn aṣoju 50 nikan, ṣugbọn fifi diẹ sii. Paapaa, ni lilo awọn eroja data, Mo ṣatunṣe fifuye ni agbara ati dinku aarin imudojuiwọn si awọn iṣẹju 4.

PostgreSQL. 35 nvps

Ṣiṣe akọkọ mi lori ohun elo yii wa lori PostgreSQL mimọ - awọn iye ẹgbẹrun 35 fun iṣẹju kan. Bi o ti le rii, fifi data sii gba awọn ida ti iṣẹju-aaya - ohun gbogbo dara ati yara. Ohun kan ṣoṣo ni pe disiki 200 GB SSD kan kun ni iyara.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Eyi jẹ Dasibodu iṣẹ ṣiṣe olupin Zabbix boṣewa kan.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Aya buluu akọkọ jẹ nọmba awọn iye fun iṣẹju kan. Aworan keji ni apa ọtun ni ikojọpọ awọn ilana ṣiṣe. Ẹkẹta n ṣe ikojọpọ awọn ilana iṣelọpọ inu: awọn amuṣiṣẹpọ itan ati Olutọju Ile, eyiti o ti nṣiṣẹ nibi fun igba diẹ.

Aworan kẹrin fihan lilo HistoryCache. Eyi jẹ iru ifipamọ ṣaaju fifi sii sinu ibi ipamọ data. Aya karun alawọ ewe fihan lilo ValueCache, iyẹn ni, melo ni iye Cache deba fun awọn okunfa - eyi jẹ ọpọlọpọ awọn iye ẹgbẹrun fun iṣẹju kan.

PostgreSQL. 50 nvps

Lẹhinna Mo pọ si fifuye si awọn iye 50 ẹgbẹrun fun iṣẹju kan lori ohun elo kanna.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Nigbati o ba n ṣajọpọ lati ọdọ Olutọju Ile, fifi sii awọn iye 10 ẹgbẹrun gba awọn aaya 2-3.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB
Olutọju ile ti bẹrẹ tẹlẹ lati dabaru pẹlu iṣẹ.

Aworan kẹta fihan pe, ni gbogbogbo, fifuye lori awọn apẹja ati awọn amuṣiṣẹpọ itan tun wa ni 60%. Ni aworan kẹrin, HistoryCache ti bẹrẹ lati kun ni itara lakoko iṣẹ olutọju Ile. O ti kun 20%, eyiti o jẹ nipa 0,5 GB.

PostgreSQL. 80 nvps

Lẹhinna Mo pọ si fifuye si awọn iye 80 ẹgbẹrun fun iṣẹju kan. Eyi jẹ to 400 ẹgbẹrun awọn eroja data ati 280 ẹgbẹrun awọn okunfa.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB
Iye owo ikojọpọ ti awọn amuṣiṣẹpọ itan ọgbọn ọgbọn ti ga tẹlẹ.

Mo tun pọ si orisirisi awọn paramita: itan amuṣiṣẹpọ, caches.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Lori ohun elo mi, ikojọpọ awọn amuṣiṣẹpọ itan pọ si ti o pọju. HistoryCache yarayara pẹlu data - data fun sisẹ ti kojọpọ ninu ifipamọ.

Ni gbogbo akoko yii Mo ṣe akiyesi bii ero isise, Ramu ati awọn aye eto miiran ti lo, ati rii pe lilo disk wa ni o pọju.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Mo ti ṣaṣeyọri lilo naa o pọju disk agbara lori hardware yii ati lori ẹrọ foju yii. Pẹlu iru kikankikan, PostgreSQL bẹrẹ lati ṣan data ni itara, ati pe disiki ko ni akoko lati kọ ati ka.

Olupin keji

Mo mu olupin miiran, eyiti o ti ni awọn ero isise 48 ati 128 GB ti Ramu. Mo aifwy o - ṣeto si 60 itan amuṣiṣẹpọ, ati ki o waye itewogba išẹ.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Ni otitọ, eyi jẹ opin opin iṣelọpọ nibiti ohun kan nilo lati ṣee.

TimescaleDB. 80 nvps

Iṣẹ akọkọ mi ni lati ṣe idanwo awọn agbara ti TimecaleDB lodi si fifuye Zabbix. Awọn iye ẹgbẹrun 80 fun iṣẹju kan jẹ pupọ, igbohunsafẹfẹ ti gbigba awọn metiriki (ayafi fun Yandex, dajudaju) ati “iṣagbekale” ti o tobi pupọ.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Dip kan wa ni gbogbo awọn aworan - eyi ni deede ijira data. Lẹhin awọn ikuna ninu olupin Zabbix, profaili ikojọpọ ti amuṣiṣẹpọ itan yipada pupọ - o lọ silẹ ni igba mẹta.

TimecaleDB ngbanilaaye lati fi data sii fẹrẹẹ awọn akoko 3 yiyara ati lo kere si HistoryCache.

Nitorinaa, iwọ yoo gba data ni ọna ti akoko.

TimescaleDB. 120 nvps

Lẹhinna Mo pọ si nọmba awọn eroja data si ẹgbẹrun 500. Iṣẹ akọkọ ni lati ṣe idanwo awọn agbara ti TimescaleDB - Mo gba iye iṣiro ti awọn iye 125 ẹgbẹrun fun iṣẹju-aaya.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Eyi jẹ “iṣeto” ti n ṣiṣẹ ti o le ṣiṣẹ fun igba pipẹ. Sugbon niwon mi disk je nikan 1,5 TB, Mo ti kun soke ni kan tọkọtaya ti ọjọ.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

Ohun pataki julọ ni pe ni akoko kanna awọn ipin TimescaleDB tuntun ni a ṣẹda.

Eleyi jẹ patapata unnoticeable fun išẹ. Nigbati awọn ipin ba ṣẹda ni MySQL, fun apẹẹrẹ, ohun gbogbo yatọ. Eyi maa n ṣẹlẹ ni alẹ nitori pe o ṣe idiwọ ifibọ gbogbogbo, ṣiṣẹ pẹlu awọn tabili ati pe o le ṣẹda ibajẹ iṣẹ. Eyi kii ṣe ọran pẹlu TimescaleDB.

Fun apẹẹrẹ, Emi yoo fi aworan kan han lati ọdọ ọpọlọpọ ni agbegbe. Ni aworan naa, TimecaleDB ti ṣiṣẹ, o ṣeun si eyiti fifuye lori lilo io.weight lori ero isise ti lọ silẹ. Lilo awọn eroja ilana inu tun dinku. Pẹlupẹlu, eyi jẹ ẹrọ foju arinrin lori awọn disiki pancake lasan, kii ṣe SSD kan.

Išẹ giga ati ipinya abinibi: Zabbix pẹlu atilẹyin TimescaleDB

awari

TimecaleDB jẹ ojutu ti o dara fun “iṣagbekalẹ” kekere, eyi ti o ni ipa lori iṣẹ disk. Yoo gba ọ laaye lati tẹsiwaju ṣiṣẹ daradara titi data data yoo fi lọ si ohun elo ni yarayara bi o ti ṣee.

TimecaleDB rọrun lati tunto, funni ni awọn anfani iṣẹ, ṣiṣẹ daradara pẹlu Zabbix ati ni awọn anfani lori PostgreSQL.

Ti o ba lo PostgreSQL ati pe ko gbero lati yi pada, Mo ṣeduro lo PostgreSQL pẹlu itẹsiwaju TimescaleDB ni apapo pẹlu Zabbix. Ojutu yii n ṣiṣẹ ni imunadoko titi di alabọde “ipilẹṣẹ”.

Nigba ti a ba sọ "iṣẹ giga" a tumọ si HighLoad++. Iwọ kii yoo ni pipẹ lati duro lati kọ ẹkọ nipa awọn imọ-ẹrọ ati awọn iṣe ti o jẹ ki awọn iṣẹ ṣiṣẹ lati sin awọn miliọnu awọn olumulo. Akojọ awọn iroyin fun Kọkànlá Oṣù 7 ati 8 a ti ṣajọ tẹlẹ, ṣugbọn nibi awọn ipade diẹ sii ni a le daba.

Alabapin si wa iwe iroyin и telegram, ninu eyiti a ṣe afihan awọn ẹya ara ẹrọ ti apejọ ti nbọ, ati rii bi o ṣe le ni anfani pupọ julọ ninu rẹ.

orisun: www.habr.com

Fi ọrọìwòye kun