Zabbix ááẠá á±á¬áá·áºááŒáá·áºáá±ážá áá áºáá áºáá¯ááŒá áºáááºá á¡ááŒá¬ážá áá áºáá»á¬ážáá²á·ááá¯á·áááºá áááºážááẠá á±á¬áá·áºááŒáá·áºá á áºáá±ážáá±ážá áá áºá¡á¬ážáá¯á¶ážá á¡áááááŒá¿áá¬áá¯á¶ážáá¯ááŒá áºááá·áº áá±áá¬á á¯áá±á¬ááºážááŒááºážááŸáá·áº áá¯ááºáá±á¬ááºááŒááºážá ááŸááºáááºážááááºážáááºážááŒááºážááŸáá·áº áááºážááᯠááá·áºááŸááºážáá±ážáá¯ááºááŒááºážááá¯á·ááŸáá·áº áááºááá¯ááºáá±ááááºá
áá±áá¬áááºáá¶ááŒááºážá áá¯ááºáá±á¬ááºááŒááºážááŸáá·áº ááŸááºáááºážáááºááŒááºáž á¡ááá·áºáá»á¬ážááẠá¡áá»áááºááŒá¬ááŒáá·áºáááºá á¡áá»á¬ážááŒá®ážááá¯ááºáá±ááá·áº ááŒá®ážáá¬ážáá²á·á áá áºáá áºáá¯á¡ááœáẠáá«á ááŒá®ážáá¬ážáá²á·ááŸá±á¬áá·áºááŸá±ážááŸá¯ááᯠááŒá áºáá±á«áºá á±ááá¯ááºáá«áááºá ááá¯ááŸá±á¬ááºááŸá¯ááŒá¿áá¬ááẠáá±áá¬áááºáá±á¬ááºááœáá·áºááŒá¿áá¬ááŒá áºáááºá áááºážááá¯á·ááᯠá¡á á®áááºáá¶á á¬áá»á¬ážá á á áºáá±ážááŸá¯áá»á¬ážááŸáá·áº á¡á áá»áá¯ážááŸá¯áá»á¬ážá¡ááœáẠá¡áá¯á¶ážááŒá¯áááºá áá±áá¬áááºáá±á¬ááºááœáá·áºááŸá latencies áááºáááºáž á áœááºážáá±á¬ááºáááºááᯠáááºáá±á¬ááºááŸá¯ááŸááááºá áá±áá¬áá±á·á áºáá»á¬ážááŒá®ážááœá¬ážáá¬áá±á¬á¡áá«á ááááºááá¯ááºáá±á¬áá±áá¬áá»á¬ážááá¯áá»ááºáá áºááááºá áááºááŸá¬ážááŒááºážááẠá¡áááºážá¡ááŒá áºá¡áá»áá¯á·ááá¯áááºáž á á¬ážáá¯á¶ážááẠáááºáá²áá±á¬ áá¯ááºáá±á¬ááºáá»ááºááŒá áºáááºá
Zabbix ááœáẠá
á¯áá±á¬ááºážááŸá¯ááŸáá·áº ááá¯ááŸá±á¬ááºááŸá¯á¡ááœááºáž ááŸá±á¬áá·áºááŸá±ážááŸá¯ááŒá¿áá¬áá»á¬ážááᯠáááºááŸáºáá»á¬áž ááááºážáááºážááŒááºážááŒáá·áº ááŒá±ááŸááºážááá¯ááºáááº- áááºááŸáºá¡áá»áá¯ážá¡á
á¬ážáá»á¬ážá
áœá¬á áá±áá¬áá±á·á
áºááœáẠáááºááŸáºáá¯ááºááŒááºážá ááááááŒá¿áá¬ááá¯ááŒá±ááŸááºážáááºá caching áááºáááá·áºáá»á±á¬áºáá±á¬ááŒá±á¬áá·áº Zabbix ááẠTimescaleDB ááá¯á¡áá¯á¶ážááŒá¯áá²á·áááºá áá°á·á¡ááŒá±á¬ááºážááŒá±á¬ááŒáááºá Andrey Gushchin - áááºážááá¬áá¶á·ááá¯ážááŸá¯á¡ááºáá»ááºáá®áá¬
TimescaleDB áááºáá²á·ááá¯á·á¡áá¯ááºáá¯ááºááááºážá áá¯á¶ááŸáẠPostgreSQL ááŸáá·áºááŸáá¯ááºážááŸááºáá«ááááºááá·áºá
áœááºážáá±á¬ááºáááºááá¯áá±ážá
áœááºážááá¯ááºááááºážá Zabbix ááẠTimescaleDB áá±áá¬áá±á·á
áºá¡ááœáẠáááºááá·áºá¡áááºážááá¹áá០áá«áááºááááºážá á¡á
ááŸá
áááºá PostgreSQL ááŸáááºááá¯á·ááœáŸá±á·ááŒá±á¬ááºážáááááºážá áááºááá·áºááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶ááẠááá¯ááá¯áá±á¬ááºážááœááºáá±á¬á
áœááºážáá±á¬ááºáááºááŸáááááºážá ááŒááºáá±á¬ááºááŸá¯á¡á±á¬ááºááœáẠá€á¡áá¬á¡á¬ážáá¯á¶ážááᯠá¡ááŒá±á¬ááºážááŒá¯áá«á
áá¯ááºáá¯ááºá áœááºážá¡á¬áž á áááºáá±á«áºááŸá¯áá»á¬áž
á á±á¬áá·áºááŒáá·áºáá±ážá áá áºááá¯ááºážááẠáááá»áá±á¬á áœááºážáá±á¬ááºáááºá áááºáá±á«áºááŸá¯áá»á¬ážááᯠáááºááá¯ááºááááºá áá±áá¬á á¯áá±á¬ááºážááŒááºážááŸáá·áº á á®áá¶áá±á¬ááºááœááºááŒááºážá ááááºážáááºážááŒááºážááŸáá·áº ááŸááºáááºážááŸááºážáááºážááŒááºážááá¯á·ááᯠáá»áœááºá¯ááºááŒá±á¬áá«áááºá
áá»ááºááŒááºáá±á¬áá±áá¬á á¯áá±á¬ááºážááŒááºážááŸáá·áºáá¯ááºáá±á¬ááºááŒááºážá áá±á¬ááºážááœááºáá±á¬ á á±á¬áá·áºááŒáá·áºáá±ážá áá áºááẠáá±áá¬á¡á¬ážáá¯á¶ážááᯠáá»ááºááŒááºá áœá¬ áááºáá¶áááŸáááŒá®áž áááºážááᯠá¡á áá»áá¯ážáá±á¬áºááŒáá»ááºáá»á¬ážááŸáá·áºá¡áá® áá¯ááºáá±á¬ááºááá·áºááẠ- áááºážáá á¶ááŸá¯ááºážáá»á¬ážá¡ááá¯ááºážá á á®áá¶áá±á¬ááºááœááºááŒá®ážáá±á¬ááºá á áá áºááẠáá±á¬ááºááá¯ááºážá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠáá±áá¬áá±á·á áºááœáẠá€áá±áá¬ááᯠá¡ááŒááºááááºážáááºážááá«áááºá
ááŸááºáááºážááá¯ááŸá±á¬ááºááŸá¯á áá±á¬ááºážááœááºáá±á¬ á á±á¬áá·áºááŒáá·áºáá±ážá áá áºááẠáá±áá¬áá±á·á áºáá áºáá¯ááœáẠááŸááºáááºážáá»á¬ážááᯠááááºážáááºážáá¬ážááá·áºááŒá®áž áááºááá áºáá»á¬ážááᯠááœááºáá°á áœá¬ áááºáá±á¬ááºááá¯ááºá á±áááºááŒá áºáááºá ááŸááºáááºážáá»á¬ážá ááááºáá»á¬ážá á¡á áá»áá¯ážááŸá¯áá»á¬ážá á¡ááá·áºáááºááŸááºáá»ááºáá»á¬ážááŸáá·áº ááœááºáá»ááºáá¬ážáá±á¬ ááááá±ážáá»ááºáá±áá¬áá á¹á ááºážáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠááŸááºáááºážááᯠááá¯á¡ááºáá«áááºá
áááá¯ááºážááá¯ááŸááºážáááºážááŒááºážá áá áºáá«áá áºáá¶ááœáẠáááºááẠáááºááá áºáá»á¬ážááᯠááááºážáááºážááẠáááá¯á¡ááºááá·áº áá±á·áá áºáá±á· áá±á¬ááºáá¬áááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº ááœááºáá²á·ááá·áº 5 ááŸá áºá á á¯áá±á¬ááºážáá²á·áá±á¬ áá±áá¬ááᯠáá áºá ááá¯á·ááá¯áẠááŸá áºáá¡ááœááºáž ááá¯á¡ááºáááº- á¡áá»áá¯á·áá±á¬ node áá»á¬ážááᯠáá»ááºááá¯ááºáááºá á¡áá»áá¯á·áá±á¬ hosts ááá¯á·ááá¯áẠmetrics áá»á¬ážááẠáá±ááºáá±á¬ááºáá»áá±ááŒá®áž áá á¯áá±á¬ááºážáá±á¬á·áá±á¬ááŒá±á¬áá·áº áááá¯á¡ááºáá±á¬á·áá«á áá±á¬ááºážááœááºáá±á¬á á±á¬áá·áºááŒáá·áºáá±ážá áá áºááẠáá±áá¬áá±á·á áºáááŒá®ážááœá¬ážá á±áááºá¡ááœáẠáááá¯ááºážá¡áá»ááºá¡áááºáá»á¬ážááᯠááááºážáááºážááŒá®áž á¡áá«á¡á¬ážáá»á±á¬áºá áœá¬ áá»ááºáá áºááá·áºáááºá
áá±á¬ááºážááœááºážáá±áá±á¬áá±áá¬ááᯠááŸááºážáááºážááŒááºážááẠáá±áá¬áá±á·á áºá áœááºážáá±á¬ááºáááºááᯠáá»á¬ážá áœá¬ááááá¯ááºá á±ááá·áº á¡áá±ážááŒá®ážáá±á¬ááŒá¿áá¬áá áºáá¯ááŒá áºáááºá
Zabbix ááœáẠááááºážáááºážááŒááºážá
Zabbix ááœááºá áááááŸáá·áºáá¯ááááá±á«áºááá¯ááŸá¯áá»á¬ážááᯠcaching ááŒáá·áºááŒá±ááŸááºážáááºá RAM ááᯠáá±áá¬á á¯áá±á¬ááºážááŒá®áž áá¯ááºáá±á¬ááºááẠá¡áá¯á¶ážááŒá¯áááºá ááá¯ááŸá±á¬ááºááŸá¯á¡ááœáẠ- á¡á áá»áá¯ážáá»á¬ážá ááááºáá»á¬ážááŸáá·áº ááœááºáá»ááºáá¬ážáá±á¬ áá±áá¬ááŒááºá ááºáá»á¬ážááœáẠááŸááºáááºážá áá±áá¬áá±á·á áºáááºááœáẠá¡ááŒá±áá¶ááœá±ážáá»ááºááŸá¯áá»á¬ážá á¥ááá¬á ááááºáá áºáá»á¬ážá¡ááœáẠáááºááŸáºá¡áá»áá¯á·ááŸááááºá
Zabbix áá¬áá¬ááá±ážááœáẠCaching áááº-
- ConfigurationCache;
- ValueCache;
- HistoryCache;
- TrendsCacheá
áá°ááá¯á·ááá¯á¡áá±ážá áááºáá¯á¶ážáááºááŒáá·áºáá¡á±á¬ááºá
ConfigurationCache
á€áááºááŸá¬ áá»áœááºá¯ááºááá¯á·ááẠáááºááá áºáá»á¬ážá ááá¯á·á áºáá»á¬ážá áá±áá¬áá á¹á ááºážáá»á¬ážá á¡á áá»áá¯ážááŸá¯áá»á¬áž - ááŒáá¯áááºáá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠáá»áœááºá¯ááºááá¯á·ááá¯á¡ááºááá»áŸááŸáá·áº áá±áá¬á á¯áá±á¬ááºážááŒááºážá¡ááœáẠáá»áœááºá¯ááºááá¯á·ááááºážáááºážááá·áº á¡ááá cache ááŒá áºáááºá
áá±áá¬áá±á·á
áºááœááºáááá¯á¡ááºáá±á¬áá±ážááœááºážáá»á¬ážááá¯ááááºáá®ážáááºá€á¡áá¬á¡á¬ážáá¯á¶ážááᯠConfigurationCache ááœááºááááºážáááºážáá¬ážáááºá áá¬áá¬á
áááºááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠá€áááºááŸáºááᯠá¡ááºááááºáá¯ááºáᬠááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶áá»á¬ážááᯠá¡áá»áááºááŸáá·áºáááŒá±ážáá® á¡ááºááááºáá¯ááºáá«á
áá±áá¬á á¯áá±á¬ááºážááŒááºážá
áá¯á¶ááŒááºážááẠá¡ááœááºááŒá®ážáá¬ážáá±á¬áºáááºáž áááºážááœáẠá¡áááá¡áá¬ááŒá áºáááºá ááœá±ážáá»ááºáá°áá»á¬áž. áááºážááá¯á·ááẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ "áá²ááá¹áááŸááºáá»á¬áž" - á á¯áá±ážááŒááºážáá¯ááºáááºážá ááºáá»á¬ážááŒá áºáááºá ááœá²ááŒá¬ážáá±á¬ á ááºážáá±ážááœá² á¡áá»áá¯ážá¡á á¬ážáá»á¬ážá¡ááœáẠáááºážááá¯á·ááœáẠáá¬áááºááŸááááº- SNMPá IPMI ááŸáááá·áº áá±áá¬áá»á¬ážááᯠá á¯áá±á¬ááºážááŒá®áž áááºážááá¯á·á¡á¬ážáá¯á¶ážááᯠPreProcessing ááá¯á· ááœáŸá²ááŒá±á¬ááºážáá«á
á á¯áá±á¬ááºážáá°áá»á¬ážááẠáááá¹áá±á¬áºáá±á¬ááºááŒáá·áº ááœááºáá¬ážáááºá
Zabbix ááẠá á áºáá±ážááŸá¯áá»á¬áž áá±á«ááºážá ááºážááẠááá¯á¡ááºááá·áº áá±á«ááºážá ááºážááŸá¯ááᯠááœááºáá»ááºáá¬ážáááºá áááºážááá¯á·ááŸááá«á áá»áœááºá¯ááºááá¯á·ááẠáááºážááá¯á·á¡ááœáẠáá±áá¬ááᯠValueCache á០ááá¯ááºááá¯ááºááá°áá«áááºá
Preprocessing HistoryCache
á á¯áá±á¬ááºážáá°á¡á¬ážáá¯á¶áž á¡áá¯ááºáááºáá¶ááẠConfigurationCache ááᯠá¡áá¯á¶ážááŒá¯áááºá ááá¯á·áá±á¬áẠáááºážááá¯á·á¡á¬áž PreProcessing ááá¯á· ááœáŸá²ááŒá±á¬ááºážáá±ážáááºá
PreProcessing ááẠPreProcessing á¡ááá·áºáá»á¬ážááᯠáááºáá¶áááŸáááẠConfigurationCache ááá¯á¡áá¯á¶ážááŒá¯áááºá áááºážááẠá€áá±áá¬ááᯠáááºážáááºážá¡áá»áá¯ážáá»áá¯ážááŒáá·áº áá¯ááºáá±á¬ááºáááºá
PreProcessing ááᯠá¡áá¯á¶ážááŒá¯á áá±áá¬ááᯠáá¯ááºáá±á¬ááºááŒá®ážáá±á¬ááºá áá¯ááºáá±á¬ááºáááºá¡ááœáẠHistoryCache ááœáẠááááºážáááºážáá«áááºá áááºážááẠáá±áá¬á á¯áá±á¬ááºážááŸá¯ááᯠá¡áá¯á¶ážáááºááŒá®áž Zabbix ááŸá áááºááá¯ááºáááºážá ááºááá¯á· áá»áœááºá¯ááºááá¯á· áááºááœá¬ážááẠ- ááŸááºáááºážáááºáá°ááŒá¯ááŒááºážááááºážááẠmonolithic áááá¯áá¬áááºáá¬ááŒá áºáá±á¬ááŒá±á¬áá·áºá
ááŸááºáá»ááº- PreProcessing ááẠá¡áá±á¬áºáá±ážáááºáá²áá±á¬ áá¯ááºáá±á¬ááºááŸá¯áá áºáá¯ááŒá áºáááºá v 4.2 ááŒáá·áº áááºážááᯠproxy ááá¯á· ááœáŸá±á·áá¬ážáááºá á¡áááºá ááá·áºááœáẠáá±áá¬ááŒááºá ááºáá»á¬ážááŸáá·áº á á¯áá±á¬ááºážááŸá¯á¡ááŒáááºáá±áá»á¬ážá áœá¬áá«ááŸááá±á¬ á¡ááœááºááŒá®ážáá¬ážáá±á¬ Zabbix ááŸááá«áá áááºážááẠá¡áá¯ááºááá¯ááá¯ááœááºáá°á á±áááºá
ValueCacheá ááŸááºáááºážááŸáá·áº áá±ááºáá±á á®ážááŒá±á¬ááºáž áááºááŸáº
History syncer ááẠáá±áá¬ááŒááºá ááºáá áºáá¯á á®ááᯠá¡ááºáááºááŒáá·áº áá¯ááºáá±á¬ááºáá±ážááá·áº á¡ááá áá¯ááºáááºážá ááºááŒá áºáááºá ááá¯ááá¯áááºááŸá¬ áááºááá¯ážáá áºáá¯á á®ááŒá áºáááºá
History syncer ááẠHistoryCache ááŸáááºááá¯ážáá»á¬ážááá¯áá°áᬠááœááºáá»ááºááŸá¯áá»á¬ážá¡ááœáẠtriggers áá»á¬ážááŸááá±ááŒááºážá¡ááœáẠConfiguration ááá¯á á áºáá±ážáááºá áá°ááá¯á·ááŸááá»áŸáẠááœááºáá»ááºáááºá
ááŸááºáááºážá áá·áºááºáá¯ááºáá°á á¡ááŒá áºá¡áá»ááºáá áºáá¯ááᯠáááºáá®ážáá±ážáááºá áááºááŸááºáá»ááºáá»á¬ážááŸáá·áº ááŸááºáááºážáá»á¬áž ááá¯á¡ááºáá«á ááááá±ážáá»ááºáá»á¬ážááᯠáááºáá®ážááẠá¡ááŸáááºááŒáŸáá·áºáá±ážáááºá áá±á¬ááºáááºááœá²áá¯ááºáá±á¬ááºááŸá¯á¡ááœáẠá¡á áá»áá¯ážááŸá¯áá»á¬ážááŸááá±áá«áá áááºážááẠáááá¯ááºážááá¬ážááá¯áááºáá±á¬ááºááŒááºážáááŒá¯ááẠValueCache ááœáẠá€áááºááá¯ážááᯠááááºážáááºážáá¬ážáááºá á€áááºááŸá¬ ValueCache ááẠá¡á áá»áá¯ážááŸá¯áá»á¬ážááŸáá·áº ááœááºáá»ááºáá¬ážáá±á¬ á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠááœááºáá»ááºááẠááá¯á¡ááºáá±á¬ áá±áá¬áá»á¬ážááŒáá·áº ááŒáá·áºáá±áá¯á¶ááŒá áºáááºá
History syncer ááẠá¡áá»ááºá¡áááºá¡á¬ážáá¯á¶ážááᯠáá±áá¬áá±á·á áºááá¯á· áá±ážááŒá®áž disk ááá¯á· á á¬áá±ážáááºá áá¯ááºáá±á¬ááºááŒááºáž áá¯ááºáááºážá ááºááẠá€áá±áá¬ááœáẠá¡áá¯á¶ážáááºáá«áááºá
áá±áá¬áá±á·á áºááœáẠááááºážáááºážááŒááºážá
áá±áá¬áá±á·á áºáááºááœáẠááááºáá áºáá»á¬áž ááá¯á·ááá¯áẠá¡á á®áááºáá¶áá»ááºáá»á¬ážááᯠáááºááŒáá·áºááŸá¯ááá¯ááá·áºá¡áá«ááœáẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ áááºááŸáºáá»á¬ážááŸááááºá
Innodb_buffer_pool
MySQL áááºááœááºáshared_buffers
PostgreSQL áááºááœááºáeffective_cache_size
Oracle áááºááŸá¬;shared_pool
DB2 áááºááŸá¬á
á¡ááŒá¬áž áááºááŸáºáá»á¬ážá áœá¬ ááŸááá«áááºá ááá¯á·áá±á¬áº áááºážááá¯á·ááẠáá±áá¬áá±á·á áºá¡á¬ážáá¯á¶ážá¡ááœáẠá¡áááááŒá áºáááºá áááºážááá¯á·ááẠááá·áºá¡á¬áž áá±ážááŒááºážáá»ááºáá»á¬ážá¡ááœáẠáááŒá¬áá ááá¯á¡ááºáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠRAM ááœáẠááááºážáááºážááá¯ááºá á±áá«áááºá áá®á¡ááœáẠáá°ááá¯á·ááŸá¬ ááá¯ááºááá¯ááºáááºážááá¬ááœá±ááŸááááºá
áá±áá¬áá±á·á áºá áœááºážáá±á¬ááºáááºááẠá¡áá±ážááŒá®ážáááºá
Zabbix áá¬áá¬ááẠá¡áá»ááºá¡áááºáá»á¬ážááᯠá¡áááºáááŒááºá á¯áá±á¬ááºážááŒá®áž áá±ážáááºá ááŒááºáááºá áááºááá·áºá¡áá« ValueCache ááá¯ááŒáá·áºááẠáááá¯ááºážááŸáááºáž áááºáá«áááºá áá¬ááºááœáŸááºážáá»á¬ážááŸáá·áº á¡á á®áááºáá¶á á¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá Zabbix APIáááºá¡ááºáá¬áá±á·á áºáá±á«áºááœáẠáááºáá±á¬ááºáá¬ážááá·áºá Zabbix API ááẠáá±áá¬áá±á·á áºááá¯áááºáá±á¬ááºááŒá®áž ááááºáá áºáá»á¬ážá á¡á á®áááºáá¶á á¬áá»á¬ážá ááŒá áºáááºá á¬áááºážáá»á¬ážááŸáá·áº áá±á¬ááºáá¯á¶ážáá±á«áºááŒá¿áá¬áá»á¬ážá¡ááœáẠááá¯á¡ááºáá±á¬áá±áá¬ááᯠáá¯ááºáá°áááºá
á¡ááŒááºá¡á¬áá¯á¶á¡ááœááº- Grafana. á€áááºááŸá¬ áá»áœááºá¯ááºááá¯á·áá¡áá¯á¶ážááŒá¯áá°áá»á¬ážááŒá¬ážááœáẠáá±áááºážá
á¬ážáá±á¬ááŒá±ááŸááºážáá»ááºáá
áºáá¯ááŒá
áºáááºá áááºážááẠZabbix API ááŸáááá·áº áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááŸáá·áº áá±áá¬áá±á·á
áºááá¯á· ááá¯ááºááá¯ááºáá±ážááá¯á·ááá¯ááºááŒá®áž áá±áá¬áááºáá¶ááŒááºážá¡ááœáẠááŒáá¯ááºááá¯ááºááŸá¯á¡áá»áá¯á·ááᯠáááºáá®ážáá±ážááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áºá ááááºáá»á¬ážááŸáá·áº á
ááºážáááºááŸá¯áá»á¬ážááᯠáá»ááºááŒááºá
áœá¬ áá±ážááá¯á·ááŒááºážááŸáá·áº ááá¯ááºáá®ááẠáá±áá¬áá±á·á
áºá ááá¯áá±á¬ááºážááŒá®áž ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ áá»áááºááŸáááŸá¯ ááá¯á¡ááºáá«áááºá
áá±áá¬ááá¯ááºáááºážááááºážááááºážáá±áž
Zabbix ááœáẠááááááŒá±á¬áẠá áœááºážáá±á¬ááºáááºá áááºáá±á«áºááŸá¯ááŸá¬ Housekeeper ááᯠá¡áá¯á¶ážááŒá¯á áááá¯ááºážááŸááºážáááºážááŒááºáž ááŒá áºáááºá áááºážááẠáááºáááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááá¯ááºáá¬ááẠ- áá±áá¬ááŒááºá ááºáá»á¬ážááẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬áž (áá±ááºáá±á á®ážááŒá±á¬ááºážáá»á¬áž) ááᯠáááºáá»á¬ážá¡ááœááºáž áááºáá»áŸááŒá¬á¡á±á¬áẠááááºážáááºážááááºááᯠááœáŸááºááŒáááºá
áá»áœááºá¯ááºááá¯á·ááẠTrendsCache ááá¯á¡áá»ááºá¡ááŒááºááœááºáá»ááºáááºá áá±áá¬áá±á¬ááºááŸááá±á¬á¡áá«á áá»áœááºá¯ááºááá¯á· áááºážááᯠáá áºáá¬áá®ááŒá¬ á á¯á ááºážááŒá®áž áááºážááŒá±á¬ááºážááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážá ááá¯ááºážááá áºáá»á¬ážááᯠááá¬ážáá»á¬ážááœáẠááŸááºáááºážáááºáá«áááºá
á¡áááºááááºážááẠáá¯á¶ááŸáẠâááœá±ážáá»ááºááŸá¯áá»á¬ážâ ááᯠá¡áá¯á¶ážááŒá¯á áá±áá¬áá±á·á áºá០á¡áá»ááºá¡áááºáá»á¬ážááᯠá áááºááŒá®áž áá»ááºáááºá á¡ááœááºážááá¯ááºáž áá¯ááºáááºážá ááºáá»á¬áž á á áœááºážáá±á¬ááºááẠááááºáá»á¬áž ááœáẠááœá±á·ááŒááºááá¯áẠááá²á·ááá¯á· áááºážááẠá¡ááŒá²áááºáž áááá±á¬ááºááŸá¯ áááŸááá±á
á¡áá®áá±á¬ááºááááºááẠHistory syncer ááẠá¡áááºáááŒáẠá¡áá¯ááºááŸá¯ááºáá±ááŒá±á¬ááºáž ááŒááááºá ááááºááŸá áááá¹áá±á¬áºáá±á¬ááºááááºááẠá¡áááºáááŒááºáááºáááºáá±ááá·áº á¡áááºá
á±á¬áá·áºááŒá
áºáááºá áá°áááºááŸááºáá¬ážááá·áº á¡áááºážá¡á¬ážáá¯á¶ážááᯠáá»ááºááẠáá±áá¬áá±á·á
áºááᯠá
á±á¬áá·áºáá±áááºá
á¡áááºááááºážááᯠáááºá¡áá»áááºááŸá¬ ááááºááá·áºáá²á á¥ááá¬á¡á¬ážááŒáá·áºá "Item ID" áá áºáá¯ááŸáááŒá®ážá áááºááẠáááºááŸááºáá¬ážáá±á¬á¡áá»áááºá¡ááœááºáž áá±á¬ááºáá¯á¶ážá¡áááºáž á ááá ááᯠáá»ááºááẠááá¯á¡ááºáááºá áá¯ááºáá«áááºá áá«áá¡ááœáŸááºážá¡á¬ážááŒáá·áºááŒá áºáá»ááºá ááá¯á·áá±á¬áº á¡áá»á¬ážá¡á¬ážááŒáá·áº áá±áá¬á¡ááœá²ááẠá¡ááœááºááŒá®ážáá¬ážááŒá®áž áá±áá¬áá±á·á áºááẠáá áºááºááŸáááºáᬠáááºááŸáºáá²ááá¯á· ááá·áºáá¬ážáá²ááŒá áºáááºá áááºážááẠá¡ááŒá²áááºážáá±áá¬áá±á·á áºá¡ááœáẠá¡ááœááºá á»á±ážááŒá®ážáá±á¬áá¯ááºáá±á¬ááºááŸá¯ááŒá áºááŒá®áž áá±áá¬áá±á·á áºáá¡ááœááºá¡á á¬ážáá±á«áº áá°áááºá á áœááºážáá±á¬ááºáááºááŒá¿áá¬áá»á¬ážááŒá áºáá±á«áºáá¬ááá¯ááºáááºá
á¡áááºááááºážá ááááºááᬠááœááºáááºá áááºá¡ááºáá¬áá±á·á áºááœáẠá¡áááºááááºážá¡ááœáẠ"á á®áá¶ááá·áºááœá²áá±ážá¡ááœá±ááœá±" ááœáẠáááºáááºáá áºáá¯ááŸááááºá á¡ááœááºážááá¯ááºážáá±ááºáá±á á®ážááŒá±á¬ááºážááŸááºáááºážá¡ááœáẠá¡ááœááºážááá¯ááºážáá±áá¬ááá¯ááºáááºážááááºážááááºážááŒááºážááᯠáá»áœááºá¯ááºááá¯á·ááááºááŒá®áž áááºážááᯠá á®áá¶ááá·áºááœá²áá±á¬á·áááºááá¯ááºáá«á
á¡áááºááááºážááᯠááááºáá¬ážááá¯ááºáááºá ááááºáá áºáá»á¬áž ááœááºáá¬áááº- á€ááá á¹á ááœáẠáááºááá·áºááŒá¿áá¬áá»á¬áž ááŸáááá¯ááºááááºážá ááááááŒá±á¬áẠá áœááºážáá±á¬ááºáááºá áááºáá±á«áºááŸá¯ááᯠááŒá±ááŸááºážááẠá¡áááºá¡áá¬á áá°áá®áá±ážááá¯ááºáááºáááºážá
Partitioning - partitioning ááá¯á·ááá¯áẠpartitioning
áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá áá»áœááºá¯ááºáá±á¬áºááŒáá¬ážáá±á¬ áááºá ááºáá±áá¬áá±á·á áºáá áºáá¯á á®ááœáẠááœá²ááŒá¬ážáá±á¬áááºážáááºážááŒáá·áº ááá¯ááºážááŒááºááŒááºážááᯠá á®á ááºáááºááŸááºáá¬ážáá«áááºá áá áºáá¯á á®ááœáẠááá¯ááºááá¯ááºáááºážááá¬ááŸááá±á¬áºáááºáž áá±áá¯áá»á¡á¬ážááŒáá·áº áááºáá°áááºá partition á¡áá áºáá áºáá¯áááºáá®ážááŒááºážááẠá¡áá»áá¯á·áá±á¬ááŒá¿áá¬áá»á¬ážááᯠáááŒá¬ááááŒá áºáá±á«áºá á±áááºá
áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá partitions áá»á¬ážááᯠáá áºáááºá¡ááœááºáž áááºáá®ážáá¬ážááá·áº data ááá¬á "setup" áá±á«áºáá°áááºá configure áá¯ááºáá«áááºá á ááºážáááºážá¡ááá¯ááºážá Partitioning ááᯠáá áºáááºáááºážáá¯ááºáá±ážáááºá á€áááºá¡áááºážáá¯á¶ážááŒá áºáááºá á¡áá¯ááºá¡áá áºá áá±ááºáá±á á®ážááŒá±á¬ááºážáá»á¬ážá¡ááœáẠ- 1 áá
"áááºáááºááŸá¯" ááẠá¡ááœááºááŒá®ážáá¬ážáá«á áááºááá¯ážáá»á¬áž ááŒá±á¬ááºážáá²ááá¯ááºáááºá á¡áááºá áá±ážáááºáá±á¬ "áááºáááºááŸá¯" ááẠ5 nvps (áá áºá áá¹ááá·áºáá»áŸáẠáááºááá¯ážá¡áá áºáá»á¬áž)á á¡áááºá¡áááºáá áºáá¯ááẠ000 á០5 ááŒá áºááŒá®ážá á¡ááŒá®ážáá áºáá¯ááẠ000 nvps á¡áááºááŒá áºáááºá áááºážááá¯á·ááẠáá±áá¬áá±á·á áºá ááá¯áá áá¯ááºááœá²á·á ááºážááŸá¯ááá¯á¡ááºáá±á¬ ááŒá®ážáá¬ážááŒá®áž á¡ááœááºááŒá®ážáá¬ážáá±á¬ áááºáááºááŸá¯áá»á¬ážááŒá áºáááºá
á¡ááœááºááŒá®ážáá¬ážáá±á¬ áááºáááºááŸá¯áá»á¬ážááœááºá áá áºáááºáá¬áá¬áááẠá¡áá±á¬ááºážáá¯á¶ážáááŒá áºááá¯ááºáá«á áá»áœááºá¯ááºááẠáá áºáá±á·áá»áŸáẠ40 GB ááá¯á·ááá¯áẠááá¯á·áááºááá¯áá±á¬ MySQL á¡ááá¯ááºážáá»á¬ážááᯠááŒááºáá°ážáááºá áááºážááẠááŒá¿áá¬áá»á¬ážááᯠááŒá áºá á±ááá¯ááºááŒá®áž áá»áŸá±á¬á·áá»ááẠááá¯á¡ááºááá·áº áá±áá¬ááá¬á á¡ááœááºáá»á¬ážááŒá¬ážáááºá
Partitioning á áá¬áá±ážáá²á
ááá¬ážáá»á¬ážááᯠá¡ááá¯ááºážááá¯ááºážááœá²ááŒááºážá. áá»á¬ážáá±á¬á¡á¬ážááŒáá·áº áááºážááá¯á·ááẠdisk áá±á«áºááŸá áá®ážááŒá¬ážááá¯ááºáá»á¬ážááŒá áºáááºá query plan ááẠpartition áá áºáá¯á¡á¬áž ááá¯áá¡áá±á¬ááºážáá¯á¶ážááœá±ážáá»ááºáááºá á¡áá»á¬ážá¡á¬ážááŒáá·áº á¡ááá¯ááºážááœá²ááŒááºážááᯠá¡ááá¯ááºážá¡ááŒá¬ážá¡ááá¯áẠá¡áá¯á¶ážááŒá¯ááẠ- áááºážááẠZabbix á¡ááœááºáááºáž ááŸááºáá«áááºá áá»áœááºá¯ááºááá¯á·ááẠááá¯áá±áá¬ááœáẠ"á¡áá»áááºáá¶ááááº" ááá¯á¡áá¯á¶ážááŒá¯ááẠ- áá±ááºáá¡á ááááºážáá¡áá»áááºááŒá áºáááºá á€á¡áá¬áá»á¬ážááẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠáá¬áááºááááºážááááºážáá»á¬ážááŒá áºáááºá áááºáá±á·áá¡á ááŸáá·áºá¡áá¯á¶ážááá¯áááºááŸááºááẠ- á€áááºá¡ááá¯ááºážááá¯ááºážáá áºáá¯ááŒá áºáááºá
á¡ááŒááºáááºááŸá¬ážááŒááºážá - DELETE
. áá»ááºáááºá¡ááœáẠá¡áááºážááœá±ážáá»ááºááŒááºážááẠááá¯ááº/subtable áá
áºáá¯á¡á¬áž ááœá±ážáá»ááºáá¬ážáááºá
áá±áᬠáá¯ááºáá°ááŸá¯ááᯠáááááá¬áᬠááŒááºáááºá
á±áááºá SELECT
- ááá¬ážáá
áºáá¯áá¯á¶ážááẠáá
áºáᯠááá¯á·ááá¯áẠáá
áºáá¯áááºááá¯áá±á¬ á¡ááá¯ááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºá á¡áááºá áááºááẠááŸá
áºáááºáááºáááºážááŸááá±á¬ áá±áá¬ááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯áá«áá áá±áá¬áá±á·á
áºá០ááá¯ááºáá
áºááá¯ááºááᯠáááºááŸáºáá²ááá¯á·áááºááŒá®áž ááŒá®ážáá¬ážáá±á¬ááá¬ážááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºážááᯠáá±áá¬áá±á·á
áºá០á¡ááŒááºááŒááºáá°áááºááŒá
áºáááºá
áá»á¬ážáá±á¬á¡á¬ážááŒáá·áº áá±áá¬áá±á·á
áºááœá±áááºáž á¡ááŸáááºááŒáŸáá·áºáááºáá«áááºá INSERT
- ááá±ážá
á¬ážááœá²ááá¯á· ááá·áºááœááºážááŒááºážá
áááºá¹ááá¬áá«
v 4.2 á¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠTimescaleDB ááá¯á· áá»áœááºá¯ááºááá¯á·á á¡á¬áá¯á¶á áá¯ááºááŸá¯ááá¯á· áá°ážááŒá±á¬ááºážáá²á·áááºá áááºážááẠáá°áááºážá¡ááºáá¬áá±á·á áºáá«ááŸááá±á¬ PostgreSQL á¡ááœáẠááá¯ážáá»á²á·ááŸá¯áá áºáá¯ááŒá áºáááºá áááºá ááºáá±áá¬áá±á·á áºáá»á¬ážá á¡áá»áá¯ážáá»á±ážáá°ážáá»á¬ážááᯠááá¯á¶ážááŸá¯á¶ážá á±áá² á¡áá»áááºá á®ážáá®ážáá±áá¬ááŒáá·áº ááá¯ážáá»á²á·ááŸá¯á¡á¬áž áááá±á¬ááºá áœá¬áá¯ááºáá±á¬ááºáááºá TimescaleDB áááºáááºáž á¡ááá¯á¡áá»á±á¬áẠá¡ááá¯ááºážááœá²áááºá
TimescaleDB ááœáẠá¡áá°á¡ááá áºáá¯ááŸááááºá á á¬ážááœá²áááºáá¯á¶ áááºáááºáá®ážáá±á¬ (hypertable)á ááá«áááºááẠá¡áá¯á¶ážáá»á¬áž - partitions áá»á¬ážá á¡ááá¯ááºážá¡á áá»á¬ážááẠá¡ááŒá¬ážá¡ááá¯ááºážá¡á áá»á¬ážááᯠáááááá¯ááºá á±áá±á¬ hypertable á¡ááá¯ááºážá¡á áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬áẠá á®áá¶ááá·áºááœá²áá«áááºá á¡ááá¯ááºážáá áºáá¯á á®ááœáẠáááºážáááá¯ááºááá¯ááºá¡áá»áááºá¡ááá¯ááºážá¡ááŒá¬ážááŸááááºá
TimescaleDB ááŸáá·áº PostgreSQL
TimescaleDB ááẠá¡ááŸááºáááẠáááá±á¬ááºá áœá¬ á¡áá¯ááºáá¯ááºáá«áááºá ááá¯ážáá»á²á·ááŸá¯á áá¯ááºáá¯ááºáá°áá»á¬ážááẠá¡áá°ážáááŒáá·áº inserts ááá¯ááá¯ááŸááºáááºáá±á¬ áá±ážááŒááºážááŸá¯áá¯ááºáá±á¬ááºááŒááºážááá¯ááºáᬠá¡ááºáááá¯áá®áááºááᯠá¡áá¯á¶ážááŒá¯áááºáᯠááá¯ááŒáááºá áá±áá¬á¡á á¯á¶ááá·áºááœááºážááá·áº á¡ááœááºá¡á á¬áž ááŒá®ážááœá¬ážáá¬áááºááŸáá·áºá¡áá»áŸ á¡ááºáááá¯áá®áááºááẠá¡áááºáááŒáẠá áœááºážáá±á¬ááºáááºááᯠááááºážááááºážáá¬ážáááºá
á¡áááºážáá±á«ááºáž áááºáž 200 ááŒá®ážáá±á¬ááºá PostgreSQL ááẠá¡áá»á¬ážá¡á¬ážááŒáá·áº áááááá¬áᬠáá¯ááºáá¯ááºáá¬ááŒá®áž á
áœááºážáá±á¬ááºááẠ0 ááá¯á· áá¯á¶ážááŸá¯á¶ážááœá¬ážáá«áááºá TimescaleDB ááẠááá·áºá¡á¬áž áááºááá·áºáá±áá¬ááá¬áá¡ááœááºáááᯠâááá·áºááœááºážááŸá¯áá»á¬ážâ ááᯠáááááá±á¬ááºáá±á¬áẠááá·áºááœááºážááá¯ááºá
á±áá«áááºá
ustanovka
TimescaleDB ááᯠááá·áºááœááºážááŒááºážááẠáááºááá·áºáááºáá±á·áá»áºá¡ááœááºáááᯠááœááºáá°áá«áááºá IN
Zabbix áá±áá¬áá±á·á áºá¡ááœáẠáá»áœááºá¯ááºááá¯á·ááẠááá¯ážáá»á²á·ááŸá¯ááᯠááá¯ážááá¯ážááŸááºážááŸááºáž á¡áááºááœááºážáááº-
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
áááºá¡áááºááœááºážáá«á extension
Zabbix database á¡ááœáẠáááºáá®ážáá«á áá±á¬ááºáá¯á¶ážá¡ááá·áºááŸá¬ hypertable áá
áºáá¯ááᯠáááºáá®ážáááºááŒá
áºáááºá
áááá¯ááºážááá¬ážáá»á¬ážááᯠTimescaleDB ááá¯á· ááŒá±á¬ááºážááœáŸá±á·ááŒááºážá
áá®á¡ááœáẠá¡áá°ážáá¯ááºáá±á¬ááºáá»ááºáá
áºáá¯ááŸááá«áááºá 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
function ááœáẠparameter áá¯á¶ážáá¯ááŸááááºá ááá- áá±áá¬áá±á·á
áºááœááºááá¬ážhypertable áá
áºáá¯ááᯠáááºáá®ážááẠááá¯á¡ááºáááºá áá¯ááá- áááºáá¬áááºáááºáá®ážáááºááá¯á¡ááºááá·áºá¡ááá¯ááºážá chunk_time_interval
- á¡ááá¯ááºážááœá²á¡ááá¯ááºážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááá·áºáá¬áá áá«á·ááá
á¹á
ááœááºá ááŒá¬ážáá¬ááááºáá
áºáá±á· - áá,ááá ááŒá
áºáááºá
áááááááºááŸááºáá»áẠ- migrate_data
. áááºááŸááºááẠtrue
ááá¯á·áá±á¬áẠáááºááŸááá±áá¬á¡á¬ážáá¯á¶ážááᯠááŒáá¯áááºáááºáá®ážáá¬ážááá·áºá¡ááá¯ááºážáá»á¬ážááá¯á· ááœáŸá²ááŒá±á¬ááºážáá±ážáááºá áá«ááá¯ááºááá¯ááºáá¯á¶ážáááºá migrate_data
. áá»áœááºáá±á¬á·áºááŸá¬ 1 TB áá±á¬ááºááŸááá±á¬á· áá
áºáá¬áá®áá»á±á¬áºááŒá¬áááºá á¡áá»áá¯á·áá±á¬ááá
á¹á
áá»á¬ážááœááºá á
ááºážáááºáá±á
ááºááœááºáááºá ááááºážáááºážáááºáááá¯á¡ááºáá±á¬ áá¬ááºáá±á¬ááºá¡áá»áá¯ážá¡á
á¬ážáá»á¬ážá áááá¯ááºážá¡áá»ááºá¡áááºááᯠáá»ááºááá¯ááºáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááᯠáááœáŸá²ááŒá±á¬ááºážááá¯ááºáá«á
áá±á¬ááºáá¯á¶ážá¡ááá·áº - UPDATE
: ááŸá¬ db_extension
áá¬áž timescaledb
ááá¯á·ááŸáᬠáá±áá¬áá±á·á
áºááẠá€ááá¯ážáá»á²á·ááŸá¯ááŸáááŒá±á¬ááºáž áá¬ážáááºááá¯ááºáááºááŒá
áºáááºá Zabbix ááẠáááºážááᯠá¡áááºááœááºážááŒá®áž TimescaleDB á¡ááœáẠááá¯á¡ááºáá±á¬ áá±áá¬áá±á·á
áºááá¯á· á¡áá¬ážá¡ááá¯ááŸáá·áº áá±ážááŒááºážáá»ááºáá»á¬ážááᯠááŸááºáááºá
áœá¬ á¡áá¯á¶ážááŒá¯áá«áááºá
áá¬á·ááºáá²ááœá²á·á ááºážááŸá¯
áá¬áá¬ááŸá áºáá¯ááá¯áá¯á¶ážáá²á·áááºá ááá- VMware á ááº. áááºážááẠá¡ááœááºáá±ážáááºáááº- 20 Intel® Xeon® CPU E5-2630 v 4 @ 2.20GHz áááá¯áááºáá¬áá»á¬ážá 16 GB RAM ááŸáá·áº 200 GB SSD á
PostgreSQL 10.8 ááᯠDebian 10.8-1.pgdg90+1 OS ááŸáá·áº xfs ááá¯ááºá áá áºááŒáá·áº áááºážááœáẠááá·áºááœááºážáá²á·áááºá áá®áá±áá¬áá±á·á áºááᯠá¡áá¯á¶ážááŒá¯ááá¯á·á¡ááœáẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠá¡áááºážáááºáá»áŸáᬠá á®á ááºáá±ážáá¬ážáá«áááºá Zabbix ááá¯ááºááá¯ááºá á¡áá¯á¶ážááŒá¯ááá·áºá¡áá¬ááᯠá¡áá¯ááºááá¹ááá¬áá±á¬ááºáá«áááºá
áá°áá®áá±á¬á
ááºááœáẠZabbix áá¬áá¬á PostgreSQL ááŸáá·áº á¡á±ážáá»áá·áºáá»á¬ážááá¯áááºáá«á. áá»áœááºá¯ááºááœáẠá¡áá¯á¶ážááŒá¯áá±áá±á¬ áááºááŒáœáá±á¬ á¡á±ážáá»áá·áº á
á ááŸááááºá LoadableModule
ááá°áá®áá±á¬ááááºáá»á¬ážááᯠáá»ááºááŒááºá
áœá¬áááºáá®ážáááº- áá¶áá«ááºáá»á¬ážá ááŒáá¯ážáá»á¬ážá áá±áá¬áá±á·á
áºááᯠáá±áá¬áá»á¬ážá
áœá¬áá²á· ááŒáá·áºáá²á·áááºá
á¡á ááá¯ááºážááŸá¬áá±á¬á· configuration áá«áá«áááºá 5 ááẠhost áá áºáá¯á á®á¡ááœááºáá±áá¬á á¡á áááºá¡ááá¯ááºážááá¯ááºážáá®ážáá«ážááœáẠáááºážááᯠá á áºááŸááºáá±á¬ááá·áºááœááºážááŸá¯áá»á¬ážááŸáá·áº áááºáá°á á±ááẠá¡á áá»áá¯ážáá áºáá¯áá«ááŸááááºá á¡áá»áá¯á·ááá á¹á áá»á¬ážááœáẠá¡á áá»áá¯ážááŸá¯áá áºáá¯áááºááá¯áá«áááºá network node áá áºáá¯á¡ááœáẠ3-000 á¡á áá»áá¯áž.
áá±áá¬á¡ááŒá±á¬ááºážá¡áᬠá¡ááºááááºááŒá¬ážáá¬á â á áá¹ááá·áº áá-áá. á¡á±ážáá»áá·áº 50 ááá¯áá¬áá¬áá á¡ááá¯ááá·áºááŒááºážááŒáá·áº áááºááᯠáá°á·áá¬áá¬áá° ááááºážááŸááá±ážáá«áááºá ááá¯á·á¡ááŒááºá áá±áá¬ááŒááºá ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áááºá¡á¬ážááᯠá¡ááºááá¯ááºá¡á¬ážááá¯áẠáá»áááºááŸáááŒá®áž á¡ááºááááºááŒá¬ážáá¬áááᯠ4 á áá¹ááá·áºá¡áá áá»áŸá±á¬á·áá»áá²á·áááºá
PostgreSQL 35 nvps
á€áá¬á·ááºáá²ááœáẠáá»áœááºá¯ááºáááááá¯á¶ážáá¯ááºáá±á¬ááºááŸá¯ááẠáá áºá áá¹ááá·áºáá»áŸáẠ35,ááá áááºááá¯ážááŸááá±á¬ PostgreSQL á ááºáá±á«áºááœááºááŒá áºáááºá áááºááœá±á·ááŒááºáááá·áºá¡ááá¯ááºáž áá±áá¬ááá·áºááœááºážááŒááºážááẠáá áºá áá¹ááá·áºáá¡ááá¯ááºážá¡á áá»á¬áž ááŒá¬ááẠ- á¡áá¬á¡á¬ážáá¯á¶ážááẠáá±á¬ááºážááœááºááŒá®áž ááŒááºáááºáááºá áá áºáá¯áááºážáá±á¬á¡áá»ááºááŸá¬ 200 GB SSD disk ááẠáá»ááºááŒááºá áœá¬ ááŒáá·áºááœááºážááá¯ááºááŒááºážááŒá áºáááºá
áááºážááẠáá¯á¶ááŸáẠZabbix áá¬áá¬á
áœááºážáá±á¬ááºááẠáááºááŸáºáá¯ááºáá
áºáá¯ááŒá
áºáááºá
áááá¡ááŒá¬ááááºááẠáá
áºá
áá¹ááá·áºáá»áŸáẠáááºááá¯ážáá»á¬áž á¡áá±á¡ááœááºááŒá
áºáááºá áá¬áááºááŸá áá¯áááááááºááẠáááºáá±á¬ááºááŸá¯áá¯ááºáááºážá
ááºáá»á¬ážááᯠáááºáá±áááºá ááááá¡áá»ááºááŸá¬ á€áá±áá¬ááœáẠá¡áá»áááºá¡áá±á¬áºááŒá¬á¡á±á¬áẠáá¯ááºáá±á¬ááºáá±ááá·áº ááŸááºáááºážá
áá·áºááºáá¯ááºááŒááºážáá»á¬ážááŸáá·áº Housekeeper ááá¯á·á á¡ááœááºážááá¯ááºážáááºáá±á¬ááºááŸá¯ áá¯ááºáááºážá
ááºáá»á¬ážááᯠáááºáá±áááºá
á áá¯áá¹áááááºááẠHistoryCache á¡áá¯á¶ážááŒá¯ááŸá¯ááᯠááŒááááºá áááºážááẠáá±áá¬áá±á·á áºáá²ááá¯á· áááá·áºááœááºážáá® ááŒá¬ážáá¶á¡áá»áá¯ážá¡á á¬ážáá áºáá¯ááŒá áºáááºá á¡á áááºážáá±á¬ááºááá¹á áááááºááẠValueCache á¡áá¯á¶ážááŒá¯ááŸá¯ááá¯ááŒááááºá ááá¯ááá¯áááºááŸá¬ á¡á áá»áá¯ážááŸá¯áá»á¬ážá¡ááœáẠValueCache áááºáá»áŸááááŸááºááẠ- áááºážááẠáá áºá áá¹ááá·áºáá»áŸáẠáááºááá¯ážáá±á¬ááºáá±á«ááºážáá»á¬ážá áœá¬ááŒá áºáááºá
PostgreSQL 50 nvps
ááá¯á·áá±á¬áẠáá°áá®áá±á¬ áá¬á·ááºáá²ááœáẠáá áºá áá¹ááá·áºáá»áŸáẠ50 áááºááá¯ážá¡áá ááá¯ážááŒáŸáá·áºáá²á·áááºá
Housekeeper áá¶á០10 áááºááá¯ážááᯠááá·áºááœááºážááá·áºá¡áá« 2-3 á
áá¹ááá·áºááŒá¬áá«áááºá
á¡áááºááááºážá á¡áá¯ááºááŸá¬ á¡ááŸá±á¬áá·áºá¡ááŸááºááŒá
áºáá±ááŒá®á
ááááááááºááẠáá±áá°áá»á¡á¬ážááŒáá·áº trappers ááŸáá·áº history syncchers áá»á¬ážáá±á«áºááœáẠload ááẠ60% ááœááºááŸááá±áá±ážááŒá±á¬ááºážááŒááááºá á áá¯áá¹áááááºááœááºá HistoryCache ááẠHousekeeper áááºáááºááŸá¯á¡ááœááºáž á¡áá±á¬áºáá±ážáááºááŒáœá áœá¬ ááŒáá·áºá ááŒá¯áá±ááŒá®ááŒá áºáááºá áááºážááẠ20% á¡ááŒáá·áºááŒá áºááŒá®áž 0,5 GB ááá·áºááŸááááºá
PostgreSQL 80 nvps
ááŒá®ážáá±á¬á· áá áºá áá¹ááá·áºááᯠ80,ááá áááºááá¯ážá¡áá ááŒáŸáá·áºáááºááá¯ááºáááºá áááºážááẠááá·áºááŸááºážááŒá±á¡á¬ážááŒáá·áº 400 áá±áá¬ááŒááºá ááºáá»á¬ážááŸáá·áº 280 á¡á áá»áá¯ážááŸá¯áá»á¬ážááŒá áºáááºá
ááŸááºáááºáž syncchers XNUMX á loading áá¯ááºáá»á
ááááºááẠá¡áá±á¬áºáá±ážááŒáá·áºáá¬ážáá±ááŒá®ááŒá
áºáááºá
áá»áœááºá¯ááºááẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ ááá·áºáááºáá»ááºáá»á¬áž- áááá¯ááºážáááºáá°ááŒá¯ááŒááºážáá»á¬ážá áááºááŸáºáá»á¬ážááá¯áááºáž ááá¯ážááŒáŸáá·áºáá²á·áááºá
áá»áœááºá¯ááºá áá¬á·ááºáá²ááœááºá ááŸááºáááºážá
áá·áºááºáá¯ááºááŒááºážáá»á¬ážááᯠá¡ááŒáá·áºáá¯á¶ážá¡áá ááá¯ážáá¬ážáááºá HistoryCache ááẠáá±áá¬áá»á¬ážááŒáá·áº áá»ááºááŒááºá
áœá¬ ááŒáá·áºááœá¬ážááẠ- áá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠáá±áá¬ááᯠááŒá¬ážáá¶ááœáẠá
á¯áá±á¬ááºážáá¬ážáááºá
áááá¯áááºáá¬á RAM ááŸáá·áº á¡ááŒá¬ážá áá áºááá¯ááºáᬠááá·áºáááºáá»ááºáá»á¬ážááᯠáááºááá¯á·á¡áá¯á¶ážááŒá¯ááŒá±á¬ááºážááᯠá€áá áºááŒáááºááœáẠáá»áœááºá¯ááºáá±á·áá¬áá²á·ááŒá®áž áá áºááºá¡áá¯á¶ážááŒá¯ááŸá¯ááŸá¬ áááºážáá¡ááŒáá·áºáá¯á¶ážááŒá áºááŒá±á¬ááºáž ááœá±á·ááŸááá²á·áááºá
áá«á¡áá¯á¶ážááŒá¯ááŸá¯á¡á±á¬ááºááŒááºááŒá®á á¡áá»á¬ážáá¯á¶áž disk á
áœááºážáá±á¬ááºááẠဠhardware ááŸáá·áº ဠvirtual machine áá±á«áºááœááºá ááá¯áá²á·ááá¯á·ááŒááºážáááºááŸá¯ááŸáá·áºá¡áá° PostgreSQL ááẠáá±áá¬áá»á¬ážááᯠá¡áá±á¬áºáá±áž áááºááŒáœá
áœá¬ ááŒá¯ááºážáá®ážáá¬áá²á·ááŒá®áž disk ááœáẠáá±ážáá¬ážáááºááẠá¡áá»áááºáááŸááá±á¬á·áá«á
áá¯ááááá¬áá¬
áááá¯áááºáᬠ48 ááŸáá·áº 128 GB RAM áá«ááŒá®ážáá¬ážá¡ááŒá¬ážáá¬áá¬áá áºáá¯ááá¯áá°áá²á·áááºá á¡á²áá«ááᯠáá»áááºááŸáááŒá®áž - á¡á²áá«ááᯠ60 history syncer ááá¯á· áááºááŸááºááŒá®áž áááºáá¶ááá¯ááºáá²á· á áœááºážáá±á¬ááºáááºááᯠáááŸááá²á·áá«áááºá
ááááºáá±á¬á· áá«áᬠáá
áºáá¯áá¯áá¯ááºááá¯á·ááá¯á¡ááºáá²á· áá¯ááºáá¯ááºá
áœááºážá¡á¬ážáá²á· ááá·áºáááºáá»ááºááŒá
áºáá±áá«ááŒá®á
TimescaleDB 80 nvps
áá»áœááºá¯ááºáá¡ááááá¬áááºááŸá¬ Zabbix load ááá¯ááá·áºáá»ááºááá·áº TimescaleDB áá áœááºážáááºáá»á¬ážááá¯á ááºážáááºáááºááŒá áºáááºá áá áºá áá¹ááá·áºáá»áŸáẠáááºááá¯áž 80 ááẠáá»á¬ážááŒá¬ážáááºá áááºááá áºáá»á¬áž á á¯áá±á¬ááºážááá·áº á¡ááŒáááºáá± (Yandex ááŸááœá²á) ááŸáá·áº á¡ááœááºááŒá®ážáá¬ážáá±á¬ "áááºáááºááŸá¯" ááŒá áºáááºá
ááááºááá¯ááºážááœáẠáá»áááºážááœá¬ážááẠ- áááºážááẠá¡ááá¡áá» áá±áᬠááœáŸá±á·ááŒá±á¬ááºážááŒááºáž ááŒá
áºáááºá Zabbix áá¬áá¬ááœáẠáá»ááºááœááºááŒá®ážáá±á¬ááºá history syncer á loading profile ááẠáá»á¬ážá
áœá¬ááŒá±á¬ááºážáá²ááœá¬ážááẠ- áááºážááẠáá¯á¶ážááá»ááœá¬ážáááºá
TimescaleDB ááẠááá·áºá¡á¬áž áá±áá¬ááᯠá ááá®ážáá«áž ááá¯ááŒááºá á±ááŒá®áž HistoryCache ááᯠáá»áŸá±á¬á·áá¯á¶ážááẠááœáá·áºááŒá¯áááºá
ááá¯á·ááŒá±á¬áá·áº áááºááẠáá±áá¬áá»á¬ážááᯠá¡áá»áááºááŸáá·áºáááŒá±ážáá® áááŸááááºááŒá áºáááºá
TimescaleDB 120 nvps
ááá¯á·áá±á¬áẠáá±áá¬ááŒááºá ááºá¡áá±á¡ááœááºááᯠ500 ááá¯á·ááá¯ážá á¡ááááá¬áááºááŸá¬ TimescaleDB á áá¯ááºáá±á¬ááºááá¯ááºá áœááºážáá»á¬ážááᯠá ááºážáááºáááºááŒá áºááẠ- áá áºá áá¹ááá·áºáá»áŸáẠááœááºáá»ááºáááºááá¯áž 125 áááºááá¯áž áááŸááá²á·áá«áááºá
áááºážááẠá¡áá»áááºááŒá¬ááŒáá·áºá
áœá¬ á¡áá¯ááºáá¯ááºááá¯ááºáá±á¬ "áááºáááºááŸá¯" ááŒá
áºáááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá
áºááẠ1,5 TB áá¬ááŸááá±á¬ááŒá±á¬áá·áº áááºá¡áááºážáááºá¡ááœááºáž áá»áœááºá¯ááºááŒáá·áºááœááºážáá²á·áá«áááºá
á¡áá±ážááŒá®ážáá¯á¶ážá¡áá»ááºááŸá¬ TimescaleDB partitions á¡áá
áºáá»á¬ážááᯠáá
áºáá»áááºáááºážááœáẠáááºáá®ážáá¬ážááŒááºážááŒá
áºáááºá
áá«á á áœááºážáá±á¬ááºáááºá¡ááœáẠáá¯á¶ážááááááá¬ážáááá«áá°ážá á¥ááá¬á¡á¬ážááŒáá·áº MySQL ááœáẠpartitions áá»á¬ážááá¯áááºáá®ážáá±á¬á¡áá«á¡áá¬á¡á¬ážáá¯á¶ážáááºááœá²ááŒá¬ážáááºá áááºážááẠáá±áá¯áá»ááá·áºááœááºážááŒááºážááᯠááááºááá¯á·áá¬á ááá¬ážáá»á¬ážááŒáá·áº áá¯ááºáá±á¬ááºááá¯ááºááŒá®áž áááºáá±á¬ááºááŸá¯ááᯠááá¯ááœááºážáá»ááºá á®ážá á±ááá¯ááºáá±á¬ááŒá±á¬áá·áº áá¡áá»áááºááœáẠááŒá áºáááºáááºá áááºážááẠTimescaleDB ááŸáá·áºááááºááá¯ááºáá«á
á¥ááá¬á¡áá±áá²á·á á¡ááá¯ááºážá¡ááá¯ááºážááŸá áá°á¡áá»á¬ážáá¶á០ááááºáá áºáá¯ááᯠááŒáá«áááºá áá¯á¶ááœááºá áááá¯áááºáá¬áá±á«áºááŸá io.weight ááá¯á¡áá¯á¶ážááŒá¯ááá·áºáááºá¡á¬ážáá»áááºážááœá¬ážáá±á¬ááŒá±á¬áá·áº TimescaleDB ááá¯ááœáá·áºáá¬ážáááºá á¡ááœááºážááá¯ááºáž áá¯ááºáááºážá ááºááŒááºá ááºáá»á¬áž á¡áá¯á¶ážááŒá¯ááŸá¯áááºáž áá»á±á¬á·áááºážááœá¬ážáááºá ááá¯á·á¡ááŒááºá áááºážááẠSSD ááá¯ááºáá² áá¬ááẠpancake disks áá»á¬ážááŸá áá¬ááẠvirtual machine áá áºáá¯ááŒá áºáááºá
ááœá±á·ááŸááá»ááºáá»á¬áž
TimescaleDB ááẠá¡áá±ážá á¬áž "áááºáááºááŸá¯" á¡ááœáẠáá±á¬ááºážááœááºáá±á¬ ááŒá±ááŸááºážáá»ááºáá áºáá¯ááŒá áºáááºádisk á áœááºážáá±á¬ááºáááºááᯠáááºáá±á¬ááºááŸá¯ááŸááá±á¬á áá±áá¬áá±á·á áºááᯠáá¬á·ááºáá²ááá¯á· áááºááá¯ááºááá»áŸ ááŒááºááŒááºááŒá±á¬ááºážááœáŸá±á·ááŒá®ážáááºá¡áá áááºážááẠááá·áºá¡á¬áž áá±á¬ááºážááœááºá áœá¬ áááºáááºáá¯ááºáá±á¬ááºááá¯ááºá á±áááºááŒá áºáááºá
TimescaleDB ááẠconfigure áá¯ááºááẠááœááºáá°áááºá á áœááºážáá±á¬ááºááẠá¡ááŒááºáá»á¬áž áá±ážáááºá Zabbix ááŸáá·áº áá±á¬ááºážááœááºá áœá¬ á¡áá¯ááºáá¯ááºáá«áááºá PostgreSQL ááẠá¡á¬ážáá¬áá»ááºáá»á¬ážááŸááááºá.
á¡áááºá áááºááẠPostgreSQL ááá¯á¡áá¯á¶ážááŒá¯ááŒá®áž áááºážááá¯ááŒá±á¬ááºážáá²ááẠá¡á á®á¡á ááºáááŸááá«áá áá»áœááºá¯ááºá¡ááŒá¶ááŒá¯ááá¯áá«áááºá Zabbix ááŸáá·áº á¡áá° TimescaleDB ááá¯ážáá»á²á·ááŸá¯ááŒáá·áº PostgreSQL ááᯠá¡áá¯á¶ážááŒá¯áá«á. á€ááŒá±ááŸááºážáá»ááºááẠááŒá¬ážáᶠ"áááºáááºááŸá¯" á¡áá áááááá±á¬ááºáá±á¬áẠáá¯ááºáá±á¬ááºáááºá
"ááŒáá·áºáá¬ážáá±á¬á áœááºážáá±á¬ááºáááº" áá¯ááá¯áá±á¬á¡áá«áá»áœááºá¯ááºááá¯á·ááá¯ááá¯áááºá
HighLoad++ . áá¯á¶ážá áœá²áá° áááºážáá±á«ááºážáá»á¬ážá áœá¬ááᯠáááºáá±á¬ááºááŸá¯áá±ážááá¯ááºááẠáááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážááá·áº áááºážááá¬áá»á¬ážááŸáá·áº á¡áá±á·á¡áá»áá·áºáá»á¬ážá¡ááŒá±á¬ááºáž áá±á·áá¬ááẠáááºááẠá¡áá»áááºá¡ááŒá¬ááŒá®áž á á±á¬áá·áºááááá·áºáááºááá¯ááºáá«á á á¬áááºážá¡á á®áááºáá¶á á¬áá»á¬áž ááá¯áááºáá¬á 7 ááŸáá·áº 8 á¡ááœááºáá»áœááºá¯ááºááá¯á·á á¯á ááºážááŒá®ážáá«ááŒá®á áá«áá±ááá·áºáá®ááŸá¬ááœá±á·áá¯á¶ááœá²áá»á¬áž áá±á¬ááºáááºá¡ááŒá¶ááŒá¯ááá¯ááºáá«áááºááá»áœááºá¯ááºááá¯á·áᶠá á¬áááºážááœááºážáá«á
ááááºážááœáŸá¬ Оááœá±ážááá»ážá ᬠáá¬ááá·áºáá®áá¬áá¶áá¡ááºá¹áá«áááºáá»á¬ážááá¯áá»áœááºá¯ááºááá¯á·áá±á¬áºááŒááŒá®ážáááºážáá¡áá±á¬ááºážáá¯á¶ážááá¯áááºááá¯á·ááá°áááºááŸá¬ááœá±áá«á
source: www.habr.com