Zabbix ã¯ç£èŠã·ã¹ãã ã§ãã ä»ã®ã·ã¹ãã ãšåæ§ã«ããã¹ãŠã®ç£èŠã·ã¹ãã ã® XNUMX ã€ã®äž»èŠãªåé¡ãã€ãŸãããŒã¿ã®åéãšåŠçãå±¥æŽã®ä¿åãããã³ã¯ãªãŒãã³ã°ãšããåé¡ã«çŽé¢ããŠããŸãã
ããŒã¿ã®åä¿¡ãåŠçãèšé²ã®æ®µéã«ã¯æéãããããŸãã ããã»ã©å€§ããªããšã§ã¯ãããŸãããã倧èŠæš¡ãªã·ã¹ãã ã®å Žåãããã«ãã倧ããªé 延ãçºçããå¯èœæ§ããããŸãã ã¹ãã¬ãŒãžã®åé¡ã¯ããŒã¿ ã¢ã¯ã»ã¹ã®åé¡ã§ãã ãããã¯ã¬ããŒãããã§ãã¯ãããªã¬ãŒã«äœ¿çšãããŸãã ããŒã¿ ã¢ã¯ã»ã¹ã®é 延ãããã©ãŒãã³ã¹ã«åœ±é¿ããŸãã ããŒã¿ããŒã¹ã倧ãããªããšãç¡é¢ä¿ãªããŒã¿ãåé€ããå¿ èŠããããŸãã åé€ã¯é£ããæäœã§ããããªãœãŒã¹ãæ¶è²»ããŸãã
Zabbix ã§ã®åéããã³ä¿åäžã®é
延ã®åé¡ã¯ããã£ãã·ã¥ã«ãã£ãŠè§£æ±ºãããŸããããã€ãã®çš®é¡ã®ãã£ãã·ã¥ãããŒã¿ããŒã¹å
ã®ãã£ãã·ã¥ã§ãã XNUMXçªç®ã®åé¡ã解決ããã«ã¯ããã£ãã·ã¥ã¯é©ããªããããZabbixã¯TimescaleDBã䜿çšããŸããã 圌ãããã«ã€ããŠæããŠãããã§ããã ã¢ã³ãã¬ã€ã»ã°ã·ã¥ãã³ - ãã¯ãã«ã«ãµããŒããšã³ãžãã¢
TimescaleDB ã¯ã©ã®ããã«åäœããéåžžã® PostgreSQL ãšæ¯èŒããŠã©ã®ãããªããã©ãŒãã³ã¹ãåŸãããŸãã? Zabbix 㯠TimescaleDB ããŒã¿ããŒã¹ã«å¯ŸããŠã©ã®ãããªåœ¹å²ãæãããŸãã? ãŒãããå§ããæ¹æ³ãš PostgreSQL ãã移è¡ããæ¹æ³ããããŠã©ã®æ§æã®æ¹ãããã©ãŒãã³ã¹ãè¯ãã? ãã®ãã¹ãŠã«ã€ããŠã¯ã«ããã®äžã§ã
çç£æ§ã®èª²é¡
ãã¹ãŠã®ç£èŠã·ã¹ãã ã¯ãç¹å®ã®ããã©ãŒãã³ã¹ã®èª²é¡ã«çŽé¢ããŠããŸãã ãã®ãã¡ã® XNUMX ã€ãããŒã¿ã®åéãšåŠçãã¹ãã¬ãŒãžãå±¥æŽã®æ¶å»ã«ã€ããŠèª¬æããŸãã
é«éãªããŒã¿åéãšåŠçã åªããç£èŠã·ã¹ãã ã¯ããã¹ãŠã®ããŒã¿ãè¿ éã«åä¿¡ããããªã¬ãŒåŒã«åŸã£ãŠããã®åºæºã«åŸã£ãŠåŠçããå¿ èŠããããŸãã åŠçåŸãã·ã¹ãã ã¯ãã®ããŒã¿ãåŸã§äœ¿çšã§ããããã«ããŒã¿ããŒã¹ã«è¿ éã«ä¿åããå¿ èŠããããŸãã
å±¥æŽã¹ãã¬ãŒãžã åªããç£èŠã·ã¹ãã ã§ã¯ãå±¥æŽãããŒã¿ããŒã¹ã«ä¿åããã¡ããªã¯ã¹ã«ç°¡åã«ã¢ã¯ã»ã¹ã§ããããã«ããå¿ èŠããããŸãã å±¥æŽã¯ãã¬ããŒããã°ã©ããããªã¬ãŒããããå€ãããã³èšç®ãããã¢ã©ãŒã ããŒã¿é ç®ã§äœ¿çšããããã«å¿ èŠã§ãã
å±¥æŽãã¯ãªã¢ããŸãã å Žåã«ãã£ãŠã¯ãã¡ããªã¯ã¹ãä¿åããå¿ èŠããªããªãæ¥ãæ¥ãããšããããŸãã ãªã 5 幎åãXNUMX ïœ XNUMX ãæåã«åéãããããŒã¿ãå¿ èŠãªã®ã§ãããããäžéšã®ããŒãã¯åé€ãããŠãããäžéšã®ãã¹ããŸãã¯ã¡ããªã¯ã¹ã¯å€ããªã£ãŠåéãããªããªã£ãããäžèŠã«ãªã£ãŠããŸãã åªããç£èŠã·ã¹ãã ã§ã¯ãããŒã¿ããŒã¹ãå¢å€§ããªãããã«å±¥æŽããŒã¿ãä¿åããæã åé€ããå¿ èŠããããŸãã
å€ãããŒã¿ã®ã¯ãªãŒã³ã¢ããã¯ãããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ã«å€§ããªåœ±é¿ãäžããéèŠãªåé¡ã§ãã
Zabbix ã§ã®ãã£ãã·ã¥
Zabbix ã§ã¯ãæåãš XNUMX çªç®ã®åŒã³åºãã¯ãã£ãã·ã¥ã䜿çšããŠè§£æ±ºãããŸãã RAM ã¯ããŒã¿ã®åéãšåŠçã«äœ¿çšãããŸãã ã¹ãã¬ãŒãžçš - ããªã¬ãŒãã°ã©ããèšç®ãããããŒã¿èŠçŽ ã®å±¥æŽã ããŒã¿ããŒã¹åŽã§ã¯ãã°ã©ããªã©ã®åºæ¬çãªéžæã«å¯ŸããŠãã£ãã·ã¥ãè¡ãããŸãã
Zabbix ãµãŒããŒèªäœã®åŽã§ã®ãã£ãã·ã¥ã¯æ¬¡ã®ãšããã§ãã
- æ§æãã£ãã·ã¥;
- å€ãã£ãã·ã¥;
- å±¥æŽãã£ãã·ã¥;
- ãã¬ã³ããã£ãã·ã¥ã
ãããããã詳现ã«æ€èšããŠãã ããã
æ§æãã£ãã·ã¥
ããã¯ãã¡ããªã¯ã¹ããã¹ããããŒã¿é ç®ãããªã¬ãŒãªã©ãååŠçãšããŒã¿åéã«å¿ èŠãªãã®ãã¹ãŠãä¿åããã¡ã€ã³ ãã£ãã·ã¥ã§ãã
ããŒã¿ããŒã¹å
ã«äžèŠãªã¯ãšãªãäœæãããªãããã«ããããã¯ãã¹ãŠ ConfigurationCache ã«ä¿åãããŸãã ãµãŒããŒã®èµ·ååŸããã®ãã£ãã·ã¥ãæŽæ°ããæ§æãäœæããå®æçã«æŽæ°ããŸãã
ããŒã¿åé
ãã®å³ã¯éåžžã«å€§ããã§ããããã®äžã®äž»ãªãã®ã¯æ¬¡ã®ãšããã§ãã ã³ã¬ã¯ã¿ãŒã ãããã¯ããŸããŸãªãããŒã©ãŒããã€ãŸãçµã¿ç«ãŠããã»ã¹ã§ãã ãããã¯ããŸããŸãªã¿ã€ãã®ã¢ã»ã³ããªãæ åœããSNMPãIPMI çµç±ã§ããŒã¿ãåéããããããã¹ãŠ PreProcessing ã«è»¢éããŸãã
ã³ã¬ã¯ã¿ãŒã¯ãªã¬ã³ãžè²ã®æ ã§å²ãŸããŠããŸãã
Zabbix ã«ã¯ããã§ãã¯ãéèšããããã«å¿ èŠãªéèšé ç®ãèšç®ãããŠããŸãã ããããããå Žåã¯ããã®ããŒã¿ã ValueCache ããçŽæ¥ãã§ããããŸãã
ååŠçå±¥æŽãã£ãã·ã¥
ãã¹ãŠã®ã³ã¬ã¯ã¿ãŒã¯ãConfigurationCache ã䜿çšããŠãžã§ããåä¿¡ããŸãã 次ã«ãããããååŠçã«è»¢éããŸãã
PreProcessing ã¯ãConfigurationCache ã䜿çšã㊠PreProcessing ã¹ããããåãåããŸãã ãã®ããŒã¿ã¯ããŸããŸãªæ¹æ³ã§åŠçãããŸãã
PreProcessing ã䜿çšããŠããŒã¿ãåŠçããåŸãåŠçã®ããã« HistoryCache ã«ããŒã¿ãä¿åããŸãã ããã§ããŒã¿åéãçµäºããZabbix ã®ã¡ã€ã³ããã»ã¹ã«é²ã¿ãŸãã å±¥æŽåæè£ çœ®ã¢ããªã·ãã¯ã¢ãŒããã¯ãã£ãªã®ã§ã
泚: ååŠçã¯éåžžã«é£ããæäœã§ãã v 4.2 ã§ã¯ãããã·ã«ç§»åãããŸããã å€æ°ã®ããŒã¿èŠçŽ ãšåéé »åºŠãåããéåžžã«å€§èŠæš¡ãª Zabbix ãããå Žåãããã«ããäœæ¥ãã¯ããã«ç°¡åã«ãªããŸãã
ValueCacheãå±¥æŽãšãã¬ã³ãã®ãã£ãã·ã¥
History Syncer ã¯ãåããŒã¿èŠçŽ ãã€ãŸãåå€ãã¢ãããã¯ã«åŠçããã¡ã€ã³ããã»ã¹ã§ãã
å±¥æŽåææ©èœã¯ãHistoryCache ããå€ãååŸããèšç®çšã®ããªã¬ãŒã®ååšã«ã€ããŠæ§æããã§ãã¯ããŸãã ååšããå Žåã¯èšç®ãããŸãã
å±¥æŽåææ©èœã¯ãã€ãã³ããèšå®ã§å¿ èŠãªå Žåã«ã¢ã©ãŒããäœæããããã®ãšã¹ã«ã¬ãŒã·ã§ã³ãããã³èšé²ãäœæããŸãã åŸç¶ã®åŠçã®ããªã¬ãŒãããå Žåã¯ãå±¥æŽããŒãã«ã«ã¢ã¯ã»ã¹ããªãããã«ããã®å€ã ValueCache ã«ä¿åããŸãã ãã®ããã«ããŠãããªã¬ãŒãšèšç®èŠçŽ ã®èšç®ã«å¿ èŠãªããŒã¿ã ValueCache ã«æ ŒçŽãããŸãã
å±¥æŽåææ©èœã¯ãã¹ãŠã®ããŒã¿ãããŒã¿ããŒã¹ã«æžã蟌ã¿ããã£ã¹ã¯ã«æžã蟌ã¿ãŸãã 以äžã§å å·¥åŠçã¯çµäºãšãªããŸãã
ããŒã¿ããŒã¹å ã®ãã£ãã·ã¥
ã€ãã³ãã«é¢ããã°ã©ããã¬ããŒãã衚瀺ããå ŽåãããŒã¿ããŒã¹åŽã«ã¯ããŸããŸãªãã£ãã·ã¥ããããŸãã
Innodb_buffer_pool
MySQL åŽãshared_buffers
PostgreSQL åŽãeffective_cache_size
ãªã©ã¯ã«åŽãshared_pool
DB2åŽã
ä»ã«ãå€ãã®ãã£ãã·ã¥ããããŸããããããã¯ãã¹ãŠã®ããŒã¿ããŒã¹ã®äž»èŠãªãã®ã§ãã ãããã䜿çšãããšãã¯ãšãªã«ããå¿ èŠãšãªãããŒã¿ã RAM ã«ä¿åã§ããŸãã 圌ãã¯ãã®ããã®ç¬èªã®æè¡ãæã£ãŠããŸãã
ããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ã¯éèŠã§ã
Zabbix ãµãŒããŒã¯åžžã«ããŒã¿ãåéããæžã蟌ã¿ãŸãã åèµ·åãããšãå±¥æŽããèªã¿åããValueCache ã«æžã蟌ã¿ãŸãã ã¹ã¯ãªãããšã¬ããŒãã䜿çšãã Zabbix APIãWeb ã€ã³ã¿ãŒãã§ã€ã¹äžã«æ§ç¯ãããŠããŸãã Zabbix APIã¯ããŒã¿ããŒã¹ã«ã¢ã¯ã»ã¹ããã°ã©ããã¬ããŒããã€ãã³ããªã¹ããææ°å·ãªã©ã«å¿ èŠãªããŒã¿ãååŸããŸãã
èŠèŠåã®ããã« - ã°ã©ãã¡ãã ããã¯ãŠãŒã¶ãŒã®éã§äººæ°ã®ãããœãªã¥ãŒã·ã§ã³ã§ãã Zabbix API ãä»ããŠããŒã¿ããŒã¹ã«ãªã¯ãšã¹ããçŽæ¥éä¿¡ã§ããããŒã¿ã®åä¿¡ã«é¢ããŠäžå®ã®ç«¶åãçºçããŸãã ãããã£ãŠãçµæãšãã¹ããè¿
éã«æäŸããã«ã¯ãããŒã¿ããŒã¹ããã现ãããããé©åã«èª¿æŽããå¿
èŠããããŸãã
ãæäŒããã
Zabbix ã«ããã XNUMX çªç®ã®ããã©ãŒãã³ã¹ã®èª²é¡ã¯ãHousekeeper ã䜿çšããå±¥æŽã®ã¯ãªã¢ã§ãã ããã¯ãã¹ãŠã®èšå®ã«åŸããŸããããŒã¿èŠçŽ ã¯ãå€åã®ãã€ããã¯ã¹ (åŸå) ãä¿åããæéãæ¥åäœã§ç€ºããŸãã
TrendsCache ããã®å Žã§èšç®ããŸãã ããŒã¿ãå°çãããšãããã XNUMX æééèšããåŸåå€åã®ãã€ããã¯ã¹ãè¡šã«èšé²ããŸãã
ããŠã¹ããŒããŒã¯ãéåžžã®ãéžæãã䜿çšããŠããŒã¿ããŒã¹ããæ å ±ãéå§ããã³åé€ããŸãã å éšããã»ã¹ã®ããã©ãŒãã³ã¹ ã°ã©ããããããããã«ãããã¯åžžã«å¹æçã§ãããšã¯éããŸããã
èµ€ãã°ã©ãã¯ãå±¥æŽåææ©èœãåžžã«ããžãŒç¶æ
ã§ããããšã瀺ããŠããŸãã äžéšã®ãªã¬ã³ãžè²ã®ã°ã©ãã¯ãåžžã«å®è¡ãããŠãã Housekeeper ã§ãã 圌ã¯ãããŒã¿ããŒã¹ãæå®ãããã¹ãŠã®è¡ãåé€ããã®ãåŸ
ã¡ãŸãã
ããŠã¹ããŒããŒãç¡å¹ã«ããå¿ èŠãããã®ã¯ã©ã®ãããªå Žåã§ãã? ããšãã°ããã¢ã€ãã IDãããããäžå®æéå ã«æåŸã® 5 è¡ãåé€ããå¿ èŠããããšããŸãã ãã¡ãããããã¯ã€ã³ããã¯ã¹ã«ãã£ãŠè¡ãããŸãã ãã ããéåžžãããŒã¿ã»ããã¯éåžžã«å€§ãããããŒã¿ããŒã¹ã¯äŸç¶ãšããŠãã£ã¹ã¯ããèªã¿åããããããã£ãã·ã¥ã«çœ®ããŸãã ããã¯åžžã«ããŒã¿ããŒã¹ã«ãšã£ãŠéåžžã«ã³ã¹ãã®ãããæäœã§ãããããŒã¿ããŒã¹ã®ãµã€ãºã«ãã£ãŠã¯ããã©ãŒãã³ã¹ã®åé¡ãåŒãèµ·ããå¯èœæ§ããããŸãã
ããŠã¹ããŒããŒãç¡å¹ã«ããã®ã¯ç°¡åã§ãã Web ã€ã³ã¿ãŒãã§ãŒã¹ã®ã管çå šè¬ãã«ããŠã¹ããŒããŒçšã®èšå®ããããŸãã å éšãã¬ã³ãå±¥æŽã®å éšããŠã¹ããŒãã³ã°ãç¡å¹ã«ãã管çãããªããªããŸããã
ããŠã¹ããŒããŒããªãã«ãªããã°ã©ãã¯å¹³æºåãããŸããããã®å Žåãã©ã®ãããªåé¡ãèããããŸãã?ãŸããXNUMX çªç®ã®ããã©ãŒãã³ã¹ã®èª²é¡ã®è§£æ±ºã«äœã圹ç«ã€ã§ãããã?
ããŒãã£ã·ã§ãã³ã° - ããŒãã£ã·ã§ãã³ã°ãŸãã¯ããŒãã£ã·ã§ãã³ã°
éåžžãããŒãã£ã·ã§ãã³ã°ã¯ããªã¹ãããåãªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã§ç°ãªãæ¹æ³ã§æ§æãããŸãã ããããã«ç¬èªã®ãã¯ãããžãŒããããŸãããäžè¬çã«ã¯äŒŒãŠããŸãã æ°ããããŒãã£ã·ã§ã³ãäœæãããšãç¹å®ã®åé¡ãçºçããããšããããããŸãã
éåžžãããŒãã£ã·ã§ã³ã¯ãã»ããã¢ããããã€ãŸã 1 æ¥ã«äœæãããããŒã¿ã®éã«å¿ããŠæ§æãããŸãã ååãšããŠãããŒãã£ã·ã§ãã³ã°ã¯ XNUMX æ¥ã§çºè¡ãããŸããããã¯æå°éã§ãã æ°ãããããã®åŸåã«ã€ããŠã¯ãXNUMX ãæã§ãã
ãèšå®ããéåžžã«å€§ããå Žåãå€ãå€ããå¯èœæ§ããããŸãã å°èŠæš¡ãªãã»ããã¢ããããæ倧 5 nvps (000 ç§ãããã®æ°ããå€) ã§ããå ŽåãäžèŠæš¡ã®ãã»ããã¢ããã㯠5 ïœ 000ã倧èŠæš¡ãªãã»ããã¢ããã㯠25 nvps ãè¶ ããŸãã ãããã¯å€§èŠæš¡ããã³éåžžã«å€§èŠæš¡ãªã€ã³ã¹ããŒã«ã§ãããããŒã¿ããŒã¹ã®æ éãªæ§æãå¿ èŠã§ãã
éåžžã«å€§èŠæš¡ãªã€ã³ã¹ããŒã«ã§ã¯ã40 æ¥ãšããæéã¯æé©ã§ã¯ãªãå¯èœæ§ããããŸãã XNUMX æ¥ããã XNUMX GB 以äžã® MySQL ããŒãã£ã·ã§ã³ãèŠãããšããããŸãã ããã¯éåžžã«å€§éã®ããŒã¿ã§ãããåââé¡ãåŒãèµ·ããå¯èœæ§ããããããåæžããå¿ èŠããããŸãã
ããŒãã£ã·ã§ãã³ã°ã«ãã£ãŠäœãåŸãããã®ã§ãããã?
ããŒãã«ã®ããŒãã£ã·ã§ãã³ã°ã å€ãã®å Žåããããã¯ãã£ã¹ã¯äžã®å¥åã®ãã¡ã€ã«ã§ãã ã¯ãšãª ãã©ã³ã¯ãXNUMX ã€ã®ããŒãã£ã·ã§ã³ãããæé©ã«éžæããŸãã éåžžãããŒãã£ã·ã§ãã³ã°ã¯ç¯å²ã«ãã£ãŠäœ¿çšãããŸãããã㯠Zabbix ã«ãåœãŠã¯ãŸããŸãã ããã§ã¯ãã¿ã€ã ã¹ã¿ã³ãããã€ãŸãæ代ã®å§ãŸãããã®æéã䜿çšããŸãã ãããã¯ç§ãã¡ã«ãšã£ãŠã¯æ®éã®æ°åã§ãã äžæ¥ã®å§ãŸããšçµãããèšå®ããŸãããããããŒãã£ã·ã§ã³ã§ãã
çŽ æ©ãåãå€ã - DELETE
ã åé€ããè¡ãéžæããã®ã§ã¯ãªããXNUMX ã€ã®ãã¡ã€ã«/ãµãããŒãã«ãéžæãããŸãã
ããŒã¿æ€çŽ¢ã倧å¹
ã«é«éå SELECT
- ããŒãã«å
šäœã§ã¯ãªããXNUMX ã€ä»¥äžã®ããŒãã£ã·ã§ã³ã䜿çšããŸãã XNUMX æ¥åã®ããŒã¿ã«ã¢ã¯ã»ã¹ããå Žåã倧ããªããŒãã«ã§ã¯ãªã XNUMX ã€ã®ãã¡ã€ã«ããã£ãã·ã¥ã«ããŒãããŠè¿ãã ãã§ãããããããŒã¿ããŒã¹ããã®ããŒã¿ã®ååŸãéããªããŸãã
å€ãã®å Žåãå€ãã®ããŒã¿ããŒã¹ãé«éåãããŸã INSERT
â åããŒãã«ãžã®æ¿å
¥ã
ã¿ã€ã ã¹ã±ãŒã«DB
v 4.2 ã§ã¯ãTimescaleDB ã«æ³šç®ããŸããã ããã¯ããã€ãã£ã ã€ã³ã¿ãŒãã§ã€ã¹ãåãã PostgreSQL ã®æ¡åŒµæ©èœã§ãã ãã®æ¡åŒµæ©èœã¯ããªã¬ãŒã·ã§ãã« ããŒã¿ããŒã¹ã®å©ç¹ãæãªãããšãªããæç³»åããŒã¿ãå¹æçã«åŠçããŸãã TimescaleDB ã¯èªåçã«ããŒãã£ã·ã§ã³åå²ãè¡ããŸãã
TimescaleDBã«ã¯æŠå¿µããããŸã ãã€ããŒããŒãã« ããªããäœæãã (ãã€ããŒããŒãã«)ã ãå«ã ãã£ã³ã¯ - ããŒãã£ã·ã§ã³ã ãã£ã³ã¯ã¯èªåçã«ç®¡çããããã€ããŒããŒãã« ãã©ã°ã¡ã³ãã§ãããä»ã®ãã©ã°ã¡ã³ãã«ã¯åœ±é¿ãäžããŸããã åãã£ã³ã¯ã«ã¯ç¬èªã®æéç¯å²ããããŸãã
TimescaleDB ãš PostgreSQL
TimescaleDB ã¯éåžžã«å¹ççã«æ©èœããŸãã ãã®æ¡åŒµæ©èœã®è£œé å ã¯ãããæ£ç¢ºãªã¯ãšãªåŠçã¢ã«ãŽãªãºã ãç¹ã«inserts䜿çšããŠãããšäž»åŒµããŠããŸãã ããŒã¿ã»ããã®æ¿å ¥ãµã€ãºã倧ãããªã£ãŠããã¢ã«ãŽãªãºã ã¯äžå®ã®ããã©ãŒãã³ã¹ãç¶æããŸãã
éåžžã200 åè¡ãè¶
ãããšãPostgreSQL ã¯å€§å¹
ã«äœäžãå§ããããã©ãŒãã³ã¹ã 0 ãŸã§äœäžããŸããTimescaleDB ã䜿çšãããšãä»»æã®éã®ããŒã¿ã«å¯ŸããŠå¹ççã«ãæ¿å
¥ããæ¿å
¥ã§ããŸãã
ã€ã³ã¹ããŒã«
TimescaleDB ã®ã€ã³ã¹ããŒã«ã¯ãã©ã®ããã±ãŒãžã§ãéåžžã«ç°¡åã§ãã ã§
Zabbix ããŒã¿ããŒã¹ã®å Žåã¯ãæ¡åŒµæ©èœãã¢ã¯ãã£ãåããã ãã§ãã
echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix
ããªããã¢ã¯ãã£ãåããŸã extension
Zabbix ããŒã¿ããŒã¹çšã«äœæããŸãã æåŸã®ã¹ãããã¯ãã€ããŒããŒãã«ãäœæããããšã§ãã
å±¥æŽããŒãã«ã 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
ãã®é¢æ°ã«ã¯ XNUMX ã€ã®ãã©ã¡ãŒã¿ããããŸãã åã - ããŒã¿ããŒã¹å
ã®ããŒãã«ããã€ããŒããŒãã«ãäœæããå¿
èŠããããŸãã XNUMXçª - ãã£ãŒã«ããããã«å¿ããŠäœæããå¿
èŠããããŸã chunk_time_interval
â 䜿çšãããããŒãã£ã·ã§ã³ ãã£ã³ã¯ã®ééã ç§ã®å Žåãéé㯠86 æ¥ - 400 ã§ãã
XNUMXçªç®ã®ãã©ã¡ãŒã¿ - migrate_data
ã èšå®ããå Žå true
ããã®åŸãçŸåšã®ãã¹ãŠã®ããŒã¿ãäºåã«äœæããããã£ã³ã¯ã«è»¢éãããŸãã èªåã§ã䜿ã£ããã§ãã migrate_data
ã çŽ 1 TB ãããŸããããXNUMX æé以äžããããŸããã å Žåã«ãã£ãŠã¯ããã¹ãäžã«ä¿ç®¡ã«å¿
èŠã®ãªãæåçš®ã®å±¥æŽããŒã¿ãåé€ããŠã転éããªãããã«ããŸããã
æåŸã®ã¹ããã - UPDATE
ã§ïŒ db_extension
眮ã timescaledb
ããã«ãããããŒã¿ããŒã¹ã¯ãã®æ¡åŒµæ©èœãååšããããšãèªèã§ããããã«ãªããŸãã Zabbix ã¯ãããã¢ã¯ãã£ãã«ããæ§æãšããŒã¿ããŒã¹ãžã®ã¯ãšãªãæ£ãã䜿çšããŸãããããã®æ©èœã¯ TimescaleDB ã«å¿
èŠã§ãã
ããŒããŠã§ã¢æ§æ
XNUMXå°ã®ãµãŒããŒã䜿çšããŸããã åã - VMware ãã·ã³ã éåžžã«å°åã§ã: 20 åã® Intel® Xeon® CPU E5-2630 v 4 @ 2.20GHz ããã»ããµãŒã16 GB ã® RAMãããã³ 200 GB SSDã
Debian 10.8-10.8.pgdg1+90 OSãšxfsãã¡ã€ã«ã·ã¹ãã ã䜿çšããŠPostgreSQL 1ãã€ã³ã¹ããŒã«ããŸããã Zabbix èªäœã䜿çšãããã®ãé€ããŠããã®ç¹å®ã®ããŒã¿ããŒã¹ã䜿çšããããã«ãã¹ãŠãæå°éã«æ§æããŸããã
åããã·ã³äžã« Zabbix ãµãŒããŒãPostgreSQLãããã³ ããŒããšãŒãžã§ã³ãã 50 ã®ã¢ã¯ãã£ããªãšãŒãžã§ã³ãã䜿çšããŠããŸãã LoadableModule
ããŸããŸãªçµæ (æ°å€ãæåå) ãéåžžã«è¿
éã«çæããŸãã ããŒã¿ããŒã¹ã«å€§éã®ããŒã¿ãè©°ã蟌ã¿ãŸããã
æåã«å«ãŸããŠããæ§æ㯠5ã®èŠçŽ ãã¹ãããšã®ããŒã¿ã ã»ãŒãã¹ãŠã®èŠçŽ ã«ãå®éã®ã€ã³ã¹ã¿ã¬ãŒã·ã§ã³ãšåæ§ã«ããããã®ããªã¬ãŒãå«ãŸããŠããŸããã å Žåã«ãã£ãŠã¯ãè€æ°ã®ããªã¬ãŒããã£ãå ŽåããããŸãã XNUMX ã€ã®ãããã¯ãŒã¯ ããŒãã«ã€ããŠã¯ã 3 ïœ 000 ããªã¬ãŒ.
ããŒã¿é ç®ã®æŽæ°éé - 4-7ç§ã ãšãŒãžã§ã³ãã 50 åã ãã§ã¯ãªããããã«è¿œå ããããšã§è² è·èªäœã調æŽããŸããã ãŸããããŒã¿èŠçŽ ã䜿çšããŠè² è·ãåçã«èª¿æŽããæŽæ°ééã 4 ç§ã«ççž®ããŸããã
ãã¹ãã°ã¬SQLã 35 nvps
ãã®ããŒããŠã§ã¢ã§ã®æåã®å®è¡ã¯çŽç²ãª PostgreSQL ã§ãã - 35 ç§ããã 200 ã®å€ã ã芧ã®ãšãããããŒã¿ã®æ¿å ¥ã«ã¯ã»ãã®æ°ç§ããããããŸããããã¹ãŠãè¯å¥œã§é«éã§ãã å¯äžã®åé¡ã¯ãXNUMX GB SSD ãã£ã¹ã¯ãããã«ãã£ã±ãã«ãªã£ãŠããŸãããšã§ãã
ããã¯ãæšæºã® Zabbix ãµãŒã㌠ããã©ãŒãã³ã¹ ããã·ã¥ããŒãã§ãã
æåã®éãã°ã©ãã¯ãXNUMX ç§ãããã®å€ã®æ°ã§ãã å³åŽã® XNUMX çªç®ã®ã°ã©ãã¯ããã«ã ããã»ã¹ã®èªã¿èŸŒã¿ã瀺ããŠããŸãã XNUMX çªç®ã¯ãå
éšãã«ã ããã»ã¹ã®èªã¿èŸŒã¿ã§ããå±¥æŽåææ©èœãš Housekeeper ã¯ãããªãé·ãéããã§å®è¡ãããŠããŸãã
XNUMX çªç®ã®ã°ã©ãã¯ãHistoryCache ã®äœ¿çšç¶æ³ã瀺ããŠããŸãã ããã¯ããŒã¿ããŒã¹ã«æ¿å ¥ããåã®äžçš®ã®ãããã¡ã§ãã ç·è²ã® XNUMX çªç®ã®ã°ã©ãã¯ãValueCache ã®äœ¿çšç¶æ³ãã€ãŸãããªã¬ãŒã«å¯Ÿãã ValueCache ã®ãããæ°ã瀺ããŸãããã㯠XNUMX ç§ãããæ°åã®å€ã§ãã
ãã¹ãã°ã¬SQLã 50 nvps
次ã«ãåãããŒããŠã§ã¢ã§è² è·ã 50 ç§ããã XNUMX ã®å€ã«å¢å ããŸããã
Housekeeper ããããŒãããå Žåã10 åã®å€ãæ¿å
¥ããã®ã« 2 ïœ 3 ç§ããããŸããã
家æ¿å©Šã¯ãã§ã«ä»äºã«æ¯éããããå§ããŠããŸãã
60 çªç®ã®ã°ã©ãã¯ãäžè¬ã«ããã©ãããŒãšå±¥æŽåæã®è² è·ãäŸç¶ãšã㊠20% ã§ããããšã瀺ããŠããŸãã 0,5 çªç®ã®ã°ã©ãã§ã¯ãHousekeeper ã®æäœäžã« HistoryCache ããã§ã«ããªã掻çºã«åãããå§ããŠããŸãã XNUMX% ããã£ã±ããã€ãŸãçŽ XNUMX GB ã§ãã
ãã¹ãã°ã¬SQLã 80 nvps
次ã«ãè² è·ã 80 ç§ããã 400 å€ã«å¢å ããŸããã ããã¯ãçŽ 280 äžã®ããŒã¿èŠçŽ ãš XNUMX äžã®ããªã¬ãŒã«çžåœããŸãã
XNUMX åã®å±¥æŽåæã®èªã¿èŸŒã¿ã³ã¹ãã¯ãã§ã«ããªãé«ããªããŸãã
ãŸããå±¥æŽåææ©èœããã£ãã·ã¥ãªã©ãããŸããŸãªãã©ã¡ãŒã¿ãŒãå¢ãããŸããã
ç§ã®ããŒããŠã§ã¢ã§ã¯ãå±¥æŽåææ©èœã®è² è·ãæ倧ãŸã§å¢å ããŸããã HistoryCache ã¯ããã«ããŒã¿ã§ãã£ã±ãã«ãªããåŠççšã®ããŒã¿ããããã¡ã«èç©ãããŸããã
ãã®éãã£ãšãããã»ããµãRAMããã®ä»ã®ã·ã¹ãã ãã©ã¡ãŒã¿ãã©ã®ããã«äœ¿çšãããŠãããã芳å¯ãããã£ã¹ã¯äœ¿çšçãæ倧ã«ãªã£ãŠããããšãããããŸããã
çšéãéæããŸãã æ倧ãã£ã¹ã¯å®¹é ãã®ããŒããŠã§ã¢ãšãã®ä»®æ³ãã·ã³äžã§ã ãã®ãããªæ¿ããã«ãããPostgreSQL ã¯éåžžã«æŽ»çºã«ããŒã¿ããã©ãã·ã¥ãå§ãããã£ã¹ã¯ã«ã¯æžã蟌ã¿ãšèªã¿åããè¡ãæéããªããªããŸããã
ã»ã«ã³ããµãŒããŒ
ç§ã¯å¥ã®ãµãŒããŒã䜿çšããŸããããããã«ã¯ãã§ã« 48 åã®ããã»ããµãš 128 GB ã® RAM ãæèŒãããŠããŸããã ç§ã¯ããã調æŽãã60 å±¥æŽåæã«èšå®ãã蚱容å¯èœãªããã©ãŒãã³ã¹ãéæããŸããã
å®éãäœããè¡ãå¿
èŠãããå Žåãããã¯ãã§ã«çç£æ§ã®éçã§ãã
ã¿ã€ã ã¹ã±ãŒã«DBã 80nvps
ç§ã®äž»ãªã¿ã¹ã¯ã¯ãZabbix ã®è² è·ã«å¯Ÿã㊠TimescaleDB ã®æ©èœããã¹ãããããšã§ãã 80ç§ãããXNUMXäžã®å€ã¯å€ããã¡ããªã¯ã¹ãåéããé »åºŠïŒãã¡ããYandexãé€ãïŒããããŠããªã倧èŠæš¡ãªãã»ããã¢ãããã§ãã
ã©ã®ã°ã©ãã«ãããŒã¿ããããŸããããã¯ãŸãã«ããŒã¿ã®ç§»è¡ã§ãã Zabbix ãµãŒããŒã§é害ãçºçããåŸãå±¥æŽåæè£
眮ã®èªã¿èŸŒã¿ãããã¡ã€ã«ã倧å¹
ã«å€æŽãããXNUMX åãããããããŸããã
TimescaleDB ã䜿çšãããšãã»ãŒ 3 åã®éãã§ããŒã¿ãæ¿å ¥ããHistoryCache ã®äœ¿çšéãæžããããšãã§ããŸãã
ãããã£ãŠãã¿ã€ã ãªãŒã«ããŒã¿ãåãåãããšãã§ããŸãã
ã¿ã€ã ã¹ã±ãŒã«DBã 120nvps
次ã«ãããŒã¿èŠçŽ ã®æ°ã 500 ã«å¢ãããäž»ãªã¿ã¹ã¯ã¯ TimescaleDB ã®æ©èœããã¹ãããããšã§ãã - 125 ç§ããã XNUMX ã®å€ãšããèšç®å€ãåãåããŸããã
ããã¯ãé·æéã«ããã£ãŠæ©èœããæå¹ãªãã»ããã¢ãããã§ãã ããããç§ã®ãã£ã¹ã¯ã¯ 1,5 TB ãããªãã£ãã®ã§ãæ°æ¥ã§ãã£ã±ãã«ãªããŸããã
æãéèŠãªããšã¯ãåæã«æ°ãã TimescaleDB ããŒãã£ã·ã§ã³ãäœæãããããšã§ãã
ããã¯ããã©ãŒãã³ã¹äžã¯ãŸã£ããåé¡ãããŸããã ããšãã°ãMySQL ã§ããŒãã£ã·ã§ã³ãäœæãããå Žåã¯ããã¹ãŠãç°ãªããŸãã ããã¯éåžžãäžè¬çãªæ¿å ¥ãããŒãã«ã®æäœããããã¯ãããµãŒãã¹ã®äœäžãåŒãèµ·ããå¯èœæ§ããããããå€éã«çºçããŸãã TimescaleDB ã®å Žåã¯ããã§ã¯ãããŸããã
äŸãšããŠãã³ãã¥ããã£å ã®å€ãã®ã°ã©ããã XNUMX ã€ã®ã°ã©ãã瀺ããŸãã ãã®å³ã§ã¯ãTimescaleDB ãæå¹ã«ãªã£ãŠããŸããããã«ãããããã»ããµãŒã§ io.weight ã䜿çšããéã®è² è·ã軜æžãããŸããã å éšããã»ã¹èŠçŽ ã®äœ¿çšãæžå°ããŸããã ããã«ããã㯠SSD ã§ã¯ãªããéåžžã®ãã³ã±ãŒã ãã£ã¹ã¯äžã®éåžžã®ä»®æ³ãã·ã³ã§ãã
æèŠ
TimescaleDB ã¯å°èŠæš¡ãªãã»ããã¢ãããã«é©ãããœãªã¥ãŒã·ã§ã³ã§ãããã£ã¹ã¯ã®ããã©ãŒãã³ã¹ã«åœ±é¿ãäžããŸãã ããã«ãããããŒã¿ããŒã¹ãã§ããã ãæ©ãããŒããŠã§ã¢ã«ç§»è¡ããããŸã§ãæ£åžžã«äœæ¥ãç¶ããããšãã§ããŸãã
TimescaleDB ã¯æ§æãç°¡åã§ãããã©ãŒãã³ã¹ãåäžããZabbix ãšããŸãé£æºãã PostgreSQL ãããåªããŠãã.
PostgreSQL ã䜿çšããŠããŠãå€æŽããäºå®ããªãå Žåã¯ã次ããå§ãããŸãã TimescaleDB æ¡åŒµæ©èœãåãã PostgreSQL ã Zabbix ãšçµã¿åãããŠäœ¿çšââããã ãã®ãœãªã¥ãŒã·ã§ã³ã¯ãäžçšåºŠã®ãã»ããã¢ããããŸã§ã¯å¹æçã«æ©èœããŸãã
ç§ãã¡ãèšããé«æ§èœããšã¯ã
HighLoad ++ ã äœçŸäžäººãã®ãŠãŒã¶ãŒã«ãµãŒãã¹ãæäŸã§ããããã«ãããã¯ãããžãŒãšå®è·µæ¹æ³ã«ã€ããŠåŠã¶ã®ã«ãããã»ã©é·ãã¯ããããŸããã ãªã¹ãã¬ããŒã 7æ8æ¥ãšXNUMXæ¥ã«ã€ããŠã¯ãã§ã«ãŸãšããŠããŸãããããã§ã¯äº€æµäŒ ããã«ææ¡ããããšãã§ããŸãã賌èªããŠãã ãã
ãã¥ãŒã¹ã¬ã¿ãŒ Оé»å ± ã§ã¯ãä»åŸã®ã«ã³ãã¡ã¬ã³ã¹ã®ç¹åŸŽãæããã«ãããããæ倧éã«æŽ»çšããæ¹æ³ãèŠã€ããŸãã
åºæïŒ habr.com