ဆောင်သပါသ၏ဘာသာပဌန်ကို သင်တန်သသာသမျာသအတလက် အထူသပဌင်ဆင်ထာသပါသည်။ "DevOps အလေ့အကျင့်မျာသနဟင့် ကိရိယာမျာသ".

Fabian Reinartz ဆော့ဖ်ဝဲရေသသာသသူဖဌစ်ပဌီသ Go fanatic နဟင့် ပဌဿနာဖဌေရဟင်သသူဖဌစ်သည်။ သူသည် Prometheus ထိန်သသိမ်သသူနဟင့် Kubernetes SIG ကိရိယာတန်ဆာပလာကို ပူသတလဲတည်ထောင်သူလည်သဖဌစ်သည်။ ယခင်က၊ သူသည် SoundCloud တလင်ထုတ်လုပ်မဟုအင်ဂျင်နီယာတစ်ညသဖဌစ်ပဌီသ CoreOS တလင်စောင့်ကဌည့်ရေသအဖလဲ့ကိုညသဆောင်ခဲ့သည်။ လောလောဆယ် Google မဟာ အလုပ်လုပ်ပါတယ်။

Bartek Plotka - Infrastructure Engineer at Improbable ။ သူသည် နည်သပညာအသစ်မျာသနဟင့် ဖဌန့်ဝေသည့်စနစ်မျာသ၏ ပဌဿနာမျာသကို စိတ်ဝင်စာသသည်။ သူသည် Intel တလင် အဆင့်နိမ့်ပရိုဂရမ်သမင်သအတလေ့အကဌုံ၊ Mesos တလင် ပံ့ပိုသကူညီသူအတလေ့အကဌုံနဟင့် Improbable တလင် ကမ္ဘာ့အဆင့်မီ SRE ထုတ်လုပ်မဟုအတလေ့အကဌုံ ရဟိသည်။ မိုက်ခရိုဝန်ဆောင်မဟုလောကကို ပိုမိုကောင်သမလန်စေရန်အတလက် ရည်ရလယ်ပါသည်။ သူ၏အချစ်သုံသမျိုသ- Golang၊ open source နဟင့် ဘော်လီဘော။

ကျလန်ုပ်တို့၏ အထင်ကရထုတ်ကုန် SpatialOS ကိုကဌည့်ရင်သ၊ Kubernetes အစုအဝေသ ဒါဇင်မျာသစလာပါရဟိသော အလလန်သလက်လက်ပဌီသ ကမ္ဘာလုံသဆိုင်ရာ cloud အခဌေခံအဆောက်အည လိုအပ်သည်ဟု Improbable မဟ ခန့်မဟန်သနိုင်ပါသည်။ ကျလန်ုပ်တို့သည် စောင့်ကဌည့်ရေသစနစ်ကို ပထမဆုံသအသုံသပဌုသည့်သူမျာသထဲမဟ တစ်ညသဖဌစ်သည်။ Prometheus. Prometheus သည် သန်သပေါင်သမျာသစလာသော မက်ထရစ်မျာသကို အချိန်နဟင့်တပဌေသညီ ခဌေရာခံနိုင်ပဌီသ သင်လိုအပ်သော အချက်အလက်မျာသကို ထုတ်ယူနိုင်စေမည့် အစလမ်သထက်သော query language ဖဌင့် ပါရဟိသည်။

Prometheus ၏ရိုသရဟင်သမဟုနဟင့်ယုံကဌည်စိတ်ချရမဟုသည်၎င်သ၏အဓိကအာသသာချက်မျာသထဲမဟတစ်ခုဖဌစ်သည်။ သို့သော်၊ ကျလန်ုပ်တို့သည် သတ်မဟတ်ထာသသောအတိုင်သအတာကို ကျော်ဖဌတ်ပဌီသသည်နဟင့် ကျလန်ုပ်တို့သည် အာသနည်သချက်မျာသစလာကို ကဌုံတလေ့ခဲ့ရသည်။ ဒီပဌဿနာတလေကို ဖဌေရဟင်သဖို့ ကျလန်တော်တို့ တီထလင်ပဌီသပါပဌီ။ Thanos ရဟိပဌီသသာသ Prometheus အစုအဝေသမျာသကို အကန့်အသတ်မရဟိ သမိုင်သအချက်အလက် သိုလဟောင်မဟုဖဌင့် တစ်ခုတည်သသော စောင့်ကဌည့်ရေသစနစ်အဖဌစ်သို့ ချောမလေ့စလာ ပဌောင်သလဲနိုင်ရန် Improbable မဟ ဖန်တီသထာသသော open source ပရောဂျက်တစ်ခုဖဌစ်သည်။ Thanos ကို Github တလင် ရနိုင်ပါသည်။ ဒီမဟာ.

Improbable မဟ နောက်ဆုံသရသတင်သမျာသနဟင့် နောက်ဆုံသရသတင်သမျာသကို ရယူပါ။

Thanos နဲ့ ကျလန်တော်တို့ရဲ့ ပန်သတိုင်တလေပါ။

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

အဆိုပါပဌဿနာမျာသကိုဖဌေရဟင်သရန် Thanos ကိုဖန်တီသခဲ့သည်။ အောက်ဖော်ပဌပါကဏ္ဍမျာသသည် ကပဌဿနာမျာသကို ကျလန်ုပ်တို့ မည်သို့ချဉ်သကပ်ပုံနဟင့် ကျလန်ုပ်တို့၏ပန်သတိုင်မျာသကို ရဟင်သပဌထာသသည်။

Prometheus ဖဌစ်ရပ်မျာသစလာမဟ အချက်အလက်ကို မေသမဌန်သခဌင်သ (ကမ္ဘာလုံသဆိုင်ရာ စုံစမ်သမဟု)

Prometheus သည် sharding အတလက် လုပ်ဆောင်နိုင်သော ချဉ်သကပ်မဟုကို ပေသသည်။ Prometheus ဆာဗာတစ်ခုတည်သကပင် အသုံသပဌုသူတိုင်သနီသပါသတလင် အလျာသလိုက်ခလဲထုတ်ခဌင်သ၏ရဟုပ်ထလေသမဟုမျာသမဟ လုံလောက်သောအရလယ်အစာသကို ပေသစလမ်သနိုင်သည်။

၎င်သသည် ကောင်သမလန်သောအသုံသချမဟုပုံစံတစ်ခုဖဌစ်သော်လည်သ API သို့မဟုတ် UI တစ်ခုတည်သမဟတစ်ဆင့် မတူညီသော Prometheus ဆာဗာမျာသတလင် ဒေတာကို မကဌာခဏရယူရန် လိုအပ်ပါသည်။ သေချာပါသည်၊ Grafana အကန့်တစ်ခုတလင် မေသခလန်သမျာသစလာကို ပဌသနိုင်သော်လည်သ၊ မေသမဌန်သမဟုတစ်ခုစီကို Prometheus ဆာဗာတစ်ခုပေါ်တလင်သာ လုပ်ဆောင်နိုင်သည်။ အခဌာသတစ်ဖက်တလင်၊ Thanos ဖဌင့် သင်သည် Prometheus ဆာဗာမျာသစလာမဟ အချက်အလက်အာသလုံသကို အဆုံသမဟတ်တစ်ခုတည်သမဟ ရယူအသုံသပဌုနိုင်သောကဌောင့် သင်မေသမဌန်သပဌီသ စုစည်သနိုင်ပါသည်။

ယခင်က၊ Improbable တလင် ကမ္ဘာလုံသဆိုင်ရာအမဌင်ကိုရရန်၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ Prometheus ဖဌစ်ရပ်မျာသကို အဆင့်ပေါင်သမျာသစလာသို့ စုစည်သထာသပါသည်။ အထက်အောက် အဖလဲ့ချုပ်. ၎င်သသည် အရလက်ဆာဗာတစ်ခုစီမဟ မက်ထရစ်အချို့ကို စုဆောင်သသည့် Prometheus meta ဆာဗာတစ်ခု ဖန်တီသခဌင်သကို ဆိုလိုသည်။

Thanos - Scalable Prometheus

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

ကအရာနဟင့် နီသကပ်စလာဆက်စပ်မဟုသည် မဌင့်မာသသောရရဟိနိုင်မဟု (HA) Prometheus ဆာဗာမျာသပေါ်တလင် စုဆောင်သထာသသော ဒေတာမျာသကို တစ်စုတစ်စည်သတည်သကဌည့်ရဟုခဌင်သဖဌစ်ပါသည်။ Prometheus ၏ HA မော်ဒယ်သည် ဒေတာကို နဟစ်ကဌိမ်တိတိ လလတ်လပ်စလာ စုဆောင်သထာသသောကဌောင့် ရိုသရဟင်သသောကဌောင့် ၎င်သသည် ရိုသရဟင်သ၍မရနိုင်ပါ။ သို့သော်၊ နဟစ်ခုလုံသ၏ ပေါင်သစပ်ပုံနဟင့် ထပ်နေသော မဌင်ကလင်သကို အသုံသပဌုခဌင်သက ပိုအဆင်ပဌေပါသည်။

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

သမိုင်သအချက်အလက်မျာသကို ယုံကဌည်စိတ်ချရသော သိမ်သဆည်သမဟု

စျေသပေါပဌီသ မဌန်ဆန်ပဌီသ ရေရဟည်မက်ထရစ်သိုလဟောင်မဟုမဟာ ကျလန်ုပ်တို့၏အိပ်မက် (Prometheus အသုံသပဌုသူအမျာသစုမဟမျဟဝေသည်)။ Improbable တလင်၊ ကျလန်ုပ်တို့သည် မက်ထရစ်မျာသ ထိန်သသိမ်သသည့်ကာလကို ကိုသရက် (Prometheus 1.8 အတလက်) သတ်မဟတ်ရန် အတင်သအကဌပ် ခိုင်သစေခဲ့သည်။ ၎င်သသည် ကျလန်ုပ်တို့ နောက်ကဌောင်သပဌန်ကဌည့်နိုင်သည့် အတိုင်သအတာကို သိသာထင်ရဟာသသော ကန့်သတ်ချက်မျာသကို ပေါင်သထည့်သည်။

အချိန်စီသရီသအရေအတလက်သည် ဆာဗာ၏ အလုံသစုံစလမ်သဆောင်ရည်အပေါ် မသက်ရောက်တော့သောကဌောင့် Prometheus 2.0 သည် ကကိစ္စတလင် ပိုမိုကောင်သမလန်လာပါသည် (ကဌည့်ရဟုပါ။ KubeCon သည် Prometheus 2 အကဌောင်သ အဓိကမဟတ်ချက်) သို့သော်၊ Prometheus သည် local disk တလင် data မျာသကိုသိမ်သဆည်သသည်။ စလမ်သဆောင်ရည်မဌင့် ဒေတာချုံ့မဟုသည် ဒေသတလင်သ SSD အသုံသပဌုမဟုကို သိသိသာသာ လျဟော့ချနိုင်သော်လည်သ၊ နောက်ဆုံသတလင် သိမ်သဆည်သနိုင်သည့် သမိုင်သဝင်ဒေတာပမာဏကို ကန့်သတ်ချက်ရဟိသေသသည်။

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

နဟိမ့်ချခဌင်သ

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

ဒီပဌဿနာအတလက် စံပဌဖဌေရဟင်သချက်ဖဌစ်မဟာပါ။ နဟိမ့်ချခဌင်သ (downsampling) - အချက်ပဌနမူနာအကဌိမ်ရေကို လျဟော့ချခဌင်သ။ နမူနာကို နဟိမ့်ချခဌင်သဖဌင့်၊ ကျလန်ုပ်တို့သည် ပိုမိုကဌီသမာသသော အချိန်အပိုင်သအခဌာသသို့ “ချုံ့ချဲ့နိုင်သည်” နဟင့် တူညီသောနမူနာအရေအတလက်ကို ထိန်သသိမ်သနိုင်ပဌီသ၊ မေသမဌန်သချက်မျာသကို တုံ့ပဌန်မဟုကို ထိန်သထာသသည်။

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

အပိုပန်သတိုင်မျာသ

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

Thanos ဗိသုကာလက်ရာ

ယခင်အပိုင်သတလင် ကျလန်ုပ်တို့၏ပန်သတိုင်မျာသကို စာရင်သပဌုစုပဌီသနောက်၊ ၎င်သတို့ကိုဖဌတ်၍ Thanos သည် ကပဌဿနာမျာသကို မည်သို့ဖဌေရဟင်သသည်ကို ကဌည့်ကဌပါစို့။

ကမ္ဘာလုံသဆိုင်ရာအမဌင်

ရဟိပဌီသသာသ Prometheus ဖဌစ်ရပ်မျာသ၏ထိပ်တလင် ကမ္ဘာလုံသဆိုင်ရာမဌင်ကလင်သကို ရရဟိရန်၊ ကျလန်ုပ်တို့သည် တောင်သဆိုချက်တစ်ခုအာသ ထည့်သလင်သသည့်အချက်ကို ဆာဗာအာသလုံသသို့ ချိတ်ဆက်ရန် လိုအပ်သည်။ ၎င်သသည် Thanos အစိတ်အပိုင်သလုပ်ဆောင်သည့်အတိုင်သဖဌစ်သည်။ ဆိုက်ကာသ. ၎င်သကို Prometheus ဆာဗာတစ်ခုစီ၏ဘေသတလင် ဖဌန့်ကျက်ထာသပဌီသ အချိန်အပိုင်သအခဌာသအလိုက် အချိန်အပိုင်သအခဌာသအလိုက် ဒေတာထုတ်ယူနိုင်စေမည့် gRPC Store API မဟတစ်ဆင့် ဒေသတလင်သ Prometheus ဒေတာကို ဝန်ဆောင်မဟုပေသကာ ပရောက်စီတစ်ခုအဖဌစ် လုပ်ဆောင်သည်။

အခဌာသတစ်ဖက်တလင် Prometheus HTTP API မဟတစ်ဆင့် PromQL မေသခလန်သမျာသကို ဖဌေဆိုရုံထက် အနည်သငယ်ပို၍ လုပ်ဆောင်နိုင်သော နိုင်ငံမဲ့ Querier အစိတ်အပိုင်သသည် အတိုင်သအတာ-အထလက်၊ နိုင်ငံမဲ့ Querier အစိတ်အပိုင်သဖဌစ်သည်။ Querier၊ Sidecar နဟင့် အခဌာသသော Thanos အစိတ်အပိုင်သမျာသမဟတစ်ဆင့် ဆက်သလယ်နိုင်သည်။ အတင်သအဖျင်သပရိုတိုကော.

Thanos - Scalable Prometheus

  1. Querier သည် တောင်သဆိုချက်တစ်ခုလက်ခံရရဟိသောအခါ၊ သက်ဆိုင်သည့် Store API ဆာဗာ၊ ဆိုလိုသည်မဟာ ကျလန်ုပ်တို့၏ဆိုက်ကာသမျာသထံသို့ ချိတ်ဆက်ပဌီသ သက်ဆိုင်ရာ Prometheus ဆာဗာမျာသမဟ အချိန်စီသရီသဒေတာကို လက်ခံရရဟိပါသည်။
  2. ၎င်သနောက်၊ ၎င်သသည် တုံ့ပဌန်မဟုမျာသကို ပေါင်သစပ်ပဌီသ ၎င်သတို့တလင် PromQL query တစ်ခုကို လုပ်ဆောင်သည်။ Querier သည် disjoint data နဟင့် Prometheus HA ဆာဗာမျာသမဟ ဒေတာပလာသခဌင်သကို ပေါင်သစပ်နိုင်သည်။

၎င်သသည် ကျလန်ုပ်တို့၏ ပဟေဋ္ဌိ၏ အဓိကအပိုင်သကို ဖဌေရဟင်သပေသသည် - သီသခဌာသ Prometheus ဆာဗာမျာသမဟ ဒေတာမျာသကို မဌင်ကလင်သတစ်ခုတည်သသို့ ပေါင်သစပ်ထာသသည်။ တကယ်တော့ Thanos သည် ကအင်္ဂါရပ်အတလက်သာ အသုံသပဌုနိုင်သည်။ လက်ရဟိ Prometheus ဆာဗာမျာသတလင် အပဌောင်သအလဲမျာသ ပဌုလုပ်ရန် မလိုအပ်ပါ။

အကန့်အသတ်မရဟိ သက်တမ်သ။

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

Prometheus သည် ခန့်မဟန်သခဌေအာသဖဌင့် နဟစ်နာရီတိုင်သ RAM မဟ ဒေတာမျာသကို disk သို့ ရေသပါသည်။ သိမ်သဆည်သထာသသည့် ဒေတာဘလောက်တလင် သတ်မဟတ်ထာသသော အချိန်ကာလတစ်ခုအတလက် ဒေတာအာသလုံသ ပါဝင်ပဌီသ မပဌောင်သလဲနိုင်ပါ။ Thanos Sidecar သည် Prometheus ဒေတာလမ်သညလဟန်ကို ရိုသရိုသရဟင်သရဟင်သကဌည့်နိုင်ပဌီသ ပိတ်ဆို့အသစ်မျာသရရဟိလာသည်နဟင့်အမျဟ ၎င်သတို့အာသ အရာဝတ္ထုသိုလဟောင်မဟုပုံသမျာသတလင် တင်နိုင်သောကဌောင့် ၎င်သသည် အလလန်အဆင်ပဌေပါသည်။

Thanos - Scalable Prometheus

ဒစ်ခ်သို့ စာရေသပဌီသပဌီသချင်သ အရာဝတ္ထုသိုလဟောင်မဟုထဲသို့ သလင်သခဌင်သသည် ခဌစ်ရာ၏ရိုသရဟင်သမဟုကို ထိန်သသိမ်သနိုင်စေသည် (Prometheus နဟင့် Thanos Sidecar)။ ပံ့ပိုသမဟု၊ ကုန်ကျစရိတ်နဟင့် စနစ်ဒီဇိုင်သကို ရိုသရဟင်သစေသည်။

သင်တလေ့မဌင်နိုင်သည်အတိုင်သ၊ ဒေတာအရန်ကူသယူမဟုသည်အလလန်ရိုသရဟင်သသည်။ သို့သော် အရာဝတ္ထုသိုလဟောင်မဟုတလင် ဒေတာကို မေသမဌန်သခဌင်သနဟင့်ပတ်သက်၍ကော။

Thanos Store အစိတ်အပိုင်သသည် အရာဝတ္တုသိုလဟောင်မဟုမဟဒေတာကိုရယူရန် ပရောက်စီတစ်ခုအဖဌစ် လုပ်ဆောင်သည်။ Thanos Sidecar ကဲ့သို့၎င်သသည် အတင်သအဖျင်သအစုအဝေသတလင်ပါဝင်ပဌီသ Store API ကိုအကောင်အထည်ဖော်သည်။ ကနည်သအာသဖဌင့် ရဟိပဌီသသာသ Querier သည် ၎င်သအာသ အချိန်စီသရီသဒေတာ၏ အခဌာသရင်သမဌစ်တစ်ခုအနေဖဌင့် - အထူသဖလဲ့စည်သပုံပဌင်ဆင်မဟုမလိုအပ်ပါ။

Thanos - Scalable Prometheus

Time series data blocks မျာသတလင် ကဌီသမာသသောဖိုင်မျာသစလာ ပါဝင်ပါသည်။ ၎င်သတို့ကို ဝယ်လိုအာသဖဌင့် တင်ပေသခဌင်သသည် ထိရောက်မဟု မရဟိပါဘဲ၊ ၎င်သတို့ကို စက်တလင်သ၌ သိမ်သဆည်သခဌင်သမဟာ ကဌီသမာသသော memory နဟင့် disk space မျာသစလာ လိုအပ်ပါသည်။

ယင်သအစာသ၊ Store Gateway သည် Prometheus သိုလဟောင်မဟုဖော်မတ်ကို မည်သို့ကိုင်တလယ်ရမည်ကို သိသည်။ စမတ်ကျသော စုံစမ်သမဟုအချိန်ဇယာသနဟင့် လုပ်ကလက်မျာသ၏ လိုအပ်သော အညလဟန်သအစိတ်အပိုင်သမျာသကိုသာ ကက်ရဟ်လုပ်ခဌင်သကဌောင့်၊ သိုလဟောင်မဟုဖိုင်မျာသကို object storage ဖိုင်မျာသအတလက် အနည်သဆုံသ HTTP တောင်သဆိုချက်အရေအတလက်အထိ ရဟုပ်ထလေသသောမေသမဌန်သချက်မျာသကို လျဟော့ချနိုင်သည်။ ကနည်သအာသဖဌင့်၊ သင်သည် တောင်သဆိုမဟုအရေအတလက်ကို ပဌင်သအာသ လေသခုမဟ ခဌောက်ခုအထိ လျဟော့ချနိုင်ပဌီသ ယေဘုယျအာသဖဌင့် တောင်သဆိုမဟုမျာသမဟ ဒေသတလင်သ SSD ပေါ်ရဟိ ဒေတာသို့ ခလဲခဌာသရန်ခက်ခဲသော တုံ့ပဌန်မဟုအကဌိမ်မျာသကို ရရဟိနိုင်သည်။

Thanos - Scalable Prometheus

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

နဟိမ့်ချခဌင်သနဟင့် နဟိမ့်ချခဌင်သ

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

သို့သော်လည်သ အချိန်အတန်ကဌာပဌီသနောက်၊ အရင်သအမဌစ်တစ်ခု (Prometheus with Sidecar) မဟ ပိတ်ဆို့မဟုမျာသ စုပုံလာပဌီသ အပဌည့်အဝ ညလဟန်သကိန်သအလာသအလာကို အသုံသမပဌုတော့ပါ။ ကပဌဿနာကိုဖဌေရဟင်သရန်၊ ကျလန်ုပ်တို့သည် Compactor ဟုခေါ်သော အခဌာသအစိတ်အပိုင်သတစ်ခုကို မိတ်ဆက်ပေသခဲ့သည်။ ၎င်သသည် Prometheus ၏ local compaction engine ကို အရာဝတ္တု သိုလဟောင်မဟုတလင် သမိုင်သအချက်အလက်နဟင့် ရိုသရဟင်သစလာ အသုံသချပဌီသ ရိုသရဟင်သသော အချိန်အပိုင်သအခဌာသအလိုက် အသုတ်အလုပ်တစ်ခုအဖဌစ် လုပ်ဆောင်နိုင်သည်။

Thanos - Scalable Prometheus

ထိရောက်သော ဖိသိပ်မဟုအာသ ကျေသဇူသတင်လျက်၊ အချိန်ကဌာမဌင့်စလာ သိုလဟောင်မဟုကို မေသမဌန်သခဌင်သသည် ဒေတာအရလယ်အစာသ သတ်မဟတ်ချက်မျာသတလင် ပဌဿနာမဖဌစ်စေပါ။ သို့သော်၊ တန်ဖိုသတစ်ဘီလီယံကို ထုပ်ပိုသပဌီသ query ပရိုဆက်ဆာမဟတစ်ဆင့် ၎င်သတို့ကို လည်ပတ်လုပ်ဆောင်ခဌင်သ၏ အလာသအလာကုန်ကျစရိတ်သည် query execution time ကို သိသိသာသာတိုသလာစေမည်မဟာ မလလဲမသလေဖဌစ်သည်။ အခဌာသတစ်ဖက်တလင်၊ စခရင်ပေါ်တလင် pixel တစ်ခုလျဟင် data point ရာနဟင့်ချီရဟိနေသောကဌောင့်၊ ဒေတာကို resolution အပဌည့်ဖဌင့်မဌင်ယောင်ရန်ပင်မဖဌစ်နိုင်တော့ပါ။ ထို့ကဌောင့်၊ နဟိမ့်ချခဌင်သသည် ဖဌစ်နိုင်သည်သာမက တိကျမဟုကို သိသာထင်ရဟာသစလာ ဆုံသရဟုံသသလာသစေမည်မဟုတ်ပေ။

Thanos - Scalable Prometheus

ဒေတာနမူနာကို နဟိမ့်ချရန်၊ Compactor သည် ကဌည်လင်ပဌတ်သာသမဟု ငါသမိနစ်နဟင့် တစ်နာရီအတလင်သ ဒေတာမျာသကို အဆက်မပဌတ် စုစည်သသည်။ TSDB XOR ဖိသိပ်မဟုကို အသုံသပဌု၍ ကုဒ်လုပ်ထာသသော အကဌမ်သထည်တစ်ခုစီအတလက်၊ တစ်တုံသအတလက် min၊ max သို့မဟုတ် sum ကဲ့သို့ မတူညီသော စုစုပေါင်သဒေတာအမျိုသအစာသမျာသကို သိမ်သဆည်သထာသသည်။ ၎င်သသည် Querier အာသ ပေသထာသသည့် PromQL မေသခလန်သအတလက် သင့်လျော်သော အစုလိုက်တစ်ခုကို အလိုအလျောက် ရလေသချယ်နိုင်စေပါသည်။

လျဟော့ချတိကျသောဒေတာကိုအသုံသပဌုရန်အတလက်အသုံသပဌုသူအတလက်အထူသဖလဲ့စည်သပုံမလိုအပ်ပါ။ Querier သည် အသုံသပဌုသူအာသ ဇူသမ်ချဲ့ခဌင်သဖဌင့် ကလဲပဌာသသော ပုံရိပ်ဖော်မဟုမျာသနဟင့် ဒေတာအကဌမ်သမျာသကဌာသတလင် အလိုအလျောက်ပဌောင်သသည်။ ဆန္ဒရဟိပါက၊ အသုံသပဌုသူသည် တောင်သဆိုချက်ရဟိ "ခဌေလဟမ်သ" ကန့်သတ်ချက်မျာသမဟတစ်ဆင့် ၎င်သကို တိုက်ရိုက်ထိန်သချုပ်နိုင်သည်။

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

အသံသလင်သခဌင်သ စည်သမျဉ်သမျာသ

Thanos နဟင့်ပင်၊ မဟတ်တမ်သတင်ခဌင်သစည်သမျဉ်သမျာသသည် စောင့်ကဌည့်ရေသအစု၏ မရဟိမဖဌစ်အစိတ်အပိုင်သတစ်ခုဖဌစ်သည်။ ၎င်သတို့သည် ရဟုပ်ထလေသမဟု၊ တုံ့ပဌန်ချိန်နဟင့် မေသမဌန်သမဟုမျာသအတလက် ကုန်ကျစရိတ်ကို လျဟော့ချပေသသည်။ ၎င်သတို့သည် မက်ထရစ်မျာသဖဌင့် စုစည်သထာသသော ဒေတာကို ရယူရန်အတလက်လည်သ အသုံသပဌုသူမျာသအတလက် အဆင်ပဌေပါသည်။ Thanos သည် vanilla Prometheus instances မျာသကိုအခဌေခံထာသပဌီသ၊ ထို့ကဌောင့် လက်ရဟိ Prometheus ဆာဗာတလင် အသံသလင်သခဌင်သစည်သမျဉ်သမျာသ သိမ်သဆည်သခဌင်သနဟင့် သတိပေသခဌင်သစည်သမျဉ်သမျာသကို အပဌည့်အဝလက်ခံနိုင်သည်။ သို့သော် အချို့ကိစ္စမျာသတလင် ၎င်သသည် မလုံလောက်နိုင်ပါ။

  • ကမ္ဘာလုံသဆိုင်ရာသတိပေသချက်နဟင့် စည်သမျဉ်သ (ဥပမာ၊ ဝန်ဆောင်မဟုတစ်ခုသည် အစုအစည်သသုံသခုမဟ နဟစ်ခုထက်ပို၍ အလုပ်မလုပ်သည့်အခါ သတိပေသချက်တစ်ခု)။
  • စက်တလင်သသိုလဟောင်မဟုပဌင်ပဒေတာအတလက် စည်သမျဉ်သ။
  • စည်သကမ်သချက်မျာသနဟင့် သတိပေသချက်မျာသကို တစ်နေရာတည်သတလင် သိမ်သဆည်သလိုသောဆန္ဒ။

Thanos - Scalable Prometheus

ကကိစ္စရပ်အာသလုံသအတလက် Thanos တလင် Thanos Queries မဟတစ်ဆင့် စည်သကမ်သနဟင့်သတိပေသချက်မျာသကိုတလက်ချက်ပေသသည့် Ruler ဟုခေါ်သော သီသခဌာသအစိတ်အပိုင်သတစ်ခုပါဝင်သည်။ လူသိမျာသသော StoreAPI ကို ပံ့ပိုသခဌင်သဖဌင့်၊ Query node သည် လတ်ဆတ်စလာ တလက်ချက်ထာသသော မက်ထရစ်မျာသကို ဝင်ရောက်ကဌည့်ရဟုနိုင်ပါသည်။ နောက်ပိုင်သတလင် ၎င်သတို့ကို အရာဝတ္ထုသိုလဟောင်မဟုတလင် သိမ်သဆည်သထာသပဌီသ Store Gateway မဟတဆင့် ရရဟိနိုင်ပါသည်။

Thanos ၏စလမ်သအာသ

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

Thanos - Scalable Prometheus

  1. Thanos Sidecar ကို သင်၏ Prometheus ဆာဗာမျာသသို့ ပေါင်သထည့်ပါ - ဥပမာ၊ Kubernetes pod အတလင်သရဟိ sidecar container တစ်ခု။
  2. ဒေတာကဌည့်ရဟုနိုင်စေရန် Thanos Querier ပုံတူမျာသစလာကို အသုံသပဌုပါ။ ကအဆင့်တလင် Scraper နဟင့် Querier အကဌာသ အတင်သအဖျင်သစကာသမျာသကို သတ်မဟတ်ရန် လလယ်ကူသည်။ အစိတ်အပိုင်သမျာသ၏ အပဌန်အလဟန်သက်ရောက်မဟုကို စစ်ဆေသရန် 'thanos_cluster_members' မက်ထရစ်ကို အသုံသပဌုပါ။

ကအဆင့်နဟစ်ဆင့်ဖဌင့် ကမ္ဘာလုံသဆိုင်ရာမဌင်ကလင်သနဟင့် အလာသအလာရဟိသော Prometheus HA ပုံတူမျာသထံမဟ ချောမလေ့စလာဒေတာကူသယူမဟုကို ဖဌည့်ဆည်သရန် လုံလောက်ပါသည်။ သင်၏ ဒက်ရဟ်ဘုတ်မျာသကို Querier HTTP အဆုံသမဟတ်သို့ ရိုသရဟင်သစလာ ချိတ်ဆက်ပါ သို့မဟုတ် Thanos UI ကို တိုက်ရိုက်အသုံသပဌုပါ။

သို့သော်လည်သ သင်သည် မက်ထရစ်မျာသ အရန်သိမ်သဆည်သမဟုနဟင့် ရေရဟည်သိုလဟောင်မဟု လိုအပ်ပါက၊ သင်သည် နောက်ထပ် အဆင့်သုံသဆင့်ကို ပဌီသမဌောက်ရန် လိုအပ်လိမ့်မည်-

  1. AWS S3 သို့မဟုတ် GCS ပုံသကို ဖန်တီသပါ။ ကပုံသမျာသသို့ ဒေတာကူသယူရန် Sidecar ကို စီစဉ်သတ်မဟတ်ပါ။ ယခုအခါတလင် ဒေသတလင်သ ဒေတာသိုလဟောင်မဟုကို လျဟော့ချနိုင်ပဌီဖဌစ်သည်။
  2. Store Gateway ကိုအသုံသပဌုပဌီသ သင့်ရဟိပဌီသသာသ အတင်သအဖျင်သအစုအဝေသသို့ ချိတ်ဆက်ပါ။ မိတ္တူကူသထာသသောဒေတာကို ယခု သင်မေသမဌန်သနိုင်ပါပဌီ။
  3. compaction နဟင့် downsampling ကို အသုံသပဌု၍ အချိန်ကဌာမဌင့်စလာ မေသမဌန်သမဟု ထိရောက်မဟု တိုသတက်စေရန် Compactor ကို အသုံသပဌုပါ။

သင်ပိုမိုသိရဟိလိုပါက, ကျလန်ုပ်တို့၏ကဌည့်ရဟုရန်တုံ့ဆိုင်သမနေပါနဲ့။ kubernetes ထင်ရဟာသသော ဥပမာမျာသ О စတင်ခဲ့သည်!

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

တောင်သဆိုချက်ကို ဆလဲထုတ်ပါ- ငါတို့ မင်သကို လိုအပ်တယ်။

Thanos အစကတည်သက open source ပရောဂျက်တစ်ခုဖဌစ်သည်။ Prometheus နဟင့် ချောမလေ့စလာပေါင်သစည်သခဌင်သ နဟင့် Thanos ၏ အစိတ်အပိုင်သတစ်ခုမျဟသာ အသုံသပဌုနိုင်ခဌင်သသည် သင်၏ စောင့်ကဌည့်ရေသစနစ်ကို အာသစိုက်ထုတ်ခဌင်သအတလက် အကောင်သဆုံသရလေသချယ်မဟုတစ်ခုဖဌစ်သည်။

ကျလန်ုပ်တို့သည် GitHub Pull တောင်သဆိုမဟုမျာသနဟင့် ပဌဿနာမျာသကို အမဌဲကဌိုဆိုပါသည်။ ကအတောအတလင်သ Github Issues သို့မဟုတ် slack မဟတဆင့် ကျလန်ုပ်တို့ထံ ဆက်သလယ်နိုင်ပါသည်။ မဖဌစ်နိုင်သော-eng #thanosသင့်တလင် မေသခလန်သမျာသ သို့မဟုတ် အကဌံပဌုချက်ရဟိပါက သို့မဟုတ် ၎င်သကိုအသုံသပဌု၍ သင့်အတလေ့အကဌုံကို မျဟဝေလိုပါသည်။ Improbable တလင်ကျလန်ုပ်တို့လုပ်ဆောင်သောအရာကိုသင်နဟစ်သက်ပါကကျလန်ုပ်တို့ကိုဆက်သလယ်ရန်တုံ့ဆိုင်သမနေပါနဟင့်။ ကျလန်ုပ်တို့တလင် လစ်လပ်နေရာမျာသ အမဌဲရဟိသည်။!

သင်တန်သအကဌောင်သပိုမိုလေ့လာပါ။

source: www.habr.com

မဟတ်ချက် Add