"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

Roman Khavronenko "ExtendedPromQL" မှ အစီရင်ခံစာ၏ စာသားမှတ်တမ်းကို ဖတ်ရန် အဆိုပြုပါသည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ငါ့အကြောင်း အတိုချုပ်။ ကျွန်တော့်နာမည်က Roman ပါ။ ကျွန်ုပ်သည် CloudFlare အတွက် အလုပ်လုပ်ပြီး လန်ဒန်တွင် နေထိုင်ပါသည်။ ဒါပေမယ့် ကျွန်တော်က VictoriaMetrics ထိန်းကျောင်းသူလည်း ဖြစ်ပါတယ်။
ပြီးတော့ ကျွန်တော်က စာရေးဆရာပါ။ ClickHouse Plugin Grafana နှင့် ClickHouse-proxy ClickHouse အတွက်သေးငယ်သော proxy တစ်ခုဖြစ်သည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

“ဘာသာပြန်ခြင်းအခက်အခဲများ” ဟုခေါ်သော ပထမအပိုင်းဖြင့် စတင်မည်ဖြစ်ပြီး ၎င်းတွင် မည်သည့်ဘာသာစကား သို့မဟုတ် ဆက်သွယ်ရေးဘာသာစကားမျှပင် အရေးကြီးသည်ဟူသောအချက်ကို ကျွန်ုပ်ပြောပါမည်။ အကြောင်းမှာ သင်သည် သင်၏ အတွေးအမြင်များကို အခြားသူတစ်ဦး သို့မဟုတ် စနစ်သို့ တင်ပြပုံဖြစ်ပြီး၊ တောင်းဆိုချက်တစ်ခုကို သင်ပုံသွင်းပုံကြောင့် ဖြစ်သည်။ အင်တာနက်ပေါ်ကလူတွေက ဘယ်ဘာသာစကားက ပိုကောင်းလဲ - java သို့မဟုတ် အခြားတစ်ခုခုကို ငြင်းခုံနေကြတယ်။ ကျွန်ုပ်ကိုယ်တိုင်အတွက်၊ ဤအရာအားလုံးသည် အတိအကျဖြစ်သောကြောင့် အလုပ်တစ်ခုကို ရွေးချယ်ရန် လိုအပ်သည်ဟု ဆုံးဖြတ်ခဲ့သည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

အစကနေ စလိုက်ရအောင်။ PromQL ဆိုတာဘာလဲ။ PromQL သည် Prometheus Query Language ဖြစ်သည်။ အချိန်စီးရီးဒေတာ၊ အချိန်စီးရီးများရရှိရန် Prometheus တွင် ကျွန်ုပ်တို့သည် မေးခွန်းများဖွဲ့စည်းပုံဖြစ်သည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

အချိန်စီးရီးဒေတာဆိုတာ ဘာလဲ။ စာသားအရ၊ ၎င်းတို့သည် ဘောင်သုံးခုဖြစ်သည်။

သူတို့ဟာနေသောခေါင်းစဉ်:

  • ငါတို့ ဘာကြည့်နေတာလဲ။
  • ကြည့်လိုက်တော့။
  • ပြီးတော့ ဘယ်တန်ဖိုးကို ပြတာလဲ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ဤဇယားကိုကြည့်လျှင် (ဤဇယားသည် ကျွန်ုပ်၏ခြေလှမ်းများ၏စာရင်းအင်းများကိုပြသသည့် ကျွန်ုပ်၏ဖုန်းမှဖြစ်သည်)၊ ထို့နောက် ဤမေးခွန်းများကို ဤနေရာတွင် အမြန်ဖြေဆိုနိုင်ပါသည်။

ခြေလှမ်းတွေကို ကြည့်နေတယ်။ အဓိပ္ပါယ်ကိုမြင်ပြီး ကြည့်လိုက်တဲ့အချိန်ကို မြင်ပါတယ်။ ဆိုလိုသည်မှာ ဤပုံကြမ်းကိုကြည့်ပါ၊ တနင်္ဂနွေနေ့တွင် ကျွန်ုပ်သည် ခြေလှမ်း ၁၅,၀၀၀ ခန့် လျှောက်လှမ်းခဲ့သည်ဟု အလွယ်တကူပြောနိုင်သည်။ ဒါက အချိန်စီးရီးဒေတာပါ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ယခု ၎င်းတို့အား ဇယားတစ်ခု၏ ပုံစံဖြင့် အခြားဒေတာပုံစံသို့ "ချိုး" (အသွင်ပြောင်း) ကြပါစို့။ ဒီမှာ ကျွန်တော်တို့ ကြည့်နေတာတွေရှိတယ်။ ဤတွင် ကျွန်ုပ်သည် meta-data ဟုခေါ်သော နောက်ထပ်ဒေတာအနည်းငယ်ကို ထပ်ထည့်လိုက်သည်၊ ဆိုလိုသည်မှာ ၎င်းသည် ကျွန်ုပ်မဟုတ်၊ ဥပမာအားဖြင့် Jay နှင့် Silent Bob မှ လူနှစ်ဦးဖြစ်သည်။ အဲဒါ ငါတို့ကြည့်နေတာ။ အဲဒါက ဘာကိုပြပြီး အဲဒီတန်ဖိုးကို ပြလိုက်တာလဲ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း
အခု ဒီဒေတာအားလုံးကို ဒေတာဘေ့စ်မှာ သိမ်းဆည်းဖို့ ကြိုးစားကြည့်ရအောင်။ ဥပမာအားဖြင့်၊ ကျွန်ုပ်သည် ClickHouse syntax ကိုယူခဲ့သည်။ ဤတွင်ကျွန်ုပ်တို့သည် "ခြေလှမ်းများ" ဟုခေါ်သောဇယားတစ်ခုကိုဖန်တီးနေသည်ဆိုလိုသည်မှာကျွန်ုပ်တို့ကြည့်နေသည့်အရာဖြစ်သည်။ ဤနေရာ၌ ကျွန်ုပ်တို့ကြည့်ရှုသောအခါ၊ ၎င်းသည် အဘယ်အရာပြသထားသနည်း၊ ကျွန်ုပ်တို့သိမ်းဆည်းမည့် မက်တာဒေတာအချို့- Jay နှင့် Silent Bob။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

၎င်းအားလုံးကိုမြင်ယောင်နိုင်ရန်ကြိုးစားရန်၊ ပထမဦးစွာ၎င်းသည်လှပသောကြောင့် Grafana ကိုအသုံးပြုမည်ဖြစ်သည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ထို့အပြင်ကျွန်ုပ်တို့သည်ဤ plugin ကိုအသုံးပြုပါမည်။ ဒီအတွက် အကြောင်းရင်း နှစ်ခုရှိပါတယ်။ ပထမအချက်က ကျွန်တော်ရေးထားတာဖြစ်လို့ပါ။ ပြီးတော့ Grafana မှာ ပြဖို့ ClickHouse က အချိန်စီးရီးဒေတာကို ဆွဲထုတ်ဖို့ ဘယ်လောက်ခက်ခဲလဲဆိုတာ ငါ အတိအကျသိတယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

Graph Panel တွင် ပြသပါမည်။ ၎င်းသည် Grafana တွင် လူကြိုက်အများဆုံး အကန့်ဖြစ်ပြီး အချိန်နှင့် တန်ဖိုးကို ပြသသောကြောင့် ကျွန်ုပ်တို့တွင် ကန့်သတ်ချက်နှစ်ခုသာ လိုအပ်ပါသည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း
အရိုးရှင်းဆုံးမေးခွန်းကိုရေးကြပါစို့ - ကျွန်ုပ်တို့ဖန်တီးထားသောဇယားတွင် ဤဒေတာကို ClickHouse တွင်သိမ်းဆည်းထားသည့် Grafana တွင် ခြေလှမ်းစာရင်းအင်းများကိုပြသနည်း။ ပြီးတော့ ရိုးရှင်းတဲ့မေးခွန်းကို ရေးတယ်။ ကျွန်ုပ်တို့သည် အဆင့်များမှ ရွေးချယ်သည်။ ကျွန်ုပ်တို့သည် တန်ဖိုးတစ်ခုကို ရွေးချယ်ပြီး ဤတန်ဖိုးများ၏ အချိန်ကို ရွေးပါ၊ ဆိုလိုသည်မှာ ကျွန်ုပ်တို့ပြောခဲ့သော တူညီသော ဘောင်သုံးခုကို ရွေးချယ်ပါ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ရလဒ်အနေဖြင့်၊ ဤဂရပ်ကိုကျွန်ုပ်တို့ရရှိခဲ့သည်။ သူဘာကြောင့် ထူးဆန်းနေတာလဲ ဘယ်သူသိလဲ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

မှန်ပါတယ်၊ သင်အချိန်အလိုက် အမျိုးအစားခွဲဖို့ လိုပါတယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

အဆုံးတွင် ကျွန်ုပ်တို့သည် ပိုမိုကောင်းမွန်သော်လည်း ထူးဆန်းသောအချိန်ဇယားကို ရရှိပါသည်။ ဘာကြောင့်လဲဆိုတာ ဘယ်သူသိလဲ။ မှန်ပါတယ်၊ ပါဝင်သူ နှစ်ယောက်ရှိပါတယ်၊ Grafana မှာ အချိန်စီးရီး နှစ်ခုကို ပေးပါမယ်၊ ဘာဖြစ်လို့လဲဆိုတော့ ကျွန်တော်တို့က data model ကိုပြန်ပြီးဖြေရှင်းရင်၊ time series တစ်ခုစီဟာ နာမည်တစ်ခုနဲ့ labels key-values ​​အားလုံးကို ထူးခြားတဲ့ပေါင်းစပ်မှုတစ်ခုပါပဲ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ထို့ကြောင့် ကျွန်ုပ်တို့သည် သီးခြားလူတစ်ဦးကို ရွေးချယ်ရန် လိုအပ်ပါသည်။ ငါတို့က ဂျေးကို ရွေးတယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ထပ်ဆွဲပါ။ ယခု ဂရပ်ဖစ်သည် အမှန်တရားနှင့်တူသည်။ အခုက ပုံမှန်အချိန်ဇယားတစ်ခုဖြစ်ပြီး အရာအားလုံးက ကောင်းကောင်းအလုပ်လုပ်နေပါတယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

တူညီသောအရာကိုသင်မည်ကဲ့သို့လုပ်ဆောင်ရမည်ကိုသင်သိသော်လည်း Prometheus တွင် PromQL မှတဆင့်။ အကြမ်းဖျင်းတော့ ဒီလိုပါပဲ။ နည်းနည်းပိုလွယ်တယ်။ အားလုံးကို ချိုးဖျက်လိုက်ကြရအောင်။ ခြေလှမ်းတွေလှမ်းခဲ့ကြတယ်။ Jay ဖြင့် စစ်ထုတ်သည်။ တန်ဖိုးတစ်ခုရရန် လိုအပ်ကြောင်း ဤနေရာတွင် ကျွန်ုပ်တို့ မသတ်မှတ်ထားဘဲ အချိန်ကို ကျွန်ုပ်တို့ မရွေးချယ်ပါ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ယခု Jay သို့မဟုတ် Silent Bob ၏ ရွေ့လျားမှုအမြန်နှုန်းကို တွက်ချက်ကြည့်ကြပါစို့။ ClickHouse တွင်၊ အတိအကျအမြန်နှုန်းရရန် အမှတ်အတွဲများကြားခြားနားချက်ကို တွက်ချက်ပြီး အတိအကျအမြန်နှုန်းရရှိရန် ကျွန်ုပ်တို့သည် RunDifference ကိုလုပ်ဆောင်ရန် လိုအပ်ပါသည်။ တောင်းဆိုချက်သည် ဤကဲ့သို့ ဖြစ်လိမ့်မည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

Silent Bob သို့မဟုတ် Jay သည် တစ်စက္ကန့်လျှင် ခန့်မှန်းခြေ 1,8 လှမ်းခန့် ဤတန်ဖိုးများကို ပြသမည်ဖြစ်သည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

Prometheus မှာ သင်လည်း အဲဒါကို ဘယ်လိုလုပ်ရမလဲ။ အရင်ကထက် အများကြီး ပိုလွယ်တယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်းGrafana တွင်လည်း လွယ်ကူစေရန်အတွက် PromQL နှင့် အလွန်ဆင်တူသော ထုပ်ပိုးမှုတစ်ခုကို ထည့်သွင်းခဲ့သည်။ ၎င်းကို Rate Macros ဟုခေါ်သည် သို့မဟုတ် သင် ၎င်းကို ခေါ်လိုသမျှကို ခေါ်သည်။ Grafana တွင် သင်သည် "နှုန်း" ဟုသာ ရေးထားသော်လည်း နက်ရှိုင်းသော တစ်နေရာက ၎င်းသည် ဤမျှကြီးမားသော တောင်းဆိုမှုအဖြစ် ပြောင်းလဲသွားသည်။ ၎င်းကိုကြည့်ရန်ပင်မလိုအပ်ပါ၊ ၎င်းသည်တစ်နေရာရာတွင်ရှိသော်လည်း၊ ဤကဲ့သို့သောကြီးမားသော SQL queries များကိုရေးသားခြင်းသည်အမြဲတမ်းစျေးကြီးသောကြောင့်သင်အချိန်အများကြီးကုန်သည်။ သင် အလွယ်တကူ အမှားလုပ်မိပြီး ဖြစ်ပျက်နေသည်များကို အချိန်အကြာကြီး နားမလည်နိုင်ပါ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ပြီးတော့ ဒါက ဆလိုက်တစ်ခုပေါ်မှာတောင် အံမဝင်တဲ့ query တစ်ခုဖြစ်ပြီး၊ အဲဒါကို ကော်လံနှစ်ခုတောင် ခွဲခဲ့ရတာပါ။ ၎င်းသည် ClickHouse တွင်လည်း တူညီသောနှုန်းထားကို ပြုလုပ်ပေးသည့် တောင်းဆိုချက်တစ်ခုလည်း ဖြစ်သည်၊ သို့သော် အချိန်စီးရီးနှစ်ခုလုံးအတွက် Silent Bob နှင့် Jay၊ ထို့ကြောင့် ကျွန်ုပ်တို့တွင် အချိန်စီးရီးနှစ်ခုရှိသည်။ ငါ့အမြင်အရတော့ ဒါက အရမ်းခက်ခဲနေပြီ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

Prometheus အရ ၎င်းသည် sum (နှုန်း) ဖြစ်လိမ့်မည်။ ClickHouse အတွက် ကျွန်ုပ်သည် Prometheus query နှင့်တူသော RateColumns ဟုခေါ်သော သီးခြား macro တစ်ခုကို ပြုလုပ်ခဲ့သည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ကျွန်ုပ်တို့ကြည့်ခဲ့ရာ PromQL သည် အလွန်အေးသည်ဟု ထင်ရသော်လည်း ၎င်းတွင် ကန့်သတ်ချက်များရှိသည်။

သူတို့ဟာနေသောခေါင်းစဉ်:

  • ကန့်သတ်ရွေးချယ်မှု။
  • အနားသတ်များ ချိတ်ဆက်ပါ။
  • ပံ့ပိုးမှု ရှိခြင်း မရှိပါ။

အကယ်၍ သင်သည် ၎င်းနှင့် အချိန်အတော်ကြာ အလုပ်လုပ်ခဲ့လျှင် တစ်ခါတစ်ရံ PromQL တွင် တစ်ခုခုလုပ်ရန် အလွန်ခက်ခဲကြောင်း သင်သိရပြီး SQL တွင် သင်အားလုံးနီးပါးကို လုပ်ဆောင်နိုင်သည်၊ အကြောင်းမှာ ကျွန်ုပ်တို့ပြောခဲ့သော ဤရွေးချယ်စရာများအားလုံးကို SQL တွင် လုပ်ဆောင်နိုင်သောကြောင့် ဖြစ်သည်။ . ဒါပေမယ့် သုံးရတာ အဆင်ပြေပါ့မလား။ ပြီးတော့ ဒါက အမြဲတမ်း အစွမ်းထက်ဆုံး ဘာသာစကားက အဆင်ပြေဆုံးလို့ ထင်ပါတယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ထို့ကြောင့်၊ တစ်ခါတစ်ရံတွင် သင်သည် အလုပ်များအတွက် ဘာသာစကားတစ်ခုကို ရွေးချယ်ရန် လိုအပ်သည်။ Batman နဲ့ Superman တို့ရဲ့ တိုက်ပွဲတစ်ခုလိုပါပဲ။ Superman က ပိုသန်မာတယ်ဆိုတာ ရှင်းပါတယ်၊ ဒါပေမယ့် Batman က ပိုလက်တွေ့ကျပြီး သူဘာလုပ်နေတယ်ဆိုတာကို အတိအကျသိတဲ့အတွက် သူ့ကိုအနိုင်ယူနိုင်ခဲ့ပါတယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

နောက်အပိုင်းကတော့ Extending PromQL ဖြစ်ပါတယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

တစ်ဖန် VictoriaMetrics အကြောင်း။ VictoriaMetrics ဆိုတာဘာလဲ။ ၎င်းသည် အချိန်စီးရီးဒေတာဘေ့စ်တစ်ခုဖြစ်ပြီး ၎င်းသည် OpenSource တွင်ဖြစ်ပြီး၊ ကျွန်ုပ်တို့သည် ၎င်း၏တစ်ခုတည်းနှင့် အစုလိုက်ဗားရှင်းများကို ဖြန့်ဝေပါသည်။ ကျွန်ုပ်တို့၏စံသတ်မှတ်ချက်များအရ၊ ၎င်းသည်ယခုစျေးကွက်တွင်အမြန်ဆုံးဖြစ်ပြီး၊ Prometheus သည် 0,4-1,2 ရှိသောအခါ၊ သက်ရှိလူတို့အစီရင်ခံသည်မှာအချက်တစ်ခုလျှင် 1,4 bytes ခန့် compression နှင့်ဆင်တူသည်။

Prometheus တစ်ခုတည်းတင်မကဘူး၊ ကျွန်ုပ်တို့သည် InfluxDB၊ Graphite၊ OpenTSDB ကို ပံ့ပိုးပေးသည်။

သင်သည် ကျွန်ုပ်တို့၌ "ရေး" နိုင်သည်၊ ဆိုလိုသည်မှာ သင်သည် အချက်အလက်ဟောင်းများကို လွှဲပြောင်းနိုင်သည်။

Prometheus နှင့် Grafana တို့လည်း PromQL အင်ဂျင်ကို ပံ့ပိုးပေးပါသည်။ Grafana တွင်၊ သင်သည် Prometheus အဆုံးမှတ်ကို VictoriaMetrics သို့ ရိုးရှင်းစွာပြောင်းလဲနိုင်ပြီး သင်၏ ဒက်ရှ်ဘုတ်များအားလုံးသည် ၎င်းတို့လုပ်ဆောင်သည့်အတိုင်း အလုပ်လုပ်မည်ဖြစ်သည်။

သို့သော် VictoriaMetrics မှပေးသော ထပ်လောင်းချစ်ပ်များကိုလည်း သင်အသုံးပြုနိုင်ပါသည်။

ကျွန်ုပ်တို့ထည့်သွင်းထားသော အင်္ဂါရပ်များကို အမြန်လုပ်ဆောင်ပါမည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ကြားကာလဘောင်ကို ချန်လှပ်ထားပါ - သင်သည် Grafana တွင် ကန့်သတ်ဘောင်ကြားကာလကို ကျော်နိုင်သည်။ အကန့်တွင် ချဲ့/ချဲ့သည့်အခါ ထူးဆန်းသောဂရပ်များကို မရယူလိုပါက၊ ကိန်းရှင်ကို အသုံးပြုရန် အကြံပြုအပ်ပါသည်။ $__interval. ၎င်းသည် အတွင်းပိုင်း Grafana ပြောင်းလဲမှုဖြစ်ပြီး ၎င်းသည် ဒေတာအပိုင်းအခြားကို ကိုယ်တိုင်ရွေးချယ်သည်။ VictoriaMetrics သည် ဤအကွာအဝေးသည် အဘယ်အရာဖြစ်သင့်သည်ကို နားလည်နိုင်သည်။ သင်၏တောင်းဆိုမှုများအားလုံးကို အပ်ဒိတ်လုပ်ရန် မလိုအပ်ပါ။ အများကြီးပိုလွယ်ပါလိမ့်မယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ဒုတိယလုပ်ဆောင်ချက်မှာ ကြားကာလ ရည်ညွှန်းခြင်း ဖြစ်သည်။ သင့်အသုံးအနှုန်းများတွင် ဤအကွာအဝေးကို သင်သုံးနိုင်သည်။ ပေါင်းခြင်း၊ ခွဲခြင်း၊ လွှဲပြောင်းခြင်း၊ ကိုးကားနိုင်သည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

နောက်တစ်ခုကတော့ rollup function family ဖြစ်ပါတယ်။ စုစည်းမှုလုပ်ဆောင်ချက်သည် သင့်အချိန်စီးရီးတစ်ခုအား သီးခြားအချိန်စီးရီးသုံးခုအဖြစ် ပြောင်းလဲပေးသည်။ ၎င်းတို့သည် အနည်းဆုံး၊ အများဆုံးနှင့် ပျမ်းမျှဖြစ်သည်။ တခါတရံတွင် အစွန်းအထင်းများ (ကွဲလွဲချက်များ) နှင့် မှားယွင်းမှုများကို ပြသနိုင်သောကြောင့် အလွန်အဆင်ပြေသည်ဟု ကျွန်တော်ထင်ပါတယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

စိတ်ဆိုးခြင်း သို့မဟုတ် အဆင့်သတ်မှတ်ခြင်းသာလုပ်နေပါက အချိန်စီးရီးများသည် သင်ရည်ရွယ်ထားသည့်အတိုင်း ပြုမူခြင်းမရှိသည့် အချို့သောကိစ္စရပ်များကို လွဲချော်သွားနိုင်သည်။ ဤလုပ်ဆောင်ချက်ဖြင့် မြင်ရန်ပိုမိုလွယ်ကူသည်၊ max သည် avg အလွန်ကွာသည်ဟု ဆိုကြပါစို့။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

နောက်တစ်ခုကတော့ default variable ပါ။ ပုံသေ - ဤသည်မှာ ကျွန်ုပ်တို့တွင် အချိန်စီးရီးတစ်ခုမရှိပါက Grafana တွင် ကျွန်ုပ်တို့ဆွဲရမည့်တန်ဖိုးကို ဆိုလိုသည်။ ဘယ်အချိန်ဖြစ်မလဲ။ သင်သည် အမှားအယွင်းအချို့ကို မက်ထရစ်များ ထုတ်ပေးသည်ဟု ဆိုကြပါစို့။ သင်စတင်သောအခါတွင် သင့်တွင် အမှားအယွင်းမရှိသလို နောက်သုံးနာရီ သို့မဟုတ် တစ်ရက်ပင်လျှင် အမှားအယွင်းမရှိသည့် အမိုက်စား application တစ်ခုရှိသည်။ သင့်တွင် အောင်မြင်မှုမှ အမှားသို့ ဆက်ဆံရေးကို ပြသသည့် ဒက်ရှ်ဘုတ်များရှိသည်။ သင့်တွင် error metric မရှိသောကြောင့် ၎င်းတို့သည် သင့်အား ဘာမျှပြသမည်မဟုတ်ပါ။ နှင့် default တွင် သင်သည် မည်သည့်အရာကိုမဆို သတ်မှတ်နိုင်သည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

Keep_last_Value - ပျောက်ဆုံးပါက မက်ထရစ်၏ နောက်ဆုံးတန်ဖိုးကို သိမ်းဆည်းသည်။ Prometheus သည် နောက်တစ်ကြိမ်ခြစ်ပြီးနောက် 5 မိနစ်အတွင်း ရှာမတွေ့ပါက၊ ၎င်းသည် ၎င်း၏နောက်ဆုံးတန်ဖိုးကို ဤနေရာတွင် မှတ်မိမည်ဖြစ်ပြီး သင်၏ဇယားများ ထပ်မံကွဲမည်မဟုတ်ပါ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

Scrape_interval - Prometheus သည် သင်၏ မက်ထရစ်တွင် ဒေတာကို မည်မျှ အကြိမ်နှုန်းဖြင့် စုဆောင်းသည်ကို ပြသသည် ။ ဥပမာအားဖြင့် ဤနေရာတွင် pass ကိုတွေ့နိုင်သည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း
အညွှန်းအစားထိုးခြင်းသည် လူကြိုက်များသောအင်္ဂါရပ်တစ်ခုဖြစ်သည်။ ဒါပေမယ့် ကိန်းပြည့်အငြင်းအခုံတွေကို ယူတဲ့အတွက် နည်းနည်းရှုပ်ထွေးတယ်လို့ ကျွန်တော်တို့ထင်ပါတယ်။ ငြင်းခုံချက် (၅)ခုကို မှတ်သားရုံသာမက ၎င်းတို့၏ အစီအစဥ်ကိုလည်း မှတ်သားထားရန် လိုအပ်ပါသည်။
"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း
ထို့ကြောင့်၊ အဘယ်ကြောင့် ၎င်းတို့ကို ပိုမိုရိုးရှင်းအောင် မလုပ်သနည်း။ ဆိုလိုသည်မှာ၊ ရှင်းလင်းသော syntax ဖြင့်သေးငယ်သောလုပ်ဆောင်ချက်များအဖြစ်သို့ခွဲခြမ်းပါ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ယခုလည်း စိတ်ဝင်စားစရာအကောင်းဆုံး။ PromQL ကို သက်တမ်းတိုးတယ်လို့ ဘာကြောင့်ထင်တာလဲ။ အဘယ်ကြောင့်ဆိုသော် ကျွန်ုပ်တို့သည် Common Table Expressions ကို ပံ့ပိုးသောကြောင့်ဖြစ်သည်။ QR ကုဒ်ကို လိုက်နာနိုင်သည် (https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/ExtendedPromQL) ဘရောက်ဆာတွင် ထည့်သွင်းစရာမလိုဘဲ VictoriaMetrics တွင် တိုက်ရိုက်မေးမြန်းချက်များကို သင်လုပ်ဆောင်နိုင်သည့် ကစားကွင်းမှ နမူနာများနှင့် လင့်ခ်များကို ကြည့်ပါ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ဘာလဲ? အထက်ပါ တောင်းဆိုချက်သည် အလွန်ရေပန်းစားသော တောင်းဆိုချက်ဖြစ်သည်။ ကုမ္ပဏီများစွာရှိ မည်သည့် ဒက်ရှ်ဘုတ်တွင်မဆို တူညီသော filter ကို သင်အသုံးပြုသည်ဟု ကျွန်တော်ထင်ပါတယ်။ များတယ်။ သို့သော် သင်သည် စစ်ထုတ်မှုအသစ်အချို့ကို ထည့်ရန် လိုအပ်သည့်အခါ၊ သင်သည် အကန့်တစ်ခုစီကို အပ်ဒိတ်လုပ်ရန် လိုအပ်သည်၊ သို့မဟုတ် ဒက်ရှ်ဘုတ်ကို ဒေါင်းလုဒ်လုပ်ရန်၊ ၎င်းကို JSON တွင်ဖွင့်ကာ၊ အစားထိုးရှာဖွေရန်၊ ၎င်းသည်လည်း အချိန်ကြာမြင့်သည်။ အဘယ်ကြောင့် ဤတန်ဖိုးကို ကိန်းရှင်တစ်ခုတွင် သိမ်းဆည်းပြီး ၎င်းကို ပြန်လည်အသုံးပြုသနည်း။ ကျွန်တော့်အမြင်အရတော့ ဒါက ပိုရိုးရှင်းပြီး ပိုရှင်းပါတယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ဥပမာအားဖြင့်၊ တောင်းဆိုချက်အားလုံးတွင် Grafana ရှိ filter များကို အပ်ဒိတ်လုပ်ရန် လိုအပ်သည့်အခါ၊ ဒက်ရှ်ဘုတ်သည် ကြီးမားနိုင်သည် သို့မဟုတ် ၎င်းတို့ထဲမှ အများအပြားပင် ရှိနိုင်သည်။ ပြီးတော့ Grafana မှာ ဒီပြဿနာကို ဘယ်လိုဖြေရှင်းချင်လဲ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ဤပြဿနာကို ကျွန်ုပ်ဤကဲ့သို့ဖြေရှင်းပါသည်- ကျွန်ုပ်သည် commonFilter တစ်ခုပြုလုပ်ပြီး ၎င်းတွင်ဤ filter ကိုသတ်မှတ်ပြီးနောက် queries တွင်ပြန်လည်အသုံးပြုပါသည်။ သို့သော် ယခုသင် အလားတူလုပ်ဆောင်ပါက၊ Grafana သည် သင့်အား query variables အတွင်းရှိ variable များကို အသုံးပြုခွင့်မပြုသောကြောင့် ၎င်းသည် အလုပ်မဖြစ်ပါ။ ပြီးတော့ နည်းနည်းထူးဆန်းတယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ဒါကြောင့် မင်းကို ဒီလိုလုပ်နိုင်တဲ့ ရွေးချယ်မှုတစ်ခုကို ငါလုပ်ခဲ့တယ်။ အကယ်၍ သင်သည် ဤကဲ့သို့သောအင်္ဂါရပ်ကို စိတ်ဝင်စားသည် သို့မဟုတ် လိုချင်ပါက၊ ဤအကြံကို မကြိုက်ပါက ထောက်ခံပါ သို့မဟုတ် မကြိုက်ပါက ထောက်ခံပါ။ https://github.com/grafana/grafana/pull/16694

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

PromQL တိုးချဲ့ခြင်းအကြောင်း နောက်ထပ်။ ဤနေရာတွင် ကျွန်ုပ်တို့သည် ကိန်းရှင်တစ်ခုသာမက လုပ်ဆောင်ချက်တစ်ခုလုံးကို တိုက်ရိုက်သတ်မှတ်သည်။ ၎င်းကို ru (အရင်းအမြစ်အသုံးပြုမှု) ဟုခေါ်သည်။ ထို့အပြင် ဤလုပ်ဆောင်ချက်သည် အခမဲ့အရင်းအမြစ်များ၊ အရင်းအမြစ်ကန့်သတ်ချက်နှင့် စစ်ထုတ်မှုကို လက်ခံပါသည်။ syntax သည် ရိုးရှင်းပုံရသည်။ ထို့အပြင် ဤလုပ်ဆောင်ချက်ကို အသုံးပြု၍ ကျွန်ုပ်တို့တွင်ရှိသော အခမဲ့ memory ရာခိုင်နှုန်းကို တွက်ချက်ရန် အလွန်လွယ်ကူပါသည်။ ဆိုလိုသည်မှာ ကျွန်ုပ်တို့တွင် memory မည်မျှရှိသည်၊ မည်သည့်ကန့်သတ်ချက်နှင့် စစ်ထုတ်ရမည်နည်း။ တူညီသော filter များအားလုံးကို ပြန်လည်အသုံးပြုပြီး ကြီးမားသော query တစ်ခုအဖြစ်သို့ ပြောင်းလဲသွားသည့်အတွက်ကြောင့် ၎င်းအားလုံးကို တူညီသောစစ်ထုတ်မှုများကို သင်ရေးထားလျှင် ပိုကောင်းပါသည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ဤသည်မှာ ဤမျှကြီးမားသော တောင်းဆိုမှု၏ ဥပမာတစ်ခုဖြစ်သည်။ ၎င်းသည် Grafana အတွက်တရားဝင် NodeExporter ဒက်ရှ်ဘုတ်မှဖြစ်သည်။ ဒါပေမယ့် ဒီမှာဘာတွေဖြစ်နေလဲ ငါတကယ်နားမလည်ဘူး။ သေချာပါတယ်၊ အနီးကပ်ကြည့်မယ်ဆိုရင် နားလည်ပါတယ်၊ ဒါပေမယ့် ကွင်းစကွင်းပိတ် အရေအတွက်က ဒီမှာဖြစ်ပျက်နေတာကို နားလည်ဖို့ စေ့ဆော်မှုကို ချက်ချင်းလျှော့ချနိုင်ပါတယ်။ အဘယ်ကြောင့် ၎င်းကို ပို၍ ရိုးရှင်းရှင်းလင်းအောင် မလုပ်သနည်း။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ဥပမာ၊ ဤကဲ့သို့၊ ကိန်းရှင်များတွင် သိသာထင်ရှားသောအရာများ သို့မဟုတ် အစိတ်အပိုင်းများကို မီးမောင်းထိုးပြပါ။ ပြီးရင် အခြေခံသင်္ချာလုပ်ပါ။ ဒါက ပရိုဂရမ်နဲ့ ပိုတူနေပြီ၊ ဒါက Grafana မှာ အနာဂတ်မှာ မြင်ချင်တဲ့အရာပါ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ဤ ru လုပ်ဆောင်ချက်ရှိနှင့်ပြီးဖြစ်၍ VictoriaMetrics တွင် တိုက်ရိုက်တည်ရှိနေပါက ပိုမိုလွယ်ကူအောင်ပြုလုပ်နိုင်ပုံ၏ ဒုတိယဥပမာတစ်ခုဖြစ်သည်။ ထို့နောက် CTE တွင် သင်ကြေငြာထားသော ကက်ရှ်တန်ဖိုးကို သင်ဖြတ်သန်းရုံသာဖြစ်သည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

မှန်ကန်တဲ့ ပရိုဂရမ်းမင်းဘာသာစကားကို သုံးဖို့ ဘယ်လောက်အရေးကြီးတယ်ဆိုတာ ပြောထားပြီးသားပါ။ ပြီးတော့ ကုမ္ပဏီတိုင်းမှာရှိတဲ့ Grafana မှာ မတူညီတဲ့အရာတစ်ခု ဖြစ်ပေါ်နေတာ ဖြစ်နိုင်ပါတယ်။ ထို့အပြင်၊ သင်သည် Grafana ကို သင်၏ဆော့ဖ်ဝဲရေးသားသူများကို ဝင်ရောက်ခွင့်ပေးဆဲဖြစ်ပြီး၊ ဆော့ဖ်ဝဲရေးသားသူများသည် ၎င်းတို့ကိုယ်တိုင်လုပ်ဆောင်သည့်အရာတစ်ခုဖြစ်သည်။ ပြီးတော့ သူတို့အားလုံးက မတူညီတဲ့နည်းလမ်းနဲ့ လုပ်ကြတယ်။ ဒါပေမယ့် တူညီတဲ့ စံနှုန်းတစ်ခုအဖြစ် လျှော့ချစေချင်တယ်။

သင့်တွင် စနစ်အင်ဂျင်နီယာများပင်မရှိပါ၊ သင့်တွင် ကျွမ်းကျင်သူများ၊ devops သို့မဟုတ် SREs များပင်ရှိသည်ဆိုပါစို့။ စောင့်ကြည့်ခြင်းဆိုတာဘာလဲ၊ Grafana ဆိုတာကို သိတဲ့ ကျွမ်းကျင်သူတွေ သင့်မှာ ရှိကောင်းရှိနိုင်ပါတယ်၊ ဆိုလိုသည်မှာ ၎င်းတို့သည် ဤအရာနှင့် နှစ်ပေါင်းများစွာ လုပ်ဆောင်ခဲ့ပြီး မှန်ကန်စွာ လုပ်ဆောင်ရမည်ကို အတိအကျ သိရှိနိုင်ပါသည်။ သူတို့က အကြိမ် 100 ရေးပြီး လူတိုင်းကို ရှင်းပြခဲ့ပေမယ့် အကြောင်းတစ်ခုခုကြောင့် ဘယ်သူမှ နားမထောင်ခဲ့ကြပါဘူး။

အခြားအသုံးပြုသူများသည် လုပ်ဆောင်ချက်များကို ပြန်လည်အသုံးပြုနိုင်စေရန် ဤအသိပညာကို Grafana တွင် တိုက်ရိုက်ထည့်သွင်းနိုင်လျှင်ကော။ အခမဲ့မမ်မိုရီရာခိုင်နှုန်းကို တွက်ချက်ရန် လိုအပ်ပါက၊ ၎င်းတို့သည် လုပ်ဆောင်ချက်ကို ရိုးရှင်းစွာ အသုံးပြုနိုင်မည်ဖြစ်သည်။ ဒါပေမယ့် ပို့ကုန်ထုတ်လုပ်သူတွေဟာ သူတို့ရဲ့ထုတ်ကုန်တွေနဲ့အတူ လုပ်ဆောင်ချက်အစုံ၊ သူတို့ရဲ့ မက်ထရစ်တွေကို ဘယ်လိုလုပ်ဆောင်ရမလဲဆိုတာ အတိအကျသိတဲ့အတွက်ကြောင့် ပို့ကုန်ထုတ်လုပ်သူတွေဟာ သူတို့ရဲ့ ထုတ်ကုန်တွေနဲ့အတူ လုပ်ဆောင်ချက်အစုံကို ပံ့ပိုးပေးမယ်ဆိုရင်ကော၊

ဤအရာသည် အမှန်တကယ်မရှိပါ။ ဒါက ငါကိုယ်တိုင်လုပ်ခဲ့တာ။ ၎င်းသည် Grafana ရှိ စာကြည့်တိုက်ပံ့ပိုးမှုဖြစ်သည်။ NodeExporter လုပ်တဲ့သူတွေက ငါဖော်ပြထားတဲ့အတိုင်း လုပ်ခဲ့တယ်ဆိုကြပါစို့။ အင်္ဂါရပ်အစုံကိုလည်း ပေးထားသည်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ဆိုလိုသည်မှာ၊ ၎င်းသည်ဤကဲ့သို့သောပုံရသည်။ သင်သည် ဤစာကြည့်တိုက်ကို Grafana နှင့် ချိတ်ဆက်ပြီး တည်းဖြတ်ခြင်းသို့ ရောက်သွားသည်၊ ဤတွင် JSON တွင် ဤမက်ထရစ်ဖြင့် လုပ်ဆောင်ပုံမှာ အလွန်ရိုးရှင်းပါသည်။ ဆိုလိုသည်မှာ၊ အချို့သောလုပ်ဆောင်ချက်များ၊ ၎င်းတို့၏ဖော်ပြချက်များနှင့်၎င်းတို့ပါဝင်သောအရာများ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

ငါ့အမြင်အရ၊ အဲဒါက အသုံးဝင်နိုင်တယ်၊ ဘာဖြစ်လို့လဲဆိုတော့ မင်း Grafana လိုမျိုးပဲ ရေးလိမ့်မယ်။ Grafana က ဒီလိုမျိုး စာကြည့်တိုက်တစ်ခုကနေ ဒီလိုလုပ်ဆောင်ချက်တွေရှိတယ်ဆိုတာ မင်းကိုပြောတယ် - အဲဒါကိုသုံးကြည့်ရအောင်။ အရမ်းမိုက်မယ်လို့ ထင်ပါတယ်။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

VictoriaMetrics အကြောင်းအနည်းငယ်။ စိတ်ဝင်စားစရာတွေ အများကြီးလုပ်တယ်။ ချုံ့ခြင်းအကြောင်း၊ ကျွန်ုပ်တို့၏ ဆောင်းပါးများကို အခြားအချိန်စီးရီးဒေတာအက်ပ်များနှင့် ပြိုင်ဆိုင်မှုအကြောင်း၊ PromQL နှင့် မည်သို့လုပ်ဆောင်ရမည်ကို ကျွန်ုပ်တို့၏ ရှင်းလင်းချက်၊ ဤတွင် စတင်သူအများအပြားရှိသည့်အပြင် ဒေါင်လိုက်အတိုင်းအတာနှင့် Thanos နှင့် ထိပ်တိုက်တွေ့မှုများအကြောင်း ကျွန်ုပ်တို့၏ ရှင်းလင်းချက်တို့ကို ဖတ်ရှုပါ။

"ExtendedPromQL" - ရိုမန် Khavronenko ၏အစီရင်ခံစာ၏စာသားမှတ်တမ်း

မေးခွန်းများကို:

ရိုးရှင်းသော ဘဝဇာတ်ကြောင်းဖြင့် မေးခွန်းထုတ်ပါမည်။ Grafana ကို စစသုံးတုန်းက အလွန်ဆွဲဆောင်မှုရှိတဲ့ စာကြောင်း ၅ ကြောင်းကို ရေးခဲ့ပါတယ်။ နောက်ဆုံးရလဒ်သည် အလွန်ယုံကြည်စိတ်ချရသော ဇယားတစ်ခုဖြစ်သည်။ ဤဂရပ်ဖစ်သည် ထုတ်လုပ်မှုတွင် ပါဝင်လုနီးပါးဖြစ်သည်။ သို့သော် ပိုမိုနီးကပ်စွာ စစ်ဆေးပြီးနောက်၊ ကိန်းဂဏာန်းများသည် ကျွန်ုပ်တို့မျှော်လင့်ထားသည့်အတိုင်းအတာသို့ ကျဆင်းသွားသော်လည်း ကိန်းဂဏာန်းများနှင့် လုံးဝမသက်ဆိုင်သည့် ပကတိအဓိပ္ပာယ်ကို ဤဇယားတွင်ပြသကြောင်း ထွက်ပေါ်လာခဲ့သည်။ ငါ့မေးခွန်း။ ကျွန်တော်တို့မှာ စာကြည့်တိုက်တွေရှိတယ်၊ လုပ်ဆောင်ချက်တွေရှိတယ်၊ ဒါပေမယ့် Grafana အတွက် စာမေးပွဲတွေကို ဘယ်လိုရေးရမလဲ။ လုပ်ငန်းဆုံးဖြတ်ချက်အပေါ် သက်ရောက်မှုရှိသော ရှုပ်ထွေးသောမေးခွန်းတစ်ခုကို သင်ရေးသားခဲ့သည် - ဆာဗာများ၏ တကယ့်ကွန်တိန်နာကို မှာယူရန် သို့မဟုတ် မမှာယူရန်။ ကျွန်ုပ်တို့သိသည့်အတိုင်း၊ ဂရပ်တစ်ခုဆွဲသည့် ဤလုပ်ဆောင်ချက်သည် အမှန်တရားနှင့် ဆင်တူသည်။ ကျေးဇူးတင်ပါသည်။

မေးခွန်းအတွက်ကျေးဇူးတင်ပါတယ်။ ဒီမှာ နှစ်ပိုင်းရှိတယ်။ ဦးစွာ၊ အသုံးပြုသူအများစုသည် ၎င်းတို့၏ဇယားများကိုကြည့်သောအခါ ၎င်းတို့ကိုပြသနေသည်ကို နားမလည်ကြောင်း ကျွန်ုပ်၏အတွေ့အကြုံပေါ်အခြေခံ၍ ပထမဦးစွာ ကျွန်ုပ်သည် စိတ်စွဲလန်းမှုကို ရရှိပါသည်။ တစ်နည်းတစ်ဖုံအားဖြင့်၊ ၎င်းသည် function တစ်ခုအတွင်း၌ bug ဖြစ်နေသော်လည်း၊ လူများသည် ဇယားများတွင် ဖြစ်ပျက်နေသည့် ကွဲလွဲမှုများအတွက် အကြောင်းပြချက်တစ်ခုရရန် အလွန်ကောင်းပါသည်။ ဒုတိယအပိုင်း - ထိုသို့သောလုပ်ဆောင်ချက်များကိုအသုံးပြုခြင်းသည် သင့် developer တိုင်းသည် ၎င်းတို့၏ကိုယ်ပိုင်စွမ်းရည်ကိုစီစဉ်ပြီး ဖြစ်နိုင်ခြေအချို့ရှိ၍ အမှားများလုပ်မည့်အစား သင့်ပြဿနာကိုဖြေရှင်းရန် ပိုမိုသင့်လျော်မည်ဟု ယူဆပါသည်။

မည်သို့စစ်ဆေး?

ဘယ်လိုစစ်ဆေးမလဲ။ မဖြစ်နိုင်ဘူး။

Grafana တွင်စမ်းသပ်မှုတစ်ခုအနေဖြင့်။

Grafana ကော။ Grafana သည် ဤတောင်းဆိုချက်ကို DataSource သို့ တိုက်ရိုက်ဘာသာပြန်သည်။

ကန့်သတ်ချက်များသို့အနည်းငယ်ထည့်ခြင်းဖြင့်။

မဟုတ်ဘူး၊ Grafana မှာ ဘာမှထပ်ထည့်မထားဘူး။ အဆင့်ကဲ့သို့သော GET ကန့်သတ်ချက်များ ရှိနိုင်သည်။ ၎င်းကို အတိအလင်း မသတ်မှတ်ထားသော်လည်း ၎င်းကို သင် override လုပ်နိုင်ပြီး၊ သင်သည် ၎င်းကို ထပ်မရေးနိုင်သော်လည်း ၎င်းကို အလိုအလျောက် ပေါင်းထည့်မည်ဖြစ်သည်။ မင်း ဒီမှာ စာမေးပွဲတွေ မရေးဘူး။ ဤနေရာ၌ အမှန်တရား၏အရင်းအမြစ်အဖြစ် Grafana အားကိုးသင့်သည်ဟု ကျွန်ုပ်မထင်ပါ။

အစီရင်ခံစာအတွက် ကျေးဇူးတင်ပါသည်။ ချုံ့ခြင်းအတွက် ကျေးဇူးတင်ပါသည်။ Grafana တွင် သင်သည် ကိန်းရှင်တစ်ခုကို ကိန်းရှင်တစ်ခုတွင် အသုံးမပြုနိုင်ဟု ဂရပ်တစ်ခုတွင် ကိန်းရှင်တစ်ခုကို ပုံဖော်ခြင်းအကြောင်း သင်သတိရမိပါသည်။ ငါဆိုလိုတာကို မင်းနားလည်လား။

ဟုတ်ပါတယ်။

Grafana မှာသတိပေးချင်တာက အစပိုင်းမှာတော့ ခေါင်းကိုက်တယ်။ ပြီးတော့ အဲဒီ့မှာ host တစ်ခုစီအတွက် သီးခြားသတိပေးဖို့လိုပါတယ်။ သင်လုပ်ခဲ့သော ဤအရာသည် Grafana ရှိ သတိပေးချက်များအတွက် အလုပ်ဖြစ်ပါသလား။

Grafana သည် အခြားနည်းဖြင့် ကိန်းရှင်များကို မဝင်ရောက်နိုင်ပါက၊ ၎င်းသည် အလုပ်ဖြစ်လိမ့်မည်။ ဒါပေမယ့် ကျွန်တော့်ရဲ့ အကြံပေးချက်ကတော့ Grafana မှာ သတိပေးချက်တွေကို လုံးဝအသုံးမပြုဘဲ alertmanager ကိုသုံးတာ ပိုကောင်းပါတယ်။

ဟုတ်တယ်၊ ငါသုံးတယ်၊ ဒါပေမယ့် Grafana မှာ စဖွင့်ရတာ ပိုလွယ်သလိုပဲ၊ ဒါပေမယ့် အကြံပြုချက်အတွက် ကျေးဇူးတင်ပါတယ်။

source: www.habr.com

မှတ်ချက် Add