Thanos - د توزیع وړ Prometheus

د مقالې ژباړه په ځانګړي ډول د کورس زده کونکو لپاره چمتو شوې وه "DevOps کړنې او وسیلې".

فابیان ریینارټز د سافټویر جوړونکی دی، جنونی او د ستونزې حل کوونکی دی. هغه د پرومیتیس ساتونکی او د کوبرنیټس SIG وسیلو شریک بنسټ ایښودونکی هم دی. په تیرو کې، هغه په ​​SoundCloud کې د تولید انجنیر و او په CoreOS کې یې د څارنې ټیم مشري کوله. اوس مهال په ګوګل کې کار کوي.

بارټیک پلاټکا - د زیربنا انجنیر په ناممکن ډول. هغه د نوي ټیکنالوژیو او د ویشل شوي سیسټمونو ستونزو سره علاقه لري. هغه په ​​انټیل کې د ټیټې کچې برنامې تجربه لري ، په میسوس کې مرسته کونکي تجربه ، او په ناممکن کې د نړۍ په کچه د SRE تولید تجربه. د مایکرو خدماتو نړۍ ته وده ورکولو لپاره وقف شوی. د هغه درې مینه: ګولنګ، خلاص سرچینه او والیبال.

زموږ د پرچم بردار محصول SpatialOS ته په کتلو سره، تاسو اټکل کولی شئ چې ناممکن د لسګونو کبرنیټ کلسترونو سره خورا متحرک، د نړیوالې کچې کلاوډ زیربنا ته اړتیا لري. موږ یو له لومړیو څخه یو چې د څارنې سیسټم کاروو Prometheus. پرومیټیوس په ریښتیني وخت کې د ملیونونو میټریکونو تعقیب کولو وړ دی او د یوې پیاوړې پوښتنې ژبې سره راځي چې تاسو ته اجازه درکوي هغه معلومات استخراج کړئ چې تاسو ورته اړتیا لرئ.

د Prometheus سادگي او اعتبار د هغې یو له اصلي ګټو څخه دی. په هرصورت، یوځل چې موږ د یوې ټاکلې کچې څخه تیر شو، موږ د ډیری نیمګړتیاوو سره مخ شو. د دې ستونزو د حل لپاره موږ پرمختګ کړی دی Thanos د خلاصې سرچینې پروژه ده چې د نامحدود تاریخي ډیټا ذخیره کولو سره د موجوده پرومیتیوس کلسترونه په بې ساري ډول د واحد نظارت سیسټم ته د Improbable لخوا رامینځته شوي. Thanos په ګیتوب کې شتون لري دلته.

د ناممکن څخه وروستي خبرونو سره تازه اوسئ.

زموږ اهداف د Thanos سره

په یوه ټاکلې پیمانه، ستونزې رامینځته کیږي چې د وینیلا پرومیتیس له وړتیا څخه بهر دي. د تاریخي معلوماتو پیټابایټس په معتبره او اقتصادي توګه څنګه ذخیره کول؟ ایا دا د ځواب وخت سره موافقت پرته ترسره کیدی شي؟ ایا دا ممکنه ده چې د یو واحد API غوښتنې سره په مختلف پرومیټیوس سرورونو کې موقعیت لرونکي ټولو میټریکونو ته لاسرسی ومومئ؟ ایا د پرومیتیوس HA په کارولو سره راټول شوي نقل شوي ډیټا سره یوځای کولو لپاره کومه لاره شتون لري؟

د دې مسلو په نښه کولو لپاره، موږ تانوس جوړ کړ. لاندې برخې تشریح کوي چې موږ څنګه دې مسلو ته رسیدلي او خپلې موخې تشریح کوو.

د ډیری پرومیتیوس مثالونو څخه د معلوماتو پوښتنه کول (نړیوال پوښتنه)

Prometheus د شارډینګ لپاره فعاله طریقه وړاندې کوي. حتی یو واحد پرومیټیوس سرور د کاروونکو لپاره کافي اندازه وړتیا چمتو کوي د افقی شارډینګ پیچلتیاوو څخه د کارونې نږدې ټولو قضیو کې.

پداسې حال کې چې دا یو لوی ګومارنې ماډل دی، دا ډیری وختونه اړین دي چې د یو واحد API یا UI له لارې په مختلفو پرومیتیوس سرورونو کې ډاټا ته لاسرسی ومومي - یو نړیوال لید. البته، دا ممکنه ده چې په یوه ګرافانا پینل کې ډیری پوښتنې ښکاره کړئ، مګر هره پوښتنه یوازې په یو پرومیتیوس سرور کې اجرا کیدی شي. له بلې خوا ، د Thanos سره تاسو کولی شئ د ډیری پرومیټیوس سرورونو څخه ډیټا وپوښتئ او راټول کړئ ځکه چې دا ټول د یوې پای نقطې څخه د لاسرسي وړ دي.

مخکې، په ناممکن کې د نړیوال لید ترلاسه کولو لپاره، موږ خپل پرومیټیوس مثالونه په څو سطحو کې تنظیم کړل د هیاتریکیک فدراسیون. د دې معنی دا وه چې د پرومیټیوس میټا سرور رامینځته کول چې د هرې پاڼي سرور څخه ځینې میټریکونه راټولوي.

Thanos - د توزیع وړ Prometheus

دا طریقه ستونزمنه ثابته شوه. دا د ډیرو پیچلو تشکیلاتو پایله ده، د ناکامۍ اضافي احتمالي نقطې اضافه کول، او د پیچلو قواعدو پلي کول ترڅو ډاډ ترلاسه کړي چې د فدرالي پای ټکی یوازې هغه معلومات ترلاسه کوي چې ورته اړتیا لري. سربیره پردې، دا ډول فدراسیون تاسو ته اجازه نه ورکوي چې یو ریښتینی نړیوال لید ترلاسه کړئ، ځکه چې ټول معلومات د یو واحد API غوښتنې څخه شتون نلري.

د دې سره نږدې تړاو لري د لوړ شتون (HA) Prometheus سرورونو کې راټول شوي ډیټا یو متحد لید دی. د Prometheus HA ماډل په خپلواکه توګه دوه ځله ډاټا راټولوي، کوم چې دومره ساده دی چې دا ساده نه وي. په هرصورت، د دواړو جریانونو د ګډ او نقل شوي لید کارول به خورا اسانه وي.

البته، د پرومیتیس سرورونو خورا شتون ته اړتیا شتون لري. په ناممکن کې، موږ دقیقې دقیقې ډاټا څارنه په جدي توګه نیسو، مګر په هر کلستر کې د پرومیتیوس مثال درلودل د ناکامۍ یو واحد ټکی دی. د تشکیلاتو کومه تېروتنه یا د هارډویر ناکامي ممکن د مهم معلوماتو له لاسه ورکولو لامل شي. حتی یو ساده ګمارنه کولی شي د میټریک راټولولو کې کوچني خنډونه رامینځته کړي ځکه چې بیا پیل کول د سکریپینګ وقفې څخه خورا اوږد کیدی شي.

د تاریخي معلوماتو د اعتبار وړ ذخیره کول

ارزانه، ګړندی، اوږدمهاله میټریک ذخیره زموږ خوب دی (د ډیری پرومیتیوس کاروونکو لخوا شریک شوی). په نامناسب کې، موږ مجبور شوي یو چې د میټریک ساتلو موده نهه ورځو ته تنظیم کړو (د پرومیټیوس 1.8 لپاره). دا روښانه محدودیتونه اضافه کوي چې موږ څومره شاته وګورو.

Prometheus 2.0 پدې برخه کې ښه شوی، ځکه چې د وخت لړۍ نور نور د سرور عمومي فعالیت اغیزه نه کوي (وګورئ. د پرومیتیوس 2 په اړه د کوبی کان کلیدي یادونه). په هرصورت، Prometheus په محلي ډیسک کې ډاټا ذخیره کوي. که څه هم د لوړ موثریت ډیټا کمپریشن کولی شي د محلي SSD کارول د پام وړ کم کړي ، په نهایت کې لاهم د تاریخي معلوماتو مقدار ته محدودیت شتون لري چې زیرمه کیدی شي.

سربیره پردې، په ناممکن کې موږ د اعتبار، سادگي او لګښت په اړه پاملرنه کوو. لوی محلي ډیسکونه چلول او بیک اپ کول خورا ستونزمن دي. دوی ډیر لګښت لري او ډیر بیک اپ وسیلو ته اړتیا لري، په پایله کې غیر ضروري پیچلتیا.

د نمونې ښکته کول

یوځل چې موږ د تاریخي معلوماتو سره کار پیل کړ، موږ پوهیږو چې د لوی-O سره بنسټیز ستونزې شتون لري چې پوښتنې ورو او ورو کوي ځکه چې موږ د اونیو، میاشتو او کلونو ډیټا سره کار کوو.

د دې ستونزې معیاري حل به وي نمونې ښکته کول (د نمونې ښکته کول) - د سیګنال نمونې کولو فریکونسۍ کمول. د نمونې ښکته کولو سره، موږ کولی شو د وخت لوی حد ته "ټیټ" کړو او د ورته نمونو شمیر وساتو، پوښتنو ته ځواب ویونکي ساتل.

د زاړه ډیټا نمونه کول د اوږدې مودې ذخیره کولو حل یوه لازمي اړتیا ده او د وینیلا پرومیتیس له دائرې څخه بهر ده.

اضافي اهداف

د تانوس پروژې یو له اصلي اهدافو څخه دا و چې پرته له کوم موجوده پرومیتیس تاسیساتو سره یوځای شي. دوهم هدف د ننوتلو لپاره د لږترلږه خنډونو سره د عملیاتو اسانه کول وو. هر ډول انحصار باید د وړو او لوی کاروونکو لپاره په اسانۍ سره مطمین وي، چې دا د ټیټ بیس لګښت معنی هم لري.

د Thanos معمارۍ

په تیره برخه کې زموږ د اهدافو لیست کولو وروسته، راځئ چې د دوی له لارې کار وکړو او وګورو چې Thanos دا ستونزې څنګه حل کوي.

نړیوال لید

د موجوده پرومیتیس مثالونو په سر کې د نړیوال لید ترلاسه کولو لپاره ، موږ اړتیا لرو چې ټولو سرورونو ته د غوښتنې یو واحد ننوتلو نقطه وصل کړو. دا په حقیقت کې هغه څه دي چې د Thanos برخه یې کوي. خواړه. دا د هر Prometheus سرور تر څنګ ځای په ځای شوی او د پراکسي په توګه کار کوي، د gRPC Store API له لارې د محلي پرومیتیوس ډاټا خدمت کوي، د وخت لړۍ ډاټا ته اجازه ورکوي چې د ټګ او وخت حد لخوا بیرته ترلاسه شي.

له بلې خوا د پیمانه بهر، بې ریاسته Querier برخه ده، کوم چې د معیاري Prometheus HTTP API له لارې د PromQL پوښتنو ته ځواب ویلو څخه لږ څه کوي. Querier، Sidecar او د Thanos نورې برخې له لارې اړیکه نیسي د ګپ شپ پروتوکول.

Thanos - د توزیع وړ Prometheus

  1. Querier، د غوښتنې په ترلاسه کولو سره، د اړونده پلورنځي API سرور سره وصل کیږي، دا زموږ د سایډ کارانو سره او د اړونده پرومیتیوس سرورونو څخه د وخت لړۍ ډاټا ترلاسه کوي.
  2. له هغې وروسته، دا ځوابونه یوځای کوي او په دوی باندې د PromQL پوښتنه اجرا کوي. Querier کولی شي د Prometheus HA سرورونو څخه دواړه جلا شوي ډاټا او نقل شوي ډاټا سره یوځای کړي.

دا زموږ د معما یوه لویه برخه حل کوي - د جلا شوي پرومیټیوس سرورونو څخه ډیټا په یو واحد لید کې یوځای کول. په حقیقت کې، Thanos یوازې د دې ځانګړتیا لپاره کارول کیدی شي. د پرومیټیوس موجوده سرورونو کې هیڅ بدلون ته اړتیا نشته!

نامحدود شیلف ژوند!

په هرصورت، ژر یا وروسته موږ به د نورمال پرومیتیوس ساتلو وخت هاخوا ډیټا ذخیره کړو. موږ د تاریخي معلوماتو ذخیره کولو لپاره د اعتراض ذخیره غوره کړه. دا په پراخه کچه په هر بادل کې شتون لري او همدارنګه د پریمیس ډیټا مرکزونو کې او خورا ارزانه دی. برسېره پردې، نږدې د هر شی ذخیره کول د پیژندل شوي S3 API له لارې شتون لري.

پرومیتیوس په هرو دوو ساعتونو کې له RAM څخه ډیسک ته معلومات لیکي. ذخیره شوي ډیټا بلاک د یوې ټاکلې مودې لپاره ټول معلومات لري او د بدلیدو وړ ندي. دا خورا اسانه دی ځکه چې Thanos Sidecar کولی شي په ساده ډول د Prometheus ډیټا ډایرکټر وګوري او لکه څنګه چې نوي بلاکونه شتون لري ، د توکو ذخیره کولو بالټونو کې یې بار کړئ.

Thanos - د توزیع وړ Prometheus

ډیسک ته د لیکلو سمدلاسه وروسته د اعتراض ذخیره کې بار کول هم تاسو ته اجازه درکوي د سکریپر سادگي وساتي (پرومیټیوس او ټانوس سیډکار). کوم چې د ملاتړ، لګښت او سیسټم ډیزاین ساده کوي.

لکه څنګه چې تاسو لیدلی شئ، د معلوماتو بیک اپ خورا ساده دی. مګر د اعتراض ذخیره کې د معلوماتو پوښتنې کولو په اړه څه؟

د Thanos Store برخه د پراکسي په توګه کار کوي ترڅو د شیانو ذخیره کولو څخه ډاټا ترلاسه کړي. د Thanos Sidecar په څیر، دا د ګپ شپ کلستر کې برخه اخلي او د سټور API پلي کوي. په دې توګه، موجوده Querier کولی شي دا د Sidecar په څیر چلند وکړي، د وخت لړۍ ډیټا بلې سرچینې په توګه - کوم ځانګړي ترتیب ته اړتیا نشته.

Thanos - د توزیع وړ Prometheus

د وخت لړۍ ډیټا بلاکونه ډیری لوی فایلونه لري. د غوښتنې پراساس د دوی بار کول به خورا غیر موثر وي ، او په ځایی ډول یې کیچ کول به د حافظې او ډیسک ځای لوی مقدار ته اړتیا ولري.

پرځای یې، د پلورنځي ګیټ وے پوهیږي چې څنګه د پرومیټیوس ذخیره بڼه اداره کړي. د سمارټ پوښتنې مهالویش کونکي څخه مننه او یوازې د بلاکونو اړین شاخص برخې کیچ کول ، دا ممکنه ده چې پیچلې پوښتنې لږترلږه د HTTP غوښتنو ته د اعتراض ذخیره فایلونو لپاره کم کړئ. په دې توګه، تاسو کولی شئ د غوښتنو شمیر له څلورو څخه تر شپږو امرونو اندازه کم کړئ او د ځواب وخت ترلاسه کړئ چې عموما ستونزمن وي د غوښتنې څخه په محلي SSD کې ډاټا ته توپیر وکړي.

Thanos - د توزیع وړ Prometheus

لکه څنګه چې په پورتني ډیاګرام کې ښودل شوي ، Thanos Querier د پرومیټیوس ذخیره کولو فارمیټ څخه ګټه پورته کولو او د اړونده معلوماتو په څنګ کې ځای په ځای کولو سره د اعتراض ذخیره کولو ډیټا هرې پوښتنې لګښت د پام وړ کموي. د دې طریقې په کارولو سره، موږ کولی شو ډیری واحد غوښتنې لږ تر لږه په لوی شمیر عملیاتو کې یوځای کړو.

ترکیب او ښکته نمونه کول

یوځل چې د وخت لړۍ ډیټا نوی بلاک په بریالیتوب سره د اعتراض ذخیره کې بار شي ، موږ دا د "تاریخي" ډیټا په توګه چلند کوو ، کوم چې سمدلاسه د سټور ګیټیو له لارې شتون لري.

په هرصورت، د یو څه وخت وروسته، د یوې سرچینې څخه بلاکونه (Prometheus with Sidecar) راټولیږي او نور د بشپړ شاخص ظرفیت نه کاروي. د دې ستونزې د حل لپاره، موږ د Compactor په نوم یو بل برخه معرفي کړه. دا په ساده ډول د اعتراض ذخیره کې تاریخي ډیټا ته د پرومیټیوس محلي ترکیب انجن پلي کوي او د ساده دورې بیچ دندې په توګه پرمخ وړل کیدی شي.

Thanos - د توزیع وړ Prometheus

د موثر کمپریشن څخه مننه ، د اوږدې مودې لپاره د ذخیره کولو پوښتنه کول د ډیټا اندازې شرایطو کې ستونزه نه رامینځته کوي. په هرصورت، د یو ملیارد ارزښتونو د خلاصولو احتمالي لګښت او د پوښتنې پروسیسر له لارې د دوی چلول به حتمي د پوښتنې اجرا کولو وخت کې د ډراماتیک زیاتوالي لامل شي. له بلې خوا، ځکه چې په سکرین کې په هر پکسل کې د سلګونو ډیټا پوائنټونه شتون لري، دا ناممکن کیږي چې حتی په بشپړ ریزولوشن کې ډاټا لیدل هم ناممکن وي. په دې توګه، د نمونې ښکته کول نه یوازې ممکن دي، بلکې د دقت د پام وړ زیان لامل نشي.

Thanos - د توزیع وړ Prometheus

د ډیټا نمونې کولو لپاره، کمپیکټر په دوامداره توګه د پنځو دقیقو او یو ساعت په ریزولوشن کې ډاټا راټولوي. د TSDB XOR کمپریشن په کارولو سره د کوډ شوي هرې خامې برخې لپاره، د مجموعي معلوماتو مختلف ډولونه زیرمه شوي، لکه د یو بلاک لپاره دقیق، اعظمي یا رقم. دا Querier ته اجازه ورکوي چې په اتوماتيک ډول یو مجموعه غوره کړي چې د ورکړل شوي PromQL پوښتنې لپاره مناسب وي.

د کارونکي لپاره د کم دقیق ډیټا کارولو لپاره کوم ځانګړي ترتیب ته اړتیا نشته. Querier په اوتومات ډول د مختلف ریزولوشنونو او خام ډیټا ترمینځ تیریږي ځکه چې کارونکي زوم ان او بهر کوي. که وغواړي، کاروونکي کولی شي دا په مستقیم ډول په غوښتنه کې د "قدم" پیرامیټر له لارې کنټرول کړي.

څرنګه چې د یو جی بی ذخیره کولو لګښت ټیټ دی، په ډیفالټ ډول Thanos خام ډیټا، پنځه دقیقې او یو ساعت ریزولوشن ډیټا ذخیره کوي. د اصلي معلوماتو حذف کولو ته اړتیا نشته.

د ثبت کولو قواعد

حتی د Thanos سره، د ثبت کولو قواعد د څارنې سټیک یوه اړینه برخه ده. دوی پیچلتیا، ځنډ، او د پوښتنو لګښت کموي. دوی د کاروونکو لپاره هم اسانه دي چې د میټریک لخوا راټول شوي معلومات ترلاسه کړي. Thanos د وینیلا پرومیتیس مثالونو پراساس دی ، نو دا په بشپړ ډول د منلو وړ دی چې د ثبت کولو مقررات ذخیره کړي او په موجوده پرومیتیوس سرور کې د خبرتیا قواعد. په هرصورت، په ځینو مواردو کې دا ممکن کافي نه وي:

  • نړیوال خبرتیا او قاعده (د مثال په توګه، یو خبرتیا کله چې یو خدمت د دریو کلسترونو څخه دوه څخه ډیر کار نه کوي).
  • د محلي ذخیرې څخه بهر د معلوماتو لپاره قواعد.
  • په یو ځای کې د ټولو مقرراتو او خبرتیاو ذخیره کولو هیله.

Thanos - د توزیع وړ Prometheus

د دې ټولو قضیو لپاره ، تانوس کې د رولر په نوم یو جلا برخه شامله ده ، کوم چې د Thanos پوښتنو له لارې قاعده او خبرتیا محاسبه کوي. د یو پیژندل شوي StoreAPI چمتو کولو سره، د پوښتنې نوډ کولی شي تازه حساب شوي میټریکونو ته لاسرسی ومومي. وروسته دوی د شیانو په ذخیره کې هم زیرمه شوي او د پلورنځي ګیټ وے له لارې چمتو شوي.

د تانوس ځواک

Thanos دومره انعطاف منونکی دی چې ستاسو د اړتیاو سره سم تنظیم شي. دا په ځانګړې توګه ګټور دی کله چې د ساده پرومیتیوس څخه مهاجرت وکړي. راځئ چې ژر تر ژره هغه څه بیا تکرار کړو چې موږ د Thanos اجزاو په اړه د ګړندي مثال سره زده کړل. دلته د "لامحدود میټریک ذخیره" نړۍ ته د خپل وینیلا پرومیټیوس د وړلو څرنګوالی دی:

Thanos - د توزیع وړ Prometheus

  1. ستاسو د پرومیټیوس سرورونو ته د تانوس سایډکار اضافه کړئ - د مثال په توګه ، د کوبرنیټس پوډ کې د سایډ کار کانټینر.
  2. د ډیټا لیدو وړ کیدو لپاره ډیری Thanos Querier نقلونه ځای په ځای کړئ. پدې مرحله کې د سکریپر او کویریر تر مینځ د ګپ شپ تنظیم کول اسانه دي. د اجزاوو د تعامل چک کولو لپاره، د 'thanos_cluster_members' میټریک وکاروئ.

یوازې دا دوه مرحلې د نړیوال لید چمتو کولو لپاره کافي دي او د احتمالي Prometheus HA نقلونو څخه بې سیمه ډیټا ډیپلیکیشن! په ساده ډول خپل ډشبورډونه د Querier HTTP پای ټکي سره وصل کړئ یا مستقیم د Thanos UI وکاروئ.

په هرصورت، که تاسو د میټریک بیک اپ او اوږدې مودې ذخیره کولو ته اړتیا لرئ، تاسو به اړتیا ولرئ درې نور ګامونه بشپړ کړئ:

  1. د AWS S3 یا GCS بالټ جوړ کړئ. دې بالټونو ته د معلوماتو کاپي کولو لپاره سایډکار تنظیم کړئ. د ځایی معلوماتو ذخیره کول اوس کم کیدی شي.
  2. د پلورنځي ګیټ وے ځای په ځای کړئ او دا ستاسو د موجوده ګپ شپ کلستر سره وصل کړئ. اوس تاسو کولی شئ د بیک اپ شوي ډیټا پوښتنه وکړئ!
  3. د کمپیکټر ځای په ځای کړئ ترڅو د اوږدې مودې لپاره د کمپایکشن او ښکته نمونې کارولو په کارولو سره د پوښتنې موثریت ښه کړي.

که تاسو غواړئ نور پوه شئ، زموږ د لیدو څخه ډډه وکړئ kubernetes ښکاره مثالونه и پیل کول!

یوازې په پنځو ګامونو کې، موږ پرومیټیوس د نړیوال لید، غیر محدود ذخیره کولو وخت او د میټریک احتمالي لوړ شتون سره د اعتبار وړ نظارت سیسټم بدل کړ.

د غوښتنې غوښتنه: موږ تاسو ته اړتیا لرو!

Thanos له پیل څخه د خلاصې سرچینې پروژه وه. د پرومیتیس سره بې ساري ادغام او د تانوس یوازې یوې برخې کارولو وړتیا دا ستاسو د څارنې سیسټم په اسانۍ سره اندازه کولو لپاره غوره انتخاب جوړوي.

موږ تل د GitHub پل غوښتنې او مسلو ته ښه راغلاست وایو. په ورته وخت کې ، د ګیتوب مسلو یا سست له لارې موږ سره اړیکه ونیسئ ناممکن - eng #thanosکه تاسو پوښتنې یا فیډبیک لرئ، یا غواړئ د دې کارولو تجربه شریک کړئ! که تاسو هغه څه خوښ کړئ چې موږ یې په نامناسب کې کوو، له موږ سره په اړیکه کې مه هیروئ - موږ تل خالي بستونه لرو!

د کورس په اړه نور معلومات ترلاسه کړئ.

سرچینه: www.habr.com

Add a comment