نوټ. ژباړه: موږ ستاسو پام ته د ګرافانا د جوړونکو لخوا ساتل شوي د کلاوډ خدمت کې د وروستي ځنډ د لاملونو په اړه تخنیکي توضیحات وړاندې کوو. دا یو کلاسیک مثال دی چې څنګه د زیربنا کیفیت ښه کولو لپاره ډیزاین شوی یو نوی او ښکاري خورا ګټور خصوصیت کولی شي زیان ورسوي که تاسو د تولید په واقعیتونو کې د دې غوښتنلیک ډیری باریکیو ته چمتو نه کړئ. دا خورا ښه دی کله چې د دې په څیر توکي څرګند شي چې تاسو ته اجازه درکوي نه یوازې له خپلو غلطیو څخه زده کړئ. توضیحات د ګرافانا لابراتوار څخه د محصول د مرستیال څخه د دې متن په ژباړه کې دي.
د جمعې په ورځ ، د جولای په 19 ، په ګرافانا کلاوډ کې کوربه شوي پرومیټیوس خدمت د نږدې 30 دقیقو لپاره فعالیت ودراوه. زه د ټولو پیرودونکو څخه بخښنه غواړم چې د بندیدو له امله اغیزمن شوي. زموږ دنده دا ده چې د څارنې وسیلې چمتو کړئ چې تاسو ورته اړتیا لرئ، او موږ پوهیږو چې د دوی شتون نه درلودل ستاسو ژوند ډیر ستونزمن کوي. موږ دا پیښه ډیره جدي نیسو. دا یادښت تشریح کوي چې څه پیښ شوي، موږ څنګه ځواب ورکړ، او موږ څه کوو ترڅو ډاډ ترلاسه کړو چې دا بیا نه پیښیږي.
له تاریخ څخه دمخه
Grafana Cloud Hosted Prometheus خدمت پر بنسټ والړ دی
د بې ساري تازه معلوماتو لپاره ، د Ingester Cortex خدمت د تازه پروسې په جریان کې اضافي Ingester نقل ته اړتیا لري. (نوټ. ژباړه:
په هرصورت، دا ډیری وختونه پیښیږي چې د نورمال عملیاتو په جریان کې هیڅ ماشین د دې 25٪ غیر کارول شوي سرچینې نلري. هو، موږ حتی هڅه نه کوو: CPU او حافظه به تل د نورو پروسو لپاره ګټور وي. د دې ستونزې د حل لپاره، موږ د کارولو پریکړه وکړه
د پنجشنبې په ورځ، د جولای په 18، موږ خپلو کلسترونو ته د لومړیتوب څلور نوي درجې وړاندې کړې: جدي, высокий, اوسط и ټيټه. دوی په داخلي کلستر کې ازمول شوي چې د شاوخوا یوې اونۍ لپاره د پیرودونکي ترافیک نلري. د ډیفالټ په واسطه، پوډونه پرته له کوم مشخص لومړیتوب ترلاسه شوي اوسط لومړیتوب، ټولګی د انجسټرانو لپاره ټاکل شوی و لوړ لومړیتوب. انتقادي د څارنې لپاره ځانګړې شوې وه (Prometheus, Alertmanager, node-exporter, kube-state-metrics, etc.). زموږ ترتیب خلاص دی، او تاسو کولی شئ PR وګورئ
حادثه
د جمعې په ورځ، د جولای په 19، یو انجینر د لوی پیرودونکي لپاره یو نوی وقف شوی کورټیکس کلستر پیل کړ. د دې کلستر لپاره په ترتیب کې د نوي پوډ لومړیتوبونه شامل نه وو، نو ټول نوي پوډونه د ډیفالټ لومړیتوب ټاکل شوي - اوسط.
د Kubernetes کلستر د نوي کورټیکس کلستر لپاره کافي سرچینې نه درلودې، او موجوده تولید Cortex کلستر تازه نه و (Ingesters پرته پریښودل شوي لوړ لومړیتوب). له هغه وخته چې د نوي کلستر انجسټرانو په ډیفالټ ډول درلود اوسط لومړیتوب، او په تولید کې موجود پوډونه پرته له لومړیتوب څخه کار کوي، د نوي کلستر انګسټرانو د موجوده کورټیکس تولید کلستر څخه انګیسټرونه ځای په ځای کړل.
د تولید کلستر کې د ویستل شوي انجیسټر لپاره ریپلیکا سیټ ویستل شوی پوډ کشف کړ او د کاپي ټاکل شوي شمیر ساتلو لپاره یې نوی رامینځته کړ. نوی پوډ د ډیفالټ لخوا ټاکل شوی و اوسط لومړیتوب، او په تولید کې بل "زاړه" انګسټر خپلې سرچینې له لاسه ورکړې. پایله دا وه د واورې تودوخې پروسه، کوم چې د کورټیکس تولید کلسترونو لپاره د انګیسټر څخه د ټولو پوډونو بې ځایه کیدو لامل شو.
Ingesters ریاستي دي او د تیرو 12 ساعتونو لپاره ډاټا ذخیره کوي. دا موږ ته اجازه راکوي چې د اوږدې مودې ذخیره کولو ته د لیکلو دمخه دوی په ډیر اغیزمن ډول فشار کړو. د دې لاسته راوړلو لپاره، کورټیکس د ویشل شوي هش میز (DHT) په کارولو سره د لړۍ په اوږدو کې ډیټا شارډ کوي او هره لړۍ د ډینامو سټایل کورم تسلسل په کارولو سره په دریو انجسټرونو کې تکراروي. Cortex Ingesters ته معلومات نه لیکي چې معیوب شوي دي. په دې توګه، کله چې لوی شمیر انجینټرونه DHT پریږدي، Cortex نشي کولی د ننوتلو کافي نقل چمتو کړي، او دوی خرابیږي.
کشف او درملنه
د "غلطي بودیجې" پراساس د پرومیټیوس نوي خبرتیاوې (تېروتنه - د بودیجې پر بنسټ - توضیحات به په راتلونکي مقاله کې څرګند شي) د بند له پیل څخه 4 دقیقې وروسته د الارم غږول پیل کړل. په راتلونکو پنځو دقیقو یا څو دقیقو کې، موږ ځینې تشخیصونه پرمخ یوړل او د کوبرنیټس اصلي کلستر یې اندازه کړ ترڅو دواړه نوي او موجوده تولید کلسترونه کوربه کړي.
د نورو پنځو دقیقو وروسته، زاړه انګسټرانو په بریالیتوب سره خپل معلومات لیکلي، نوي یې پیل کړي، او د کورټیکس کلسترونه بیا شتون لري.
نورې 10 دقیقې د کورټیکس مخې ته موقعیت لرونکي د تصدیق ریورس پراکسي څخه د حافظې څخه بهر (OOM) غلطیو تشخیص او سمولو کې مصرف شوې. د OOM تېروتنې په QPS کې د لس چنده زیاتوالي له امله رامینځته شوي (موږ باور لرو د پیرودونکي پرومیټیوس سرورونو څخه د ډیر تیریدونکي غوښتنو له امله).
پایلې
د ټول ځنډ وخت 26 دقیقې و. هیڅ معلومات له لاسه نه دي ورکړل شوي. Ingesters په بریالیتوب سره په حافظه کې ټول معلومات د اوږدې مودې ذخیره کې بار کړي. د بندیدو پرمهال ، د پیرودونکي پرومیټیوس سرورونه بفر شوي حذف شوي (لیرې) د کارولو ریکارډونه
د تولید کلستر لیکلو عملیات
موندنو
دا مهمه ده چې د دې پیښې څخه زده کړه وکړو او د هغې د تکرار مخنیوي لپاره اړین ګامونه پورته کړو.
په ښکاره ډول، موږ باید ډیفالټ نه وای ټاکلی اوسط لومړیتوب تر هغه چې په تولید کې ټول مصرف کونکي ترلاسه کړي высокий یو لومړیتوب. برسېره پردې، دا اړینه وه چې مخکې له مخکې دوی ته پاملرنه وشي لوړ لومړیتوب. هر څه اوس سم شوي دي. موږ هیله لرو چې زموږ تجربه به د نورو سازمانونو سره مرسته وکړي چې په Kubernetes کې د پوډ لومړیتوبونو کارولو په اړه فکر کوي.
موږ به د هر هغه اضافي شیانو په ګمارلو کې د کنټرول اضافي کچې اضافه کړو چې تشکیلات یې په کلستر کې نړیوال دي. له اوس څخه، دا ډول بدلونونه به ارزول کیږي بоزيات خلک. سربیره پردې، هغه تعدیل چې د حادثې لامل شوی د جلا پروژې سند لپاره خورا کوچنی وګڼل شو - دا یوازې د GitHub مسله کې بحث شوی. له اوس څخه، په تشکیلاتو کې دا ډول ټول بدلونونه به د مناسبې پروژې اسنادو سره وي.
په نهایت کې ، موږ به د اوورلوډ OOM مخنیوي لپاره د تصدیق ریورس پراکسي له سره تنظیم کول اتومات کړو چې موږ یې شاهدان یو ، او په راتلونکي کې د ورته مسلو مخنیوي لپاره به د فال بیک او سکیلینګ پورې اړوند د پرومیټیوس ډیفالټ ترتیبات بیاکتنه وکړو.
ناکامۍ ځینې مثبتې پایلې هم درلودې: د اړینو سرچینو په ترلاسه کولو سره، Cortex په اتوماتيک ډول پرته له اضافي مداخلې روغ شو. موږ د کار کولو ارزښتناکه تجربه هم ترلاسه کړه
PS د ژباړونکي څخه
زموږ په بلاګ کې هم ولولئ:
- «
په کبرنیټس کې د اتوماتیک کولو او سرچینو مدیریت (بیاکتنه او ویډیو راپور) » - «
د کوبرنیټس ساہسک ډیلی موشن: په ورېځو کې زیربنا رامینځته کول + په ودانۍ کې » - «
Kubernetes ته د تندر لیږد » - «
په تولید کې د Kubernetes بریالیتوب کیسې. برخه 10: Reddit ".
سرچینه: www.habr.com