Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

Prometheus 2 ရဟိ အချိန်စီသရီသဒေတာဘေ့စ် (TSDB) သည် ဒေတာစုဆောင်သမဟုမဌန်နဟုန်သ၊ စုံစမ်သမဟုလုပ်ဆောင်မဟုနဟင့် အရင်သအမဌစ်ထိရောက်မဟုတို့နဟင့်ပတ်သက်၍ Prometheus 2 ရဟိ v1 သိုလဟောင်မဟုအပေါ် ကဌီသမာသသောတိုသတက်မဟုမျာသကို ပေသဆောင်သည့် အင်ဂျင်နီယာဖဌေရဟင်သချက်၏ အကောင်သဆုံသဥပမာတစ်ခုဖဌစ်သည်။ ကျလန်ုပ်တို့သည် Percona Monitoring and Management (PMM) တလင် Prometheus 2 ကို အကောင်အထည်ဖော်နေပဌီသ Prometheus 2 TSDB ၏ စလမ်သဆောင်ရည်ကို နာသလည်ခလင့်ရခဲ့သည်။ ဒီဆောင်သပါသမဟာ ဒီလေ့လာတလေ့ရဟိချက်တလေရဲ့ ရလဒ်တလေကို ပဌောပဌပါမယ်။

ပျမ်သမျဟ Prometheus အလုပ်ဝန်

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

Load စမ်သပါ။

စမ်သသပ်နေစဉ်အတလင်သ ဒေတာစုဆောင်သနိုင်စလမ်သကို အာရုံစိုက်ခဲ့တယ်။ ကစခရစ်ကိုအသုံသပဌု၍ Linode ဝန်ဆောင်မဟုတလင် Go 2.3.2 (PMM 1.10.1 ၏ တစ်စိတ်တစ်ပိုင်သအဖဌစ်) နဟင့် စုစည်သထာသသော Prometheus 1.14 ကို အသုံသချခဲ့သည်- StackScript. လက်တလေ့အကျဆုံသ ဝန်မျိုသဆက်အတလက်၊ ကအရာကို အသုံသပဌုပါ။ StackScript အစစ်အမဟန် load (Sysbench TPC-C Test) ဖဌင့် MySQL node အမျာသအပဌာသကို စတင်အသုံသပဌုခဲ့ပဌီသ တစ်ခုစီသည် Linux/MySQL node 10 ခုကို အတုယူခဲ့သည်။
အောက်ပါစမ်သသပ်မဟုမျာသအာသလုံသကို virtual cores ရဟစ်ခုနဟင့် 32 GB memory ပါရဟိသော Linode ဆာဗာတလင် ပဌုလုပ်ခဲ့ပဌီသ MySQL instances နဟစ်ရာကို စောင့်ကဌည့်စစ်ဆေသသည့် load simulations 20 ခု လုပ်ဆောင်ခဲ့သည်။ သို့မဟုတ် Prometheus ဝေါဟာရအရ ပစ်မဟတ် ၈၀၀၊ တစ်စက္ကန့်လျဟင် ၄၄၀ ခဌစ်၊ တစ်စက္ကန့်လျဟင် မဟတ်တမ်သ ၃၈၀ဝဝဝ၊ နဟင့် တက်ကဌလသောအချိန်စီသရီသ ၁.၇ သန်သ။

ပုံစံ

Prometheus 1.x မဟအသုံသပဌုသော အစဉ်အလာဒေတာဘေ့စ်မျာသ၏ ပုံမဟန်ချဉ်သကပ်နည်သမဟာ၊ မဟတ်ဉာဏ်ကန့်သတ်ချက်. ဝန်ကို ကိုင်တလယ်ရန် မလုံလောက်ပါက၊ သင်သည် မဌင့်မာသသော latencies မျာသကို တလေ့ကဌုံရပဌီသ အချို့သော တောင်သဆိုမဟုမျာသ ကျရဟုံသလိမ့်မည်။ Prometheus 2 တလင် Memory အသုံသပဌုမဟုကို သော့ဖဌင့် ပဌင်ဆင်နိုင်သည်။ storage.tsdb.min-block-durationဒစ်ခ်သို့မလလဟင့်မီ မည်မျဟကဌာအောင် အသံသလင်သထာသမည်ကို ဆုံသဖဌတ်ပေသသည် (မူလသည် 2 နာရီဖဌစ်သည်)။ လိုအပ်သော မမ်မိုရီပမာဏသည် ပိုက်ကလန်အဝင်စီသကဌောင်သတလင် ထည့်ထာသသော အချိန်စီသရီသမျာသ၊ အညလဟန်သမျာသနဟင့် ခဌစ်ရာမျာသပေါ်တလင် မူတည်ပါသည်။ disk space ၏စည်သကမ်သချက်မျာသအရ Prometheus သည် စံချိန်တစ်ခုလျဟင် 3 bytes (နမူနာ) ကိုအသုံသပဌုရန် ရည်ရလယ်သည်။ အခဌာသတစ်ဖက်တလင်၊ မဟတ်ဉာဏ်လိုအပ်ချက်မျာသပိုမိုမဌင့်မာသသည်။

block အရလယ်အစာသကို configure လုပ်ရန် ဖဌစ်နိုင်သော်လည်သ၊ ၎င်သကို manually configure လုပ်ရန် အကဌံပဌုထာသခဌင်သ မရဟိသည့်အတလက်ကဌောင့် Prometheus သည် သင့်လုပ်ငန်သတာဝန်အတလက် လိုအပ်သလောက် memory ကို ပေသရမည်ဖဌစ်ပါသည်။
အဝင်မက်ထရစ်စီသကဌောင်သကို ပံ့ပိုသရန် လုံလောက်သော memory မရဟိပါက၊ Prometheus သည် မဟတ်ဉာဏ်ထဲမဟ ကျသလာသလိမ့်မည် သို့မဟုတ် OOM လူသတ်သမာသသည် ၎င်သကို ရောက်သလာသမည်ဖဌစ်သည်။
Prometheus မမ်မိုရီကုန်သလာသသောအခါ ပျက်စီသမဟုနဟောင့်နဟေသစေရန် swap ပေါင်သထည့်ခဌင်သသည် အမဟန်တကယ် အထောက်အကူမဖဌစ်နိုင်ပါ။ အကဌောင်သမဟာ ကလုပ်ဆောင်ချက်ကိုအသုံသပဌုခဌင်သဖဌင့် မဟတ်ဉာဏ်သုံသစလဲမဟုကို ပေါက်ကလဲစေပါသည်။ Go၊ ၎င်သ၏အမဟိုက်စုဆောင်သသူနဟင့် swap ဆက်ဆံပုံတို့နဟင့် သက်ဆိုင်သည်ဟု ကျလန်တော်ထင်ပါတယ်။
နောက်ထပ်စိတ်ဝင်စာသဖလယ်နည်သလမ်သမဟာ လုပ်ငန်သစဉ်အစမဟရေတလက်မည့်အစာသ တစ်ချိန်တည်သတလင် ဒစ်ခ်သို့ လလင့်စင်သလာသစေရန် ညသခေါင်သဘလောက်ကို စီစဉ်သတ်မဟတ်ရန်ဖဌစ်သည်။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

ဂရပ်မဟ သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ နဟစ်နာရီတိုင်သ ဒစ်ခ်သို့ စီသဆင်သသည်။ min-block-duration parameter ကို တစ်နာရီသို့ပဌောင်သပါက၊ နာရီဝက်အကဌာမဟစတင်၍ ကပဌန်လည်သတ်မဟတ်မဟုမျာသသည် နာရီတိုင်သတလင် ဖဌစ်ပေါ်မည်ဖဌစ်ပါသည်။
သင်၏ Prometheus တပ်ဆင်မဟုတလင် ကနဟင့် အခဌာသဂရပ်မျာသကို အသုံသပဌုလိုပါက၊ သင်သည် ၎င်သကို အသုံသပဌုနိုင်သည်။ ဒက်ရဟ်ဘုတ်. ၎င်သကို PMM အတလက် ဒီဇိုင်သထုတ်ထာသသော်လည်သ အနည်သငယ်သော ပဌုပဌင်မလမ်သမံမဟုမျာသဖဌင့် Prometheus တပ်ဆင်မဟုတလင် လိုက်ဖက်ပါသည်။
ကျလန်ုပ်တို့တလင် memory တလင်သိမ်သဆည်သထာသသည့် head block ဟုခေါ်သော တက်ကဌလသောဘလောက်တစ်ခုရဟိသည်။ ဒေတာအဟောင်သမျာသဖဌင့် ပိတ်ဆို့ခဌင်သမျာသမဟတဆင့် ရရဟိနိုင်ပါသည်။ mmap(). ၎င်သသည် ကက်ရဟ်ကို သီသခဌာသစီပဌင်ဆင်ရန် လိုအပ်မဟုကို ဖယ်ရဟာသပေသသော်လည်သ၊ head block တလင် ထာသရဟိနိုင်သည့် ဒေတာမျာသထက် အဟောင်သမျာသကို ရဟာဖလေလိုပါက လည်ပတ်မဟုစနစ် ကက်ရဟ်အတလက် နေရာအလုံအလောက် ချန်ထာသရန် လိုအပ်သည်ဟု ဆိုလိုသည်။
၎င်သသည် Prometheus virtual memory သုံသစလဲမဟုသည် အလလန်မဌင့်မာသနေမည်ကို ဆိုလိုသည်၊ ၎င်သသည် စိုသရိမ်စရာမဟုတ်ပါ။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

နောက်ထပ်စိတ်ဝင်စာသစရာကောင်သတဲ့ ဒီဇိုင်သအချက်ကတော့ WAL ကိုအသုံသပဌုခဌင်သ (ရဟေ့မဟတ်တိုင်ကိုရေသပါ)။ သိုလဟောင်မဟုစာရလက်စာတမ်သမျာသမဟ သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ ပျက်စီသမဟုမျာသရဟောင်ရဟာသရန် Prometheus သည် WAL ကိုအသုံသပဌုသည်။ ဒေတာရဟင်သန်နိုင်မဟုကို အာမခံသည့် သီသခဌာသယန္တရာသမျာသသည် ကံမကောင်သစလာဖဌင့်၊ ကောင်သစလာမဟတ်တမ်သတင်ထာသခဌင်သမရဟိပါ။ Prometheus ဗာသရဟင်သ 2.3.2 သည် WAL ကို 10 စက္ကန့်တိုင်သ ဒစ်ခ်သို့ ဖယ်ထုတ်ပဌီသ ကရလေသချယ်မဟုကို အသုံသပဌုသူအာသ ပဌင်ဆင်သတ်မဟတ်၍မရပါ။

ကျစ်ကျစ်လျစ်လျစ်

Prometheus TSDB သည် LSM (Log Structured Merge) စတိုသဆိုင်ကဲ့သို့ ဒီဇိုင်သထုတ်ထာသသည်- ခေါင်သတုံသကို ဒစ်ခ်သို့ အခါအာသလျော်စလာ ဖယ်ထုတ်ထာသပဌီသ စုံစမ်သမေသမဌန်သမဟုမျာသအတလင်သ မျာသပဌာသလလန်သသော ဘလောက်မျာသကို စကင်န်ဖတ်ခဌင်သမဟ ရဟောင်ရဟာသရန် သေသငယ်သောအတုံသမျာသစလာကို အတူတကလ ပေါင်သစပ်ထာသသည်။ ကနေရာတလင် တစ်ရက်တာလုပ်ဆောင်ပဌီသနောက် စမ်သသပ်မဟုစနစ်တလင် ကျလန်ုပ်သတိပဌုမိသော လုပ်ကလက်အရေအတလက်ကို ကနေရာတလင် တလေ့မဌင်နိုင်သည်။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

စတိုသဆိုင်အကဌောင်သ ပိုမိုလေ့လာလိုပါက၊ ရရဟိနိုင်သောပိတ်ဆို့မဟုမျာသနဟင့် ၎င်သတို့သည် မည်သို့ဖဌစ်တည်လာပုံမျာသပါရဟိသော meta.json ဖိုင်ကို စစ်ဆေသနိုင်ပါသည်။

{
       "ulid": "01CPZDPD1D9R019JS87TPV5MPE",
       "minTime": 1536472800000,
       "maxTime": 1536494400000,
       "stats": {
               "numSamples": 8292128378,
               "numSeries": 1673622,
               "numChunks": 69528220
       },
       "compaction": {
               "level": 2,
               "sources": [
                       "01CPYRY9MS465Y5ETM3SXFBV7X",
                       "01CPYZT0WRJ1JB1P0DP80VY5KJ",
                       "01CPZ6NR4Q3PDP3E57HEH760XS"
               ],
               "parents": [
                       {
                               "ulid": "01CPYRY9MS465Y5ETM3SXFBV7X",
                               "minTime": 1536472800000,
                               "maxTime": 1536480000000
                       },
                       {
                               "ulid": "01CPYZT0WRJ1JB1P0DP80VY5KJ",
                               "minTime": 1536480000000,
                               "maxTime": 1536487200000
                       },
                       {
                               "ulid": "01CPZ6NR4Q3PDP3E57HEH760XS",
                               "minTime": 1536487200000,
                               "maxTime": 1536494400000
                       }
               ]
       },
       "version": 1
}

Prometheus ရဟိ အပိုင်သမျာသကို ညသခေါင်သဘလောက်အာသ ဒစ်ခ်သို့ ဆလဲထုတ်သည့်အချိန်နဟင့် ချိတ်ဆက်ထာသသည်။ ကအချိန်တလင် ထိုသို့သော လုပ်ဆောင်ချက်မျာသစလာကို ဆောင်ရလက်နိုင်ပါသည်။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

အရလယ်အစာသ ကန့်သတ်ချက်မျာသသည် မည်သည့်နည်သနဟင့်မျဟ ကန့်သတ်မထာသဘဲ လုပ်ဆောင်နေစဉ်အတလင်သ ကဌီသမာသသော disk I/O spikes မျာသဖဌစ်ပေါ်စေနိုင်သည်ကို တလေ့ရဟိရသည်။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

CPU load မျာသခဌင်သ။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

ဟုတ်ပါတယ်၊ ၎င်သသည် စနစ်၏အမဌန်နဟုန်သအပေါ် အတော်လေသအပျက်သဘောဆောင်သည့်အကျိုသသက်ရောက်မဟုရဟိပဌီသ LSM သိုလဟောင်မဟုအတလက် ကဌီသမာသသောစိန်ခေါ်မဟုတစ်ရပ်လည်သ ဖဌစ်သည်- မဌင့်မာသသောတောင်သဆိုမဟုနဟုန်သထာသမျာသကို မဌင့်မာသစလာမဖဌစ်စေဘဲ မဌင့်မာသသောတောင်သဆိုမဟုနဟုန်သထာသမျာသကို ပံ့ပိုသရန် သေသငယ်သောပမာဏကို မည်သို့လုပ်ဆောင်ရမည်နည်သ။
compaction လုပ်ငန်သစဉ်တလင် memory ကိုအသုံသပဌုခဌင်သသည်လည်သ စိတ်ဝင်စာသစရာကောင်သလဟသည်။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

စုစည်သပဌီသနောက်၊ မဟတ်ဉာဏ်အမျာသစုသည် Cached မဟ Free သို့ ပဌောင်သလဲသလာသသည်ကို ကျလန်ုပ်တို့မဌင်နိုင်သည်- ဆိုလိုသည်မဟာ အဖိုသတန်သောအချက်အလက်မျာသကို ထိုနေရာမဟ ဖယ်ရဟာသလိုက်ပဌီဖဌစ်သည်။ ဒီမဟာသုံသရင် သိချင်တယ်။ fadvice() သို့မဟုတ် အခဌာသသော သေသငယ်အောင်ပဌုလုပ်နည်သအချို့၊ သို့မဟုတ် ကဌိတ်ခလဲနေစဉ်အတလင်သ ကက်ရဟ်မျာသကို ဖျက်ဆီသခံရသည့် တုံသမျာသမဟ လလတ်မဌောက်သလာသခဌင်သကဌောင့်လာသ။

ရဟုံသနိမ့်ပဌီသနောက် ပဌန်လည်ထူထောင်ရေသ

ကျရဟုံသမဟုတလေကနေ ပဌန်လည်ရယူဖို့ အချိန်ယူရပဌီသ အကဌောင်သပဌချက်ကောင်သပါ။ တစ်စက္ကန့်လျဟင် စံချိန်တစ်သန်သ၏ အဝင်စီသကဌောင်သတစ်ခုအတလက်၊ SSD drive ကို ထည့်သလင်သစဉ်သစာသပဌီသ ပဌန်လည်ရယူခဌင်သကို လုပ်ဆောင်နေစဉ်တလင် ကျလန်ုပ်သည် 25 မိနစ်ခန့် စောင့်ခဲ့ရသည်။

level=info ts=2018-09-13T13:38:14.09650965Z caller=main.go:222 msg="Starting Prometheus" version="(version=2.3.2, branch=v2.3.2, revision=71af5e29e815795e9dd14742ee7725682fa14b7b)"
level=info ts=2018-09-13T13:38:14.096599879Z caller=main.go:223 build_context="(go=go1.10.1, user=Jenkins, date=20180725-08:58:13OURCE)"
level=info ts=2018-09-13T13:38:14.096624109Z caller=main.go:224 host_details="(Linux 4.15.0-32-generic #35-Ubuntu SMP Fri Aug 10 17:58:07 UTC 2018 x86_64 1bee9e9b78cf (none))"
level=info ts=2018-09-13T13:38:14.096641396Z caller=main.go:225 fd_limits="(soft=1048576, hard=1048576)"
level=info ts=2018-09-13T13:38:14.097715256Z caller=web.go:415 component=web msg="Start listening for connections" address=:9090
level=info ts=2018-09-13T13:38:14.097400393Z caller=main.go:533 msg="Starting TSDB ..."
level=info ts=2018-09-13T13:38:14.098718401Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536530400000 maxt=1536537600000 ulid=01CQ0FW3ME8Q5W2AN5F9CB7R0R
level=info ts=2018-09-13T13:38:14.100315658Z caller=web.go:467 component=web msg="router prefix" prefix=/prometheus
level=info ts=2018-09-13T13:38:14.101793727Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536732000000 maxt=1536753600000 ulid=01CQ78486TNX5QZTBF049PQHSM
level=info ts=2018-09-13T13:38:14.102267346Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536537600000 maxt=1536732000000 ulid=01CQ78DE7HSQK0C0F5AZ46YGF0
level=info ts=2018-09-13T13:38:14.102660295Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536775200000 maxt=1536782400000 ulid=01CQ7SAT4RM21Y0PT5GNSS146Q
level=info ts=2018-09-13T13:38:14.103075885Z caller=repair.go:39 component=tsdb msg="found healthy block" mint=1536753600000 maxt=1536775200000 ulid=01CQ7SV8WJ3C2W5S3RTAHC2GHB
level=error ts=2018-09-13T14:05:18.208469169Z caller=wal.go:275 component=tsdb msg="WAL corruption detected; truncating" err="unexpected CRC32 checksum d0465484, want 0" file=/opt/prometheus/data/.prom2-data/wal/007357 pos=15504363
level=info ts=2018-09-13T14:05:19.471459777Z caller=main.go:543 msg="TSDB started"
level=info ts=2018-09-13T14:05:19.471604598Z caller=main.go:603 msg="Loading configuration file" filename=/etc/prometheus.yml
level=info ts=2018-09-13T14:05:19.499156711Z caller=main.go:629 msg="Completed loading of configuration file" filename=/etc/prometheus.yml
level=info ts=2018-09-13T14:05:19.499228186Z caller=main.go:502 msg="Server is ready to receive web requests."

ပဌန်လည်ရယူခဌင်သလုပ်ငန်သစဉ်၏ အဓိကပဌဿနာမဟာ မဟတ်ဉာဏ်သုံသစလဲမဟု မဌင့်မာသသည်။ ပုံမဟန်အခဌေအနေတလင် ဆာဗာသည် တူညီသောမဟတ်ဉာဏ်ပမာဏဖဌင့် တည်ငဌိမ်စလာအလုပ်လုပ်နိုင်သော်လည်သ ၎င်သသည် OOM ကဌောင့် ပျက်စီသသလာသပါက ပဌန်လည်ကောင်သမလန်လာမည်မဟုတ်ပေ။ ကျလန်ုပ်တလေ့သော တစ်ခုတည်သသော ဖဌေရဟင်သချက်မဟာ ဒေတာစုဆောင်သခဌင်သကို ပိတ်ရန်၊ ဆာဗာကို ယူဆောင်လာရန်၊ ၎င်သကို ပဌန်လည်ရယူပဌီသ စုစည်သမဟုကို ဖလင့်ထာသခဌင်သဖဌင့် ပဌန်လည်စတင်ရန်ဖဌစ်သည်။

ပူနလေသလာသည်။

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

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

မမ်မိုရီအသုံသပဌုမဟုတလင် ကလာဟချက်က Prometheus သည် စုစည်သမဟုအာသလုံသကို အစမဟစ၍ မသတ်မဟတ်နိုင်ဘဲ အချို့သောအချက်အလက်မျာသ ဆုံသရဟုံသသလာသကဌောင်သ ဖော်ပဌသည်။
မဌင့်မာသသော CPU နဟင့် Memory load အတလက် အကဌောင်သရင်သအတိအကျကို ကျလန်ုပ်မသိပါ။ ဒါက ကဌိမ်နဟုန်သမဌင့်တဲ့ head block ထဲမဟာ time series အသစ်ဖန်တီသမဟုကဌောင့်လို့ ကျလန်တော် သံသယဖဌစ်မိပါတယ်။

CPU load မျာသလာသည်။

အလလန်မဌင့်မာသသော I/O load ကိုဖန်တီသပေသသည့် compactions အပဌင်၊ CPU load တလင် နဟစ်မိနစ်တိုင်သ ပဌင်သထန်စလာ spikes မျာသကို သတိပဌုမိပါသည်။ Input စီသဆင်သမဟု မဌင့်မာသပဌီသ Go ၏ အမဟိုက်စုဆောင်သမဟုကဌောင့် ဖဌစ်ပေါ်လာပုံရပဌီသ အနည်သဆုံသ core အချို့ကို အပဌည့်ထည့်ထာသသောအခါတလင် ပေါက်ကလဲမဟုမျာသသည် ပိုရဟည်သည်။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

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

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

Prometheus တင်ပို့သူသည် တစ်စက္ကန့်မျဟ ပိတ်သလာသသည်ကို သတိပဌုမိနိုင်သည်။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

အမဟိုက်စုဆောင်သခဌင်သ (GC) နဟင့် ဆက်နလယ်မဟုကို ကျလန်ုပ်တို့ သတိပဌုမိနိုင်ပါသည်။

Prometheus 2 ရဟိ TSDB ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

ကောက်ချက်

Prometheus 2 ရဟိ TSDB သည် အချိန်စီသရီသပေါင်သ သန်သပေါင်သမျာသစလာကို ကိုင်တလယ်ဖဌေရဟင်သနိုင်စလမ်သရဟိပဌီသ တစ်စက္ကန့်လျဟင် မဟတ်တမ်သထောင်ပေါင်သမျာသစလာကို တစ်ချိန်တည်သတလင် အလလန်သေသငယ်သော ဟာ့ဒ်ဝဲကို အသုံသပဌုထာသသည်။ CPU နဟင့် disk I/O အသုံသချမဟုသည် အထင်ကဌီသစရာကောင်သသည်။ ကျလန်ုပ်၏နမူနာတလင် core တစ်ခုလျဟင် 200 မက်ထရစ်နဟုန်သအထိ ပဌသခဲ့သည်။

ချဲ့ထလင်ရန် အစီအစဉ်ဆလဲရန်၊ လုံလောက်သော မဟတ်ဉာဏ်ပမာဏကို မဟတ်သာသထာသရန် လိုအပ်ပဌီသ ၎င်သသည် မဟန်ကန်သော မဟတ်ဉာဏ်ဖဌစ်ရပါမည်။ ကျလန်ုပ်လေ့လာတလေ့ရဟိခဲ့သော အသုံသပဌုခဲ့သော မမ်မိုရီပမာဏသည် အဝင်စီသကဌောင်သ၏ တစ်စက္ကန့်လျဟင် မဟတ်တမ်သ 5 လျဟင် 100 GB ခန့်ရဟိပဌီသ လည်ပတ်မဟုစနစ် ကက်ရဟ်နဟင့်အတူ သိမ်သပိုက်ထာသသော မမ်မိုရီ 000 GB ခန့်ကို ပေသဆောင်သည်။

ဟုတ်ပါတယ်၊ CPU နဲ့ disk I/O spikes တလေကို ထိန်သညဟိဖို့ လုပ်ဆောင်စရာတလေ အမျာသကဌီသရဟိနေသေသပဌီသ ငယ်ရလယ်တဲ့ TSDB Prometheus 2 ကို InnoDB, TokuDB, RocksDB, WiredTiger နဲ့ နဟိုင်သယဟဉ်ကဌည့်တဲ့အခါ ဒါက အံ့သဌစရာတော့ မဟုတ်ပါဘူသ။ သူတို့ရဲ့ဘဝသံသရာအစောပိုင်သမဟာ ပဌဿနာမျာသ။

source: www.habr.com

မဟတ်ချက် Add