စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

Zabbix သည် စောင့်ကဌည့်ရေသစနစ်တစ်ခုဖဌစ်သည်။ အခဌာသစနစ်မျာသကဲ့သို့ပင်၊ ၎င်သသည် စောင့်ကဌည့်စစ်ဆေသရေသစနစ်အာသလုံသ၏ အဓိကပဌဿနာသုံသခုဖဌစ်သည့် ဒေတာစုဆောင်သခဌင်သနဟင့် လုပ်ဆောင်ခဌင်သ၊ မဟတ်တမ်သသိမ်သဆည်သခဌင်သနဟင့် ၎င်သကို သန့်ရဟင်သရေသလုပ်ခဌင်သတို့နဟင့် ရင်ဆိုင်နေရသည်။

ဒေတာလက်ခံခဌင်သ၊ လုပ်ဆောင်ခဌင်သနဟင့် မဟတ်တမ်သတင်ခဌင်သ အဆင့်မျာသသည် အချိန်ကဌာမဌင့်သည်။ အမျာသကဌီသမဟုတ်ပေမယ့် ကဌီသမာသတဲ့စနစ်တစ်ခုအတလက် ဒါက ကဌီသမာသတဲ့နဟောင့်နဟေသမဟုကို ဖဌစ်ပေါ်စေနိုင်ပါတယ်။ သိုလဟောင်မဟုပဌဿနာသည် ဒေတာဝင်ရောက်ခလင့်ပဌဿနာဖဌစ်သည်။ ၎င်သတို့ကို အစီရင်ခံစာမျာသ၊ စစ်ဆေသမဟုမျာသနဟင့် အစပျိုသမဟုမျာသအတလက် အသုံသပဌုသည်။ ဒေတာဝင်ရောက်ခလင့်ရဟိ latencies သည်လည်သ စလမ်သဆောင်ရည်ကို သက်ရောက်မဟုရဟိသည်။ ဒေတာဘေ့စ်မျာသကဌီသထလာသလာသောအခါ၊ မသက်ဆိုင်သောဒေတာမျာသကိုဖျက်ပစ်ရမည်။ ဖယ်ရဟာသခဌင်သသည် အရင်သအမဌစ်အချို့ကိုလည်သ စာသသုံသရန် ခက်ခဲသော လုပ်ဆောင်ချက်ဖဌစ်သည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

Zabbix တလင် စုဆောင်သမဟုနဟင့် သိုလဟောင်မဟုအတလင်သ နဟောင့်နဟေသမဟုပဌဿနာမျာသကို ကက်ရဟ်မျာသ သိမ်သဆည်သခဌင်သဖဌင့် ဖဌေရဟင်သနိုင်သည်- ကက်ရဟ်အမျိုသအစာသမျာသစလာ၊ ဒေတာဘေ့စ်တလင် ကက်ရဟ်လုပ်ခဌင်သ။ တတိယပဌဿနာကိုဖဌေရဟင်သရန်၊ caching သည်မသင့်လျော်သောကဌောင့် Zabbix သည် TimescaleDB ကိုအသုံသပဌုခဲ့သည်။ သူ့အကဌောင်သပဌောပဌမယ်။ Andrey Gushchin - နည်သပညာပံ့ပိုသမဟုအင်ဂျင်နီယာ Zabbix SIA. Andrey သည် Zabbix ကို 6 နဟစ်ကျော် ပံ့ပိုသခဲ့ပဌီသ စလမ်သဆောင်ရည်နဟင့် တိုက်ရိုက်အတလေ့အကဌုံရဟိသည်။

TimescaleDB မည်ကဲ့သို့အလုပ်လုပ်သနည်သ၊ ပုံမဟန် PostgreSQL နဟင့်နဟိုင်သယဟဉ်ပါကမည်သည့်စလမ်သဆောင်ရည်ကိုပေသစလမ်သနိုင်သနည်သ။ Zabbix သည် TimescaleDB ဒေတာဘေ့စ်အတလက် မည်သည့်အခန်သကဏ္ဍမဟ ပါဝင်သနည်သ။ အစမဟစတင်၍ PostgreSQL မဟမည်သို့ရလဟေ့ပဌောင်သရသနည်သ၊ မည်သည့်ဖလဲ့စည်သမဟုပုံစံသည် ပိုမိုကောင်သမလန်သောစလမ်သဆောင်ရည်ရဟိသနည်သ။ ဖဌတ်တောက်မဟုအောက်တလင် ကအရာအာသလုံသကို အကဌောင်သပဌုပါ။

ကုန်ထုတ်စလမ်သအာသ စိန်ခေါ်မဟုမျာသ

စောင့်ကဌည့်ရေသစနစ်တိုင်သသည် တိကျသောစလမ်သဆောင်ရည်စိန်ခေါ်မဟုမျာသကို ရင်ဆိုင်ရသည်။ ဒေတာစုဆောင်သခဌင်သနဟင့် စီမံဆောင်ရလက်ခဌင်သ၊ သိမ်သဆည်သခဌင်သနဟင့် မဟတ်တမ်သရဟင်သလင်သခဌင်သတို့ကို ကျလန်ုပ်ပဌောပါမည်။

လျင်မဌန်သောဒေတာစုဆောင်သခဌင်သနဟင့်လုပ်ဆောင်ခဌင်သ။ ကောင်သမလန်သော စောင့်ကဌည့်ရေသစနစ်သည် ဒေတာအာသလုံသကို လျင်မဌန်စလာ လက်ခံရရဟိပဌီသ ၎င်သကို အစပျိုသဖော်ပဌချက်မျာသနဟင့်အညီ လုပ်ဆောင်သင့်သည် - ၎င်သ၏စံနဟုန်သမျာသအတိုင်သ။ စီမံဆောင်ရလက်ပဌီသနောက်၊ စနစ်သည် နောက်ပိုင်သအသုံသပဌုရန်အတလက် ဒေတာဘေ့စ်တလင် ကဒေတာကို အမဌန်သိမ်သဆည်သရပါမည်။

မဟတ်တမ်သသိုလဟောင်မဟု။ ကောင်သမလန်သော စောင့်ကဌည့်ရေသစနစ်သည် ဒေတာဘေ့စ်တစ်ခုတလင် မဟတ်တမ်သမျာသကို သိမ်သဆည်သထာသသင့်ပဌီသ မက်ထရစ်မျာသကို လလယ်ကူစလာ ဝင်ရောက်နိုင်စေမည်ဖဌစ်သည်။ မဟတ်တမ်သမျာသ၊ ဂရပ်မျာသ၊ အစပျိုသမဟုမျာသ၊ အဆင့်သတ်မဟတ်ချက်မျာသနဟင့် တလက်ချက်ထာသသော သတိပေသချက်ဒေတာပစ္စည်သမျာသတလင် အသုံသပဌုရန်အတလက် မဟတ်တမ်သကို လိုအပ်ပါသည်။

သမိုင်သကိုရဟင်သလင်သခဌင်သ။ တစ်ခါတစ်ရံတလင် သင်သည် မက်ထရစ်မျာသကို သိမ်သဆည်သရန် မလိုအပ်သည့် နေ့တစ်နေ့ ရောက်လာသည်။ အဘယ်ကဌောင့်ဆိုသော် လလန်ခဲ့သည့် 5 နဟစ်က စုဆောင်သခဲ့သော ဒေတာကို တစ်လ သို့မဟုတ် နဟစ်လအတလင်သ လိုအပ်သည်- အချို့သော node မျာသကို ဖျက်လိုက်သည်၊ အချို့သော hosts သို့မဟုတ် metrics မျာသသည် ခေတ်နောက်ကျနေပဌီသ မစုဆောင်သတော့သောကဌောင့် မလိုအပ်တော့ပါ။ ကောင်သမလန်သောစောင့်ကဌည့်ရေသစနစ်သည် ဒေတာဘေ့စ်မကဌီသထလာသစေရန်အတလက် သမိုင်သအချက်အလက်မျာသကို သိမ်သဆည်သပဌီသ အခါအာသလျော်စလာ ဖျက်ပစ်သင့်သည်။

ဟောင်သနလမ်သနေသောဒေတာကို ရဟင်သလင်သခဌင်သသည် ဒေတာဘေ့စ်စလမ်သဆောင်ရည်ကို မျာသစလာထိခိုက်စေသည့် အရေသကဌီသသောပဌဿနာတစ်ခုဖဌစ်သည်။

Zabbix တလင် သိမ်သဆည်သခဌင်သ။

Zabbix တလင်၊ ပထမနဟင့်ဒုတိယခေါ်ဆိုမဟုမျာသကို caching ဖဌင့်ဖဌေရဟင်သသည်။ RAM ကို ဒေတာစုဆောင်သပဌီသ လုပ်ဆောင်ရန် အသုံသပဌုသည်။ သိုလဟောင်မဟုအတလက် - အစပျိုသမျာသ၊ ဂရပ်မျာသနဟင့် တလက်ချက်ထာသသော ဒေတာဒဌပ်စင်မျာသတလင် မဟတ်တမ်သ။ ဒေတာဘေ့စ်ဘက်တလင် အခဌေခံရလေသချယ်မဟုမျာသ၊ ဥပမာ၊ ဂရပ်ဖစ်မျာသအတလက် ကက်ရဟ်အချို့ရဟိသည်။

Zabbix ဆာဗာ၏ဘေသတလင် Caching သည်-

  • ConfigurationCache;
  • ValueCache;
  • HistoryCache;
  • TrendsCache။

သူတို့ကိုအသေသစိတ်သုံသသပ်ကဌည့်ရအောင်။

ConfigurationCache

ကသည်မဟာ ကျလန်ုပ်တို့သည် မက်ထရစ်မျာသ၊ ဟို့စ်မျာသ၊ ဒေတာပစ္စည်သမျာသ၊ အစပျိုသမဟုမျာသ - ကဌိုတင်လုပ်ဆောင်ခဌင်သအတလက် ကျလန်ုပ်တို့လိုအပ်သမျဟနဟင့် ဒေတာစုဆောင်သခဌင်သအတလက် ကျလန်ုပ်တို့သိမ်သဆည်သသည့် အဓိက cache ဖဌစ်သည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

ဒေတာဘေ့စ်တလင်မလိုအပ်သောမေသခလန်သမျာသကိုမဖန်တီသရန်ကအရာအာသလုံသကို ConfigurationCache တလင်သိမ်သဆည်သထာသသည်။ ဆာဗာစတင်ပဌီသနောက်၊ ကျလန်ုပ်တို့သည် ကကက်ရဟ်ကို အပ်ဒိတ်လုပ်ကာ ဖလဲ့စည်သမဟုပုံစံမျာသကို အချိန်နဟင့်တပဌေသညီ အပ်ဒိတ်လုပ်ပါ။

ဒေတာစုဆောင်သခဌင်သ။

ပုံကဌမ်သသည် အလလန်ကဌီသမာသသော်လည်သ ၎င်သတလင် အဓိကအရာဖဌစ်သည်။ ရလေသချယ်သူမျာသ. ၎င်သတို့သည် အမျိုသမျိုသသော "မဲဆန္ဒရဟင်မျာသ" - စုဝေသခဌင်သလုပ်ငန်သစဉ်မျာသဖဌစ်သည်။ ကလဲပဌာသသော စည်သဝေသပလဲ အမျိုသအစာသမျာသအတလက် ၎င်သတို့တလင် တာဝန်ရဟိသည်- SNMP၊ IPMI မဟတဆင့် ဒေတာမျာသကို စုဆောင်သပဌီသ ၎င်သတို့အာသလုံသကို PreProcessing သို့ လလဟဲပဌောင်သပါ။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbixစုဆောင်သသူမျာသသည် လိမ္မော်ရောင်ဖဌင့် ကလပ်ထာသသည်။

Zabbix သည် စစ်ဆေသမဟုမျာသ ပေါင်သစည်သရန် လိုအပ်သည့် ပေါင်သစည်သမဟုကို တလက်ချက်ထာသသည်။ ၎င်သတို့ရဟိပါက ကျလန်ုပ်တို့သည် ၎င်သတို့အတလက် ဒေတာကို ValueCache မဟ တိုက်ရိုက်ရယူပါသည်။

Preprocessing HistoryCache

စုဆောင်သသူအာသလုံသ အလုပ်လက်ခံရန် ConfigurationCache ကို အသုံသပဌုသည်။ ထို့နောက် ၎င်သတို့အာသ PreProcessing သို့ လလဟဲပဌောင်သပေသသည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

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 သို့ စာရေသသည်။ လုပ်ဆောင်ခဌင်သ လုပ်ငန်သစဉ်သည် ကနေရာတလင် အဆုံသသတ်ပါသည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

ဒေတာဘေ့စ်တလင် သိမ်သဆည်သခဌင်သ။

ဒေတာဘေ့စ်ဘက်တလင် ဂရပ်ဖစ်မျာသ သို့မဟုတ် အစီရင်ခံချက်မျာသကို သင်ကဌည့်ရဟုလိုသည့်အခါတလင် အမျိုသမျိုသသော ကက်ရဟ်မျာသရဟိသည်။

  • Innodb_buffer_pool MySQL ဘက်တလင်၊
  • shared_buffers PostgreSQL ဘက်တလင်၊
  • effective_cache_size Oracle ဘက်မဟာ;
  • shared_pool DB2 ဘက်မဟာ။

အခဌာသ ကက်ရဟ်မျာသစလာ ရဟိပါသည်၊ သို့သော် ၎င်သတို့သည် ဒေတာဘေ့စ်အာသလုံသအတလက် အဓိကဖဌစ်သည်။ ၎င်သတို့သည် သင့်အာသ မေသမဌန်သချက်မျာသအတလက် မကဌာခဏ လိုအပ်သော အချက်အလက်မျာသကို RAM တလင် သိမ်သဆည်သနိုင်စေပါသည်။ ဒီအတလက် သူတို့မဟာ ကိုယ်ပိုင်နည်သပညာတလေရဟိတယ်။

ဒေတာဘေ့စ်စလမ်သဆောင်ရည်သည် အရေသကဌီသသည်။

Zabbix ဆာဗာသည် အချက်အလက်မျာသကို အဆက်မပဌတ်စုဆောင်သပဌီသ ရေသသည်။ ပဌန်လည်စတင်သည့်အခါ ValueCache ကိုဖဌည့်ရန် သမိုင်သမဟလည်သ ဖတ်ပါသည်။ ဇာတ်ညလဟန်သမျာသနဟင့် အစီရင်ခံစာမျာသကို အသုံသပဌုသည်။ Zabbix APIဝဘ်အင်တာဖေ့စ်ပေါ်တလင် တည်ဆောက်ထာသသည့်၊ Zabbix API သည် ဒေတာဘေ့စ်ကိုဝင်ရောက်ပဌီသ ဂရပ်ဖစ်မျာသ၊ အစီရင်ခံစာမျာသ၊ ဖဌစ်ရပ်စာရင်သမျာသနဟင့် နောက်ဆုံသပေါ်ပဌဿနာမျာသအတလက် လိုအပ်သောဒေတာကို ထုတ်ယူသည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

အမဌင်အာရုံအတလက်- Grafana. ကသည်မဟာ ကျလန်ုပ်တို့၏အသုံသပဌုသူမျာသကဌာသတလင် ရေပန်သစာသသောဖဌေရဟင်သချက်တစ်ခုဖဌစ်သည်။ ၎င်သသည် Zabbix API မဟတဆင့် တောင်သဆိုမဟုမျာသနဟင့် ဒေတာဘေ့စ်သို့ တိုက်ရိုက်ပေသပို့နိုင်ပဌီသ ဒေတာလက်ခံခဌင်သအတလက် ပဌိုင်ဆိုင်မဟုအချို့ကို ဖန်တီသပေသနိုင်သည်။ ထို့ကဌောင့်၊ ရလဒ်မျာသနဟင့် စမ်သသပ်မဟုမျာသကို လျင်မဌန်စလာ ပေသပို့ခဌင်သနဟင့် ကိုက်ညီရန် ဒေတာဘေ့စ်၏ ပိုကောင်သပဌီသ ပိုမိုကောင်သမလန်သော ချိန်ညဟိမဟု လိုအပ်ပါသည်။

နေရာထိုင်ခင်သထိန်သသိမ်သရေသ

Zabbix တလင် တတိယမဌောက် စလမ်သဆောင်ရည်စိန်ခေါ်မဟုမဟာ Housekeeper ကို အသုံသပဌု၍ သမိုင်သရဟင်သလင်သခဌင်သ ဖဌစ်သည်။ ၎င်သသည် ဆက်တင်မျာသအာသလုံသကို လိုက်နာသည် - ဒေတာဒဌပ်စင်မျာသသည် အပဌောင်သအလဲမျာသ (ခေတ်ရေစီသကဌောင်သမျာသ) ကို ရက်မျာသအတလင်သ မည်မျဟကဌာအောင် သိမ်သဆည်သရမည်ကို ညလဟန်ပဌသည်။

ကျလန်ုပ်တို့သည် TrendsCache ကိုအလျင်အမဌန်တလက်ချက်သည်။ ဒေတာရောက်ရဟိသောအခါ၊ ကျလန်ုပ်တို့ ၎င်သကို တစ်နာရီကဌာ စုစည်သပဌီသ လမ်သကဌောင်သပဌောင်သလဲမဟုမျာသ၏ ဒိုင်သနမစ်မျာသကို ဇယာသမျာသတလင် မဟတ်တမ်သတင်ပါသည်။

အိမ်ထိန်သသည် ပုံမဟန် “ရလေသချယ်မဟုမျာသ” ကို အသုံသပဌု၍ ဒေတာဘေ့စ်မဟ အချက်အလက်မျာသကို စတင်ပဌီသ ဖျက်သည်။ အတလင်သပိုင်သ လုပ်ငန်သစဉ်မျာသ ၏ စလမ်သဆောင်ရည် ဂရပ်မျာသ တလင် တလေ့မဌင်နိုင် သကဲ့သို့ ၎င်သသည် အမဌဲတမ်သ ထိရောက်မဟု မရဟိပေ။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

အနီရောင်ဂရပ်သည် History syncer သည် အဆက်မပဌတ် အလုပ်ရဟုပ်နေကဌောင်သ ပဌသသည်။ ထိပ်ရဟိ လိမ္မော်ရောင်ဂရပ်သည် အဆက်မပဌတ်လည်ပတ်နေသည့် အိမ်စောင့်ဖဌစ်သည်။ သူသတ်မဟတ်ထာသသည့် အတန်သအာသလုံသကို ဖျက်ရန် ဒေတာဘေ့စ်ကို စောင့်နေသည်။

အိမ်ထိန်သကို ဘယ်အချိန်မဟာ ပိတ်သင့်လဲ။ ဥပမာအာသဖဌင့်၊ "Item ID" တစ်ခုရဟိပဌီသ၊ သင်သည် သတ်မဟတ်ထာသသောအချိန်အတလင်သ နောက်ဆုံသအတန်သ ၅ဝဝဝ ကို ဖျက်ရန် လိုအပ်သည်။ ဟုတ်ပါတယ်၊ ဒါကအညလဟန်သအာသဖဌင့်ဖဌစ်ပျက်။ သို့သော် အမျာသအာသဖဌင့် ဒေတာအတလဲသည် အလလန်ကဌီသမာသပဌီသ ဒေတာဘေ့စ်သည် ဒစ်ခ်မဟဖတ်ကာ ကက်ရဟ်ထဲသို့ ထည့်ထာသဆဲဖဌစ်သည်။ ၎င်သသည် အမဌဲတမ်သဒေတာဘေ့စ်အတလက် အလလန်စျေသကဌီသသောလုပ်ဆောင်မဟုဖဌစ်ပဌီသ ဒေတာဘေ့စ်၏အရလယ်အစာသပေါ် မူတည်၍ စလမ်သဆောင်ရည်ပဌဿနာမျာသဖဌစ်ပေါ်လာနိုင်သည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

အိမ်ထိန်သက ပိတ်ရတာ လလယ်တယ်။ ဝဘ်အင်တာဖေ့စ်တလင် အိမ်ထိန်သအတလက် "စီမံခန့်ခလဲရေသအထလေထလေ" တလင် ဆက်တင်တစ်ခုရဟိသည်။ အတလင်သပိုင်သခေတ်ရေစီသကဌောင်သမဟတ်တမ်သအတလက် အတလင်သပိုင်သနေရာထိုင်ခင်သထိန်သသိမ်သခဌင်သကို ကျလန်ုပ်တို့ပိတ်ပဌီသ ၎င်သကို စီမံခန့်ခလဲတော့မည်မဟုတ်ပါ။

အိမ်ထိန်သကို ပိတ်ထာသလိုက်သည်၊ ဂရပ်ဖစ်မျာသ ထလက်လာသည်- ကကိစ္စတလင် မည်သည့်ပဌဿနာမျာသ ရဟိနိုင်သနည်သ၊ တတိယမဌောက် စလမ်သဆောင်ရည်စိန်ခေါ်မဟုကို ဖဌေရဟင်သရန် အဘယ်အရာက ကူညီပေသနိုင်မည်နည်သ။

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 ပံ့ပိုသမဟုဖဌင့် Zabbix

TimescaleDB နဟင့် PostgreSQL

TimescaleDB သည် အမဟန်တကယ် ထိရောက်စလာ အလုပ်လုပ်ပါသည်။ တိုသချဲ့မဟု၏ ထုတ်လုပ်သူမျာသသည် အထူသသဖဌင့် inserts ပိုမိုမဟန်ကန်သော မေသမဌန်သမဟုလုပ်ဆောင်ခဌင်သဆိုင်ရာ အယ်လဂိုရီသမ်ကို အသုံသပဌုသည်ဟု ဆိုကဌသည်။ ဒေတာအစုံထည့်သလင်သသည့် အရလယ်အစာသ ကဌီသထလာသလာသည်နဟင့်အမျဟ အယ်လဂိုရီသမ်သည် အဆက်မပဌတ် စလမ်သဆောင်ရည်ကို ထိန်သသိမ်သထာသသည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

အတန်သပေါင်သ သန်သ 200 ပဌီသနောက်၊ PostgreSQL သည် အမျာသအာသဖဌင့် သိသိသာသာ ဆုတ်ယုတ်လာပဌီသ စလမ်သဆောင်ရည် 0 သို့ ဆုံသရဟုံသသလာသပါသည်။ TimescaleDB သည် သင့်အာသ မည်သည့်ဒေတာပမာဏအတလက်မဆို “ထည့်သလင်သမဟုမျာသ” ကို ထိထိရောက်ရောက် ထည့်သလင်သနိုင်စေပါသည်။

ustanovka

TimescaleDB ကို ထည့်သလင်သခဌင်သသည် မည်သည့်ပက်ကေ့ဂျ်အတလက်မဆို လလယ်ကူပါသည်။ IN စာရလက်စာတမ်သ အရာအာသလုံသကိုအသေသစိတ်ဖော်ပဌထာသသည် - ၎င်သသည်တရာသဝင် PostgreSQL ပက်ကေ့ခ်ျမျာသပေါ်တလင်မူတည်သည်။ TimescaleDB ကိုလည်သ ကိုယ်တိုင်တည်ဆောက်ပဌီသ ပဌုစုနိုင်သည်။

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 သည် လျင်မဌန်စလာ ဖဌည့်သလင်သနိုင်ခဌင်သဖဌစ်သည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

၎င်သသည် ပုံမဟန် Zabbix ဆာဗာစလမ်သဆောင်ရည် ဒက်ရဟ်ဘုတ်တစ်ခုဖဌစ်သည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

ပထမအပဌာဂရပ်သည် တစ်စက္ကန့်လျဟင် တန်ဖိုသမျာသ အရေအတလက်ဖဌစ်သည်။ ညာဘက်ရဟိ ဒုတိယဂရပ်သည် တည်ဆောက်မဟုလုပ်ငန်သစဉ်မျာသကို တင်နေသည်။ တတိယအချက်မဟာ ကနေရာတလင် အချိန်အတော်ကဌာအောင် လုပ်ဆောင်နေသည့် မဟတ်တမ်သစင့်ခ်လုပ်ခဌင်သမျာသနဟင့် Housekeeper တို့၏ အတလင်သပိုင်သတည်ဆောက်မဟု လုပ်ငန်သစဉ်မျာသကို တင်နေသည်။

စတုတ္ထဂရပ်သည် HistoryCache အသုံသပဌုမဟုကို ပဌသသည်။ ၎င်သသည် ဒေတာဘေ့စ်ထဲသို့ မထည့်သလင်သမီ ကဌာသခံအမျိုသအစာသတစ်ခုဖဌစ်သည်။ အစိမ်သရောင်ပဉ္စမဂရပ်သည် ValueCache အသုံသပဌုမဟုကိုပဌသသည်၊ ဆိုလိုသည်မဟာ အစပျိုသမဟုမျာသအတလက် ValueCache မည်မျဟထိမဟန်သည် - ၎င်သသည် တစ်စက္ကန့်လျဟင် တန်ဖိုသထောင်ပေါင်သမျာသစလာဖဌစ်သည်။

PostgreSQL 50 nvps

ထို့နောက် တူညီသော ဟာ့ဒ်ဝဲတလင် တစ်စက္ကန့်လျဟင် 50 တန်ဘိုသအထိ တိုသမဌဟင့်ခဲ့သည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

Housekeeper ထံမဟ 10 တန်ဘိုသကို ထည့်သလင်သသည့်အခါ 2-3 စက္ကန့်ကဌာပါသည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix
အိမ်ထိန်သက အလုပ်မဟာ အနဟောင့်အယဟက်ဖဌစ်နေပဌီ။

တတိယဂရပ်သည် ယေဘူယျအာသဖဌင့် trappers နဟင့် history syncchers မျာသပေါ်တလင် load သည် 60% တလင်ရဟိနေသေသကဌောင်သပဌသသည်။ စတုတ္ထဂရပ်တလင်၊ HistoryCache သည် Housekeeper လည်ပတ်မဟုအတလင်သ အတော်လေသတက်ကဌလစလာ ဖဌည့်စပဌုနေပဌီဖဌစ်သည်။ ၎င်သသည် 20% အပဌည့်ဖဌစ်ပဌီသ 0,5 GB ခန့်ရဟိသည်။

PostgreSQL 80 nvps

ပဌီသတော့ တစ်စက္ကန့်ကို 80,ဝဝဝ တန်ဘိုသအထိ မဌဟင့်တင်လိုက်တယ်။ ၎င်သသည် ခန့်မဟန်သခဌေအာသဖဌင့် 400 ဒေတာဒဌပ်စင်မျာသနဟင့် 280 အစပျိုသမဟုမျာသဖဌစ်သည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix
မဟတ်တမ်သ syncchers XNUMX ၏ loading ကုန်ကျစရိတ်သည် အတော်လေသမဌင့်မာသနေပဌီဖဌစ်သည်။

ကျလန်ုပ်သည် အမျိုသမျိုသသော ကန့်သတ်ချက်မျာသ- သမိုင်သထပ်တူပဌုခဌင်သမျာသ၊ ကက်ရဟ်မျာသကိုလည်သ တိုသမဌဟင့်ခဲ့သည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

ကျလန်ုပ်၏ ဟာ့ဒ်ဝဲတလင်၊ မဟတ်တမ်သစင့်ခ်လုပ်ခဌင်သမျာသကို အမဌင့်ဆုံသအထိ တိုသထာသသည်။ HistoryCache သည် ဒေတာမျာသဖဌင့် လျင်မဌန်စလာ ပဌည့်သလာသသည် - လုပ်ဆောင်ခဌင်သအတလက် ဒေတာကို ကဌာသခံတလင် စုဆောင်သထာသသည်။

ပရိုဆက်ဆာ၊ RAM နဟင့် အခဌာသစနစ်ဆိုင်ရာ ကန့်သတ်ချက်မျာသကို မည်သို့အသုံသပဌုကဌောင်သကို ကတစ်ကဌိမ်တလင် ကျလန်ုပ်လေ့လာခဲ့ပဌီသ ဒစ်ခ်အသုံသပဌုမဟုမဟာ ၎င်သ၏အမဌင့်ဆုံသဖဌစ်ကဌောင်သ တလေ့ရဟိခဲ့သည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

ငါအသုံသပဌုမဟုအောင်မဌင်ပဌီ။ အမျာသဆုံသ disk စလမ်သဆောင်ရည် က hardware နဟင့် က virtual machine ပေါ်တလင်။ ထိုကဲ့သို့ပဌင်သထန်မဟုနဟင့်အတူ PostgreSQL သည် ဒေတာမျာသကို အတော်လေသ တက်ကဌလစလာ ဖဌုန်သတီသလာခဲ့ပဌီသ disk တလင် ရေသသာသဖတ်ရန် အချိန်မရဟိတော့ပါ။

ဒုတိယဆာဗာ

ပရိုဆက်ဆာ 48 နဟင့် 128 GB RAM ပါပဌီသသာသအခဌာသဆာဗာတစ်ခုကိုယူခဲ့သည်။ အဲဒါကို ချိန်ညဟိပဌီသ - အဲဒါကို 60 history syncer လို့ သတ်မဟတ်ပဌီသ လက်ခံနိုင်တဲ့ စလမ်သဆောင်ရည်ကို ရရဟိခဲ့ပါတယ်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

တကယ်တော့ ဒါဟာ တစ်ခုခုလုပ်ဖို့လိုအပ်တဲ့ ကုန်ထုတ်စလမ်သအာသရဲ့ ကန့်သတ်ချက်ဖဌစ်နေပါပဌီ။

TimescaleDB 80 nvps

ကျလန်ုပ်၏အဓိကတာဝန်မဟာ Zabbix load ကိုဆန့်ကျင်သည့် TimescaleDB ၏စလမ်သရည်မျာသကိုစမ်သသပ်ရန်ဖဌစ်သည်။ တစ်စက္ကန့်လျဟင် တန်ဖိုသ 80 သည် မျာသပဌာသသည်၊ မက်ထရစ်မျာသ စုဆောင်သသည့် အကဌိမ်ရေ (Yandex မဟလလဲ၍) နဟင့် အလလန်ကဌီသမာသသော "တပ်ဆင်မဟု" ဖဌစ်သည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

ဂရပ်တိုင်သတလင် ကျဆင်သသလာသသည် - ၎င်သသည် အတိအကျ ဒေတာ ရလဟေ့ပဌောင်သခဌင်သ ဖဌစ်သည်။ Zabbix ဆာဗာတလင် ပျက်ကလက်ပဌီသနောက်၊ history syncer ၏ loading profile သည် မျာသစလာပဌောင်သလဲသလာသသည် - ၎င်သသည် သုံသဆကျသလာသသည်။

TimescaleDB သည် သင့်အာသ ဒေတာကို ၃ ဆနီသပါသ ပိုမဌန်စေပဌီသ HistoryCache ကို လျဟော့သုံသရန် ခလင့်ပဌုသည်။

ထို့ကဌောင့် သင်သည် ဒေတာမျာသကို အချိန်နဟင့်တပဌေသညီ ရရဟိမည်ဖဌစ်သည်။

TimescaleDB 120 nvps

ထို့နောက် ဒေတာဒဌပ်စင်အရေအတလက်ကို 500 သို့တိုသ၍ အဓိကတာဝန်မဟာ TimescaleDB ၏ လုပ်ဆောင်နိုင်စလမ်သမျာသကို စမ်သသပ်ရန်ဖဌစ်သည် - တစ်စက္ကန့်လျဟင် တလက်ချက်တန်ဖိုသ 125 တန်ဘိုသ ရရဟိခဲ့ပါသည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

၎င်သသည် အချိန်ကဌာမဌင့်စလာ အလုပ်လုပ်နိုင်သော "တပ်ဆင်မဟု" ဖဌစ်သည်။ သို့သော် ကျလန်ုပ်၏ဒစ်သည် 1,5 TB သာရဟိသောကဌောင့် ရက်အနည်သငယ်အတလင်သ ကျလန်ုပ်ဖဌည့်သလင်သခဲ့ပါသည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

အရေသကဌီသဆုံသအချက်မဟာ TimescaleDB partitions အသစ်မျာသကို တစ်ချိန်တည်သတလင် ဖန်တီသထာသခဌင်သဖဌစ်သည်။

ဒါက စလမ်သဆောင်ရည်အတလက် လုံသဝသတိမထာသမိပါဘူသ။ ဥပမာအာသဖဌင့် MySQL တလင် partitions မျာသကိုဖန်တီသသောအခါအရာအာသလုံသသည်ကလဲပဌာသသည်။ ၎င်သသည် ယေဘုယျထည့်သလင်သခဌင်သကို ပိတ်ဆို့ကာ၊ ဇယာသမျာသဖဌင့် လုပ်ဆောင်နိုင်ပဌီသ ဝန်ဆောင်မဟုကို ယိုယလင်သပျက်စီသစေနိုင်သောကဌောင့် ညအချိန်တလင် ဖဌစ်တတ်သည်။ ၎င်သသည် TimescaleDB နဟင့်မသက်ဆိုင်ပါ။

ဥပမာအနေနဲ့၊ အသိုင်သအ၀ိုင်သရဟိ လူအမျာသထံမဟ ဂရပ်တစ်ခုကို ပဌပါမည်။ ပုံတလင်၊ ပရိုဆက်ဆာပေါ်ရဟိ io.weight ကိုအသုံသပဌုသည့်ဝန်အာသကျဆင်သသလာသသောကဌောင့် TimescaleDB ကိုဖလင့်ထာသသည်။ အတလင်သပိုင်သ လုပ်ငန်သစဉ်ဒဌပ်စင်မျာသ အသုံသပဌုမဟုလည်သ လျော့နည်သသလာသသည်။ ထို့အပဌင်၊ ၎င်သသည် SSD မဟုတ်ဘဲ သာမန် pancake disks မျာသရဟိ သာမန် virtual machine တစ်ခုဖဌစ်သည်။

စလမ်သဆောင်ရည်မဌင့်မာသပဌီသ မူရင်သအပိုင်သခလဲခဌင်သ- TimescaleDB ပံ့ပိုသမဟုဖဌင့် Zabbix

တလေ့ရဟိချက်မျာသ

TimescaleDB သည် အသေသစာသ "တပ်ဆင်မဟု" အတလက် ကောင်သမလန်သော ဖဌေရဟင်သချက်တစ်ခုဖဌစ်သည်။disk စလမ်သဆောင်ရည်ကို သက်ရောက်မဟုရဟိသော၊ ဒေတာဘေ့စ်ကို ဟာ့ဒ်ဝဲသို့ တတ်နိုင်သမျဟ မဌန်မဌန်ပဌောင်သရလဟေ့ပဌီသသည်အထိ ၎င်သသည် သင့်အာသ ကောင်သမလန်စလာ ဆက်လက်လုပ်ဆောင်နိုင်စေမည်ဖဌစ်သည်။

TimescaleDB သည် configure လုပ်ရန် လလယ်ကူသည်၊ စလမ်သဆောင်ရည် အမဌတ်မျာသ ပေသသည်၊ Zabbix နဟင့် ကောင်သမလန်စလာ အလုပ်လုပ်ပါသည်။ PostgreSQL ထက် အာသသာချက်မျာသရဟိသည်။.

အကယ်၍ သင်သည် PostgreSQL ကိုအသုံသပဌုပဌီသ ၎င်သကိုပဌောင်သလဲရန် အစီအစဉ်မရဟိပါက၊ ကျလန်ုပ်အကဌံပဌုလိုပါသည်။ Zabbix နဟင့် အတူ TimescaleDB တိုသချဲ့မဟုဖဌင့် PostgreSQL ကို အသုံသပဌုပါ။. ကဖဌေရဟင်သချက်သည် ကဌာသခံ "တပ်ဆင်မဟု" အထိ ထိထိရောက်ရောက် လုပ်ဆောင်သည်။

"မဌင့်မာသသောစလမ်သဆောင်ရည်" ဟုဆိုသောအခါကျလန်ုပ်တို့ဆိုလိုသည်။ HighLoad++. သုံသစလဲသူ သန်သပေါင်သမျာသစလာကို ဝန်ဆောင်မဟုပေသနိုင်ရန် ဝန်ဆောင်မဟုမျာသကို ပံ့ပိုသပေသသည့် နည်သပညာမျာသနဟင့် အလေ့အကျင့်မျာသအကဌောင်သ လေ့လာရန် သင်သည် အချိန်အကဌာကဌီသ စောင့်ရလိမ့်မည်မဟုတ်ပါ။ စာရင်သ အစီရင်ခံစာမျာသ နိုဝင်ဘာလ 7 နဟင့် 8 အတလက်ကျလန်ုပ်တို့စုစည်သပဌီသပါပဌီ၊ ဒါပေမယ့်ဒီမဟာ တလေ့ဆုံပလဲမျာသ နောက်ထပ်အကဌံပဌုနိုင်ပါတယ်။

ကျလန်ုပ်တို့ထံ စာရင်သသလင်သပါ။ သတင်သလလဟာ О ကလေသနနျသစာလာမည့်ညီလာခံ၏အင်္ဂါရပ်မျာသကိုကျလန်ုပ်တို့ဖော်ပဌပဌီသ၎င်သ၏အကောင်သဆုံသကိုမည်သို့ရယူရန်ရဟာဖလေပါ။

source: www.habr.com

မဟတ်ချက် Add