Thanos - පරිමාණය කළ හැකි Prometheus

ලිපියේ පරිවර්තනය පාඨමාලාවේ සිසුන් සඳහා විශේෂයෙන් සකස් කරන ලදී "DevOps භාවිතයන් සහ මෙවලම්".

Fabian Reinartz මෘදුකාංග සංවර්ධකයෙක්, Go fantic, සහ ගැටළු විසඳන්නෙක්. ඔහු Prometheus නඩත්තු කරන්නෙකු සහ Kubernetes SIG උපකරණවල සම-නිර්මාතෘවරයා ද වේ. අතීතයේදී ඔහු SoundCloud හි නිෂ්පාදන ඉංජිනේරුවෙකු වූ අතර CoreOS හි අධීක්ෂණ කණ්ඩායමට නායකත්වය දුන්නේය. දැනට Google හි වැඩ කරයි.

බාර්ටෙක් ප්ලොට්කා - Improbable හි යටිතල පහසුකම් ඉංජිනේරු. බෙදා හරින ලද පද්ධතිවල නව තාක්ෂණයන් සහ ගැටළු පිළිබඳව ඔහු උනන්දු වෙයි. ඔහුට Intel හි පහත මට්ටමේ ක්‍රමලේඛන අත්දැකීමක්, Mesos හි දායක අත්දැකීමක් සහ Improbable හි ලෝක මට්ටමේ SRE නිෂ්පාදන අත්දැකීමක් ඇත. ක්ෂුද්‍ර සේවා ලෝකය වැඩිදියුණු කිරීම සඳහා කැපවී ඇත. ඔහුගේ ආදරයන් තුන: Golang, open source සහ වොලිබෝල්.

අපගේ ප්‍රමුඛතම නිෂ්පාදනයක් වන SpatialOS දෙස බලන විට, Improbable සඳහා Kubernetes පොකුරු දුසිම් ගණනක් සහිත ඉතා ගතික, ගෝලීය පරිමාණයේ වලාකුළු යටිතල පහසුකම් අවශ්‍ය බව ඔබට අනුමාන කළ හැක. අපි අධීක්ෂණ පද්ධතියක් භාවිතා කළ පළමු අයගෙන් කෙනෙකි Prometheus. Prometheus හට තත්‍ය කාලීන මෙට්‍රික් මිලියන ගණනක් හඹා යාමට හැකියාව ඇති අතර ඔබට අවශ්‍ය තොරතුරු උකහා ගැනීමට ඔබට ඉඩ සලසන බලවත් විමසුම් භාෂාවක් සමඟ පැමිණේ.

Prometheus හි සරල බව සහ විශ්වසනීයත්වය එහි ප්රධාන වාසි වලින් එකකි. කෙසේ වෙතත්, අපි යම් පරිමාණයකින් පසු වූ පසු, අපට අඩුපාඩු කිහිපයක් හමු විය. මෙම ගැටළු විසඳීම සඳහා අපි සංවර්ධනය කර ඇත තානෝ දැනට පවතින Prometheus පොකුරු සීමා රහිත ඓතිහාසික දත්ත ගබඩාවක් සහිත තනි නිරීක්ෂණ පද්ධතියක් බවට පරිවර්තනය කිරීම සඳහා Improbable විසින් නිර්මාණය කරන ලද විවෘත මූලාශ්‍ර ව්‍යාපෘතියකි. Thanos Github හි ඇත මෙහි.

Improbable වෙතින් නවතම පුවත් සමඟ යාවත්කාලීනව සිටින්න.

Thanos සමඟ අපගේ ඉලක්ක

යම් පරිමාණයකින්, වැනිලා ප්‍රොමිතියස්ගේ හැකියාවන්ට ඔබ්බෙන් වූ ගැටළු පැන නගී. ඵෙතිහාසික දත්තවල පෙටාබයිට් විශ්වාසනීයව සහ ආර්ථිකව ගබඩා කරන්නේ කෙසේද? ප්‍රතිචාර දැක්වීමේ කාලය අඩු නොකර මෙය කළ හැකිද? තනි API ඉල්ලීමක් සමඟ විවිධ Prometheus සේවාදායකයන් මත පිහිටා ඇති සියලුම ප්‍රමිතික වෙත ප්‍රවේශ විය හැකිද? Prometheus HA භාවිතයෙන් එකතු කරන ලද අනුපිටපත් දත්ත ඒකාබද්ධ කිරීමට ක්‍රමයක් තිබේද?

මෙම ගැටළු විසඳීම සඳහා අපි Thanos නිර්මාණය කළා. අපි මෙම ගැටළු වලට ප්‍රවේශ වූ ආකාරය සහ අපගේ අරමුණු පැහැදිලි කරන ආකාරය පහත කොටස් විස්තර කරයි.

Prometheus අවස්ථා කිහිපයකින් දත්ත විමසීම (ගෝලීය විමසුම)

Prometheus ෂර්ඩිං සඳහා ක්රියාකාරී ප්රවේශයක් ඉදිරිපත් කරයි. එක් Prometheus සේවාදායකයක් පවා භාවිතා කරන සෑම අවස්ථාවකම පාහේ තිරස් ඛණ්ඩනය කිරීමේ සංකීර්ණතාවයෙන් පරිශීලකයින්ට ප්‍රමාණවත් පරිමාණයක් සපයයි.

මෙය විශිෂ්ට යෙදවුම් ආකෘතියක් වන අතර, බොහෝ විට තනි API හෝ UI හරහා විවිධ Prometheus සේවාදායකයන් මත දත්ත වෙත ප්‍රවේශ වීම අවශ්‍ය වේ - ගෝලීය දසුනක්. ඇත්ත වශයෙන්ම, එක් Grafana පැනලයක විමසුම් කිහිපයක් ප්‍රදර්ශනය කළ හැකි නමුත්, සෑම විමසුමක්ම ක්‍රියාත්මක කළ හැක්කේ එක් Prometheus සේවාදායකයක් මත පමණි. අනෙක් අතට, Thanos සමඟින් ඔබට ප්‍රොමිතියස් සර්වර් කිහිපයකින් දත්ත විමසා එකතු කළ හැකිය, මන්ද ඒවා සියල්ලම එක් අන්ත ලක්ෂ්‍යයකින් ප්‍රවේශ විය හැකිය.

මින් පෙර, අසම්භාව්‍ය හි ගෝලීය දර්ශනයක් ලබා ගැනීම සඳහා, අපි අපගේ ප්‍රොමිතියස් අවස්ථා බහු-මට්ටමකට සංවිධානය කළෙමු ධූරාවලි සම්මේලනය. මෙයින් අදහස් කළේ එක් එක් පත්‍ර සේවාදායකයෙන් යම් ප්‍රමිතික එකතු කරන එක් Prometheus මෙටා සේවාදායකයක් නිර්මාණය කිරීමයි.

Thanos - පරිමාණය කළ හැකි Prometheus

මෙම ප්රවේශය ගැටළුකාරී බව ඔප්පු විය. මෙය වඩාත් සංකීර්ණ වින්‍යාසයන්, අසාර්ථක වීමේ අතිරේක විභව ලක්ෂ්‍යයක් එකතු කිරීම සහ ෆෙඩරේටඩ් අන්ත ලක්ෂ්‍යයට අවශ්‍ය දත්ත පමණක් ලැබෙන බව සහතික කිරීම සඳහා සංකීර්ණ නීති යෙදීමට හේතු වී ඇත. මීට අමතරව, මෙම ආකාරයේ ෆෙඩරේෂන් ඔබට සැබෑ ගෝලීය දර්ශනයක් ලබා ගැනීමට ඉඩ නොදේ, මන්ද සියලු දත්ත තනි API ඉල්ලීමකින් ලබා ගත නොහැක.

මෙයට සමීපව සම්බන්ධ වන්නේ අධි-ලබා ගත හැකි (HA) Prometheus සේවාදායකයන් මත එකතු කරන ලද දත්තවල ඒකාබද්ධ දර්ශනයකි. Prometheus ගේ HA ආකෘතිය ස්වාධීනව දෙවරක් දත්ත රැස් කරයි, එය සරල විය නොහැකි තරම් සරල ය. කෙසේ වෙතත්, ප්‍රවාහ දෙකෙහිම ඒකාබද්ධ සහ අනුපිටපත් දර්ශනයක් භාවිතා කිරීම වඩාත් පහසු වනු ඇත.

ඇත්ත වශයෙන්ම, ඉහළ මට්ටමක පවතින Prometheus සේවාදායකයන් සඳහා අවශ්යතාවයක් ඇත. ඉම්ප්‍රොබබල්හිදී, අපි විනාඩියෙන් මිනිත්තුව දත්ත අධීක්‍ෂණය ඉතා බැරෑරුම් ලෙස සලකමු, නමුත් පොකුරකට එක් ප්‍රොමිතියස් අවස්ථාවක් තිබීම අසාර්ථක වීමේ තනි කරුණකි. ඕනෑම වින්‍යාස දෝෂයක් හෝ දෘඪාංග අසමත් වීම වැදගත් දත්ත නැති වීමට හේතු විය හැක. නැවත ආරම්භ කිරීම සීරීම් කාල පරතරයට වඩා සැලකිය යුතු ලෙස දිගු විය හැකි බැවින් සරල යෙදවීමකින් පවා ප්‍රමිතික එකතුවේ සුළු බාධා ඇති විය හැක.

ඓතිහාසික දත්ත විශ්වසනීය ගබඩා කිරීම

ලාභ, වේගවත්, දිගු කාලීන ප්‍රමිතික ආචයනය අපගේ සිහිනයයි (බොහෝ ප්‍රොමිතියස් භාවිතා කරන්නන් විසින් බෙදා ගන්නා ලදී). Improbable හි, ප්‍රමිතික රඳවා ගැනීමේ කාලය දින නවයකට වින්‍යාස කිරීමට අපට බල කෙරුනි (Prometheus 1.8 සඳහා). මෙය අපට කෙතරම් පසුපසට බැලිය හැකිද යන්නට පැහැදිලි සීමාවන් එක් කරයි.

Prometheus 2.0 මේ සම්බන්ධයෙන් වැඩි දියුණු කර ඇත, මන්ද කාල ශ්‍රේණි ගණන සේවාදායකයේ සමස්ත ක්‍රියාකාරිත්වයට තවදුරටත් බලපාන්නේ නැත (බලන්න. Prometheus 2 ගැන KubeCon ප්‍රධාන දේශනය) කෙසේ වෙතත්, Prometheus දේශීය තැටියේ දත්ත ගබඩා කරයි. ඉහළ කාර්යක්ෂම දත්ත සම්පීඩනය දේශීය SSD භාවිතය සැලකිය යුතු ලෙස අඩු කළ හැකි වුවද, අවසානයේ ගබඩා කළ හැකි ඓතිහාසික දත්ත ප්‍රමාණයට සීමාවක් පවතී.

මීට අමතරව, Improbable හි අපි විශ්වසනීයත්වය, සරල බව සහ පිරිවැය ගැන සැලකිලිමත් වෙමු. විශාල දේශීය තැටි ක්රියා කිරීමට සහ උපස්ථ කිරීමට වඩා අපහසු වේ. ඒවාට වැඩි පිරිවැයක් දැරීමට සිදුවන අතර අමතර උපස්ථ මෙවලම් අවශ්‍ය වන අතර එමඟින් අනවශ්‍ය සංකීර්ණතාවයක් ඇති වේ.

ඩවුන්සැම්ප්ලිං

අපි ඓතිහාසික දත්ත සමඟ වැඩ කිරීමට පටන් ගත් පසු, අපි සති, මාස සහ වසර ගණනක දත්ත සමඟ වැඩ කරන විට විමසුම් මන්දගාමී සහ මන්දගාමී වන big-O සමඟ මූලික දුෂ්කරතා ඇති බව අපට වැටහුණි.

මෙම ගැටලුව සඳහා සම්මත විසඳුම වනු ඇත පහත හෙලීම (downsampling) - සංඥා සාම්පල සංඛ්යාතය අඩු කිරීම. පහත් නියැදීමත් සමඟ, අපට විශාල කාල පරාසයකට “පහළට” ගත හැකි අතර විමසුම් ප්‍රතිචාරාත්මකව තබා ගනිමින් එම සාම්පල ගණනම පවත්වා ගත හැක.

පැරණි දත්ත අඩු කිරීම ඕනෑම දිගු කාලීන ගබඩා විසඳුමක අනිවාර්ය අවශ්‍යතාවයක් වන අතර එය වැනිලා ප්‍රොමිතියස්ගේ විෂය පථයෙන් ඔබ්බට ය.

අමතර ඉලක්ක

Thanos ව්‍යාපෘතියේ මුල් ඉලක්කයක් වූයේ පවතින ඕනෑම Prometheus ස්ථාපනයන් සමඟ බාධාවකින් තොරව ඒකාබද්ධ වීමයි. දෙවන ඉලක්කය වූයේ ඇතුල්වීම සඳහා අවම බාධක සහිත මෙහෙයුම් පහසුවයි. කුඩා සහ විශාල පරිශීලකයන් සඳහා ඕනෑම පරායත්තයක් පහසුවෙන් තෘප්තිමත් විය යුතුය, එයින් අදහස් වන්නේ අඩු මූලික පිරිවැයක් ද වේ.

Thanos ගෘහ නිර්මාණ ශිල්පය

පෙර කොටසේ අපගේ ඉලක්ක ලැයිස්තුගත කිරීමෙන් පසු, ඒවා හරහා වැඩ කර Thanos මෙම ගැටළු විසඳන්නේ කෙසේදැයි බලමු.

ගෝලීය දර්ශනය

පවතින Prometheus අවස්ථාවන් මත ගෝලීය දසුනක් ලබා ගැනීමට, අපි සියලු සේවාදායකයන් වෙත තනි ඉල්ලීම් ඇතුළත් කිරීමේ ලක්ෂ්‍යයක් සම්බන්ධ කළ යුතුය. Thanos සංරචකය කරන්නේ මෙයයි. සිඩෙක්ර්. එය සෑම Prometheus සේවාදායකයක් අසලම යොදවා ඇති අතර ප්‍රොක්සියක් ලෙස ක්‍රියා කරයි, gRPC Store API හරහා දේශීය Prometheus දත්ත සේවය කරයි, ටැග් සහ කාල පරාසය මගින් කාල ශ්‍රේණි දත්ත ලබා ගැනීමට ඉඩ සලසයි.

අනෙක් පැත්තෙන්, සම්මත Prometheus HTTP API හරහා PromQL විමසුම්වලට පිළිතුරු සැපයීමට වඩා වැඩි යමක් කරන, scale-out, stateless Querier සංරචකය වේ. Querier, Sidecar සහ අනෙකුත් Thanos සංරචක හරහා සන්නිවේදනය කරයි gossip protocol.

Thanos - පරිමාණය කළ හැකි Prometheus

  1. Querier, ඉල්ලීමක් ලැබීමෙන් පසු, අදාළ Store API සේවාදායකයට, එනම් අපගේ Sidecars වෙත සම්බන්ධ වන අතර අනුරූප Prometheus සේවාදායකයන්ගෙන් කාල ශ්‍රේණි දත්ත ලබා ගනී.
  2. ඊට පසු, එය ප්‍රතිචාර ඒකාබද්ධ කර ඒවා මත PromQL විමසුමක් ක්‍රියාත්මක කරයි. Querier හට Prometheus HA සේවාදායක වෙතින් අසම්බන්ධ දත්ත සහ අනුපිටපත් දත්ත යන දෙකම ඒකාබද්ධ කළ හැක.

මෙය අපගේ ප්‍රහේලිකාවේ ප්‍රධාන කොටසක් විසඳයි - හුදකලා වූ Prometheus සේවාදායකයන්ගෙන් දත්ත තනි දසුනකට ඒකාබද්ධ කිරීම. ඇත්ත වශයෙන්ම, Thanos භාවිතා කළ හැක්කේ මෙම විශේෂාංගය සඳහා පමණි. පවතින Prometheus සේවාදායකයන්ට කිසිදු වෙනසක් සිදු කිරීමට අවශ්‍ය නැත!

අසීමිත ආයු කාලයක්!

කෙසේ වෙතත්, ඉක්මනින් හෝ පසුව අපට සාමාන්‍ය Prometheus රඳවා ගැනීමේ කාලය ඉක්මවා දත්ත ගබඩා කිරීමට අවශ්‍ය වනු ඇත. අපි ඓතිහාසික දත්ත ගබඩා කිරීමට වස්තු ගබඩාව තෝරා ගත්තෙමු. එය ඕනෑම වලාකුළක මෙන්ම පරිශ්‍රයේ දත්ත මධ්‍යස්ථානවල පුළුල් ලෙස ලබා ගත හැකි අතර ඉතා ලාභදායී වේ. මීට අමතරව, ඕනෑම වස්තු ගබඩාවක් පාහේ සුප්‍රසිද්ධ S3 API හරහා ලබා ගත හැකිය.

Prometheus දළ වශයෙන් සෑම පැය දෙකකට වරක් RAM සිට තැටියට දත්ත ලියයි. ගබඩා කර ඇති දත්ත කොටසෙහි සියලු දත්ත ස්ථාවර කාල සීමාවක් සඳහා අඩංගු වන අතර එය වෙනස් කළ නොහැක. මෙය ඉතා පහසු වන්නේ Thanos Sidecar හට Prometheus දත්ත නාමාවලිය දෙස සරලව බැලිය හැකි අතර, නව කුට්ටි ලබා ගත හැකි වන විට, ඒවා වස්තු ගබඩා බාල්දිවලට ​​පැටවීමයි.

Thanos - පරිමාණය කළ හැකි Prometheus

තැටියට ලිවීමෙන් පසු වස්තු ගබඩාව වෙත පැටවීම ද ඔබට scraper (Prometheus සහ Thanos Sidecar) සරල බව පවත්වා ගැනීමට ඉඩ සලසයි. එය සහාය, පිරිවැය සහ පද්ධති සැලසුම් කිරීම සරල කරයි.

ඔබට පෙනෙන පරිදි, දත්ත උපස්ථ කිරීම ඉතා සරල ය. නමුත් වස්තු ගබඩාවේ දත්ත විමසීම ගැන කුමක් කිව හැකිද?

Thanos Store සංරචකය වස්තුව ගබඩාවෙන් දත්ත ලබා ගැනීමට ප්‍රොක්සියක් ලෙස ක්‍රියා කරයි. Thanos Sidecar මෙන් එය gossip cluster එකට සහභාගී වී Store API ක්‍රියාත්මක කරයි. මේ ආකාරයට, පවතින Querier හට එය Sidecar එකක් ලෙස සැලකිය හැකිය, තවත් කාල ශ්‍රේණි දත්ත ප්‍රභවයක් ලෙස - විශේෂ වින්‍යාස කිරීමක් අවශ්‍ය නොවේ.

Thanos - පරිමාණය කළ හැකි Prometheus

කාල ශ්‍රේණියේ දත්ත කොටස් විශාල ගොනු කිහිපයකින් සමන්විත වේ. ඉල්ලුම මත ඒවා පැටවීම තරමක් අකාර්යක්ෂම වන අතර, ඒවා දේශීයව හැඹිලිගත කිරීම සඳහා විශාල මතකයක් සහ තැටි ඉඩක් අවශ්ය වනු ඇත.

ඒ වෙනුවට, Store Gateway Prometheus ගබඩා ආකෘතිය හැසිරවිය යුතු ආකාරය දනී. ස්මාර්ට් විමසුම් උපලේඛකයකට ස්තූතිවන්ත වන අතර බ්ලොක් වල අවශ්‍ය දර්ශක කොටස් පමණක් හැඹිලිගත කිරීමෙන්, වස්තු ගබඩා ගොනු සඳහා සංකීර්ණ විමසුම් අවම HTTP ඉල්ලීම් ගණනකට අඩු කළ හැකිය. මේ ආකාරයට, ඔබට ඉල්ලීම් සංඛ්‍යාව විශාලත්වයේ ඇණවුම් හතරක් හෝ හයක් දක්වා අඩු කළ හැකි අතර සාමාන්‍යයෙන් දේශීය SSD එකක ඉල්ලීම් වලින් දත්ත වලට වෙන්කර හඳුනා ගැනීමට අපහසු ප්‍රතිචාර කාලයන් ලබා ගත හැක.

Thanos - පරිමාණය කළ හැකි Prometheus

ඉහත රූප සටහනේ පෙන්වා ඇති පරිදි, Thanos Querier විසින් Prometheus ගබඩා ආකෘතිය උත්තෝලනය කිරීමෙන් සහ අදාළ දත්ත එක පැත්තකින් තැබීමෙන් වස්තු ගබඩා දත්ත විමසුමක පිරිවැය සැලකිය යුතු ලෙස අඩු කරයි. මෙම ප්‍රවේශය භාවිතා කරමින්, අපට බොහෝ තනි ඉල්ලීම් අවම තොග මෙහෙයුම් ගණනකට ඒකාබද්ධ කළ හැකිය.

සංයුක්ත කිරීම සහ පහත් කිරීම

නව කාල ශ්‍රේණි දත්ත බ්ලොක් එකක් වස්තු ගබඩාවට සාර්ථකව පූරණය කළ පසු, අපි එය ගබඩා ද්වාරය හරහා වහාම ලබා ගත හැකි "ඓතිහාසික" දත්ත ලෙස සලකමු.

කෙසේ වෙතත්, ටික වේලාවකට පසු, එක් මූලාශ්‍රයකින් (Prometheus with Sidecar) කුට්ටි එකතු වන අතර තවදුරටත් සම්පූර්ණ සුචිගත කිරීමේ විභවය භාවිතා නොකරයි. මෙම ගැටළුව විසඳීම සඳහා අපි Compactor නමින් තවත් සංරචකයක් හඳුන්වා දුන්නා. එය හුදෙක් Prometheus ගේ දේශීය සංයුක්ත එන්ජිම වස්තු ගබඩාවේ ඇති ඓතිහාසික දත්ත වලට යොදන අතර සරල ආවර්තිතා කණ්ඩායම් කාර්යයක් ලෙස ධාවනය කළ හැක.

Thanos - පරිමාණය කළ හැකි Prometheus

කාර්යක්ෂම සම්පීඩනයට ස්තූතිවන්ත වන අතර, දිගු කාලයක් පුරා ගබඩාව විමසීමෙන් දත්ත ප්රමාණය අනුව ගැටළුවක් ඇති නොවේ. කෙසේ වෙතත්, බිලියනයක අගයන් අසුරා ඒවා විමසුම් ප්‍රොසෙසරයක් හරහා ධාවනය කිරීමේ විභව පිරිවැය අනිවාර්යයෙන්ම විමසුම් ක්‍රියාත්මක කිරීමේ කාලය නාටකාකාර ලෙස වැඩි කිරීමට හේතු වේ. අනෙක් අතට, තිරය මත පික්සලයකට දත්ත ලක්ෂ්‍ය සිය ගණනක් ඇති බැවින්, සම්පූර්ණ විභේදනයෙන් දත්ත දෘශ්‍යමාන කිරීමට පවා නොහැකි වේ. මේ අනුව, නියැදීම අඩු කළ හැකි පමණක් නොව, නිරවද්‍යතාවයේ සැලකිය යුතු අලාභයක් ද සිදු නොවේ.

Thanos - පරිමාණය කළ හැකි Prometheus

දත්ත අඩු කිරීම සඳහා, Compactor එක මිනිත්තු පහක සහ පැයක විභේදනයකින් දත්ත අඛණ්ඩව එකතු කරයි. TSDB XOR සම්පීඩනය භාවිතයෙන් කේතනය කරන ලද සෑම අමු කුට්ටියක් සඳහාම, එක් බ්ලොක් එකක් සඳහා මිනි, උපරිම හෝ එකතුව වැනි විවිධ වර්ගයේ සමස්ථ දත්ත ගබඩා කෙරේ. ලබා දී ඇති PromQL විමසුමකට සුදුසු සමස්ථයක් ස්වයංක්‍රීයව තේරීමට Querier හට මෙය ඉඩ දෙයි.

අඩු කළ නිරවද්‍ය දත්ත භාවිතා කිරීමට පරිශීලකයාට විශේෂ වින්‍යාසයක් අවශ්‍ය නොවේ. පරිශීලකයා විශාලනය කරන විට සහ පිටතට යන විට Querier ස්වයංක්‍රීයව විවිධ විභේදන සහ අමු දත්ත අතර මාරු වේ. අවශ්ය නම්, ඉල්ලීමෙහි "පියවර" පරාමිතිය හරහා පරිශීලකයාට මෙය සෘජුවම පාලනය කළ හැකිය.

එක් GB ගබඩා කිරීමේ පිරිවැය අඩු බැවින්, පෙරනිමියෙන් Thanos අමු දත්ත, මිනිත්තු පහක සහ පැයක විභේදන දත්ත ගබඩා කරයි. මුල් දත්ත මකා දැමීමට අවශ්ය නැත.

පටිගත කිරීමේ නීති

Thanos සමඟ වුවද, පටිගත කිරීමේ නීති අධීක්ෂණ තොගයේ අත්‍යවශ්‍ය අංගයකි. ඒවා සංකීර්ණත්වය, ප්‍රමාදය සහ විමසුම්වල පිරිවැය අඩු කරයි. ඒවා භාවිතා කරන්නන්ට ප්‍රමිතික මගින් සමස්ථ දත්ත ලබා ගැනීමටද පහසු වේ. Thanos පදනම් වී ඇත්තේ vanilla Prometheus අවස්ථා මත වන අතර, එබැවින් දැනට පවතින Prometheus සේවාදායකයක පටිගත කිරීමේ නීති සහ අනතුරු ඇඟවීමේ නීති ගබඩා කිරීම සම්පූර්ණයෙන්ම පිළිගත හැකිය. කෙසේ වෙතත්, සමහර අවස්ථාවල මෙය ප්රමාණවත් නොවේ:

  • ගෝලීය ඇඟවීම් සහ රීතිය (උදාහරණයක් ලෙස, සේවාවක් පොකුරු තුනෙන් දෙකකට වඩා වැඩ නොකරන විට අනතුරු ඇඟවීමක්).
  • දේශීය ගබඩාවෙන් පිටත දත්ත සඳහා රීතිය.
  • සියලුම නීති රීති සහ අනතුරු ඇඟවීම් එක තැනක ගබඩා කිරීමට ඇති ආශාව.

Thanos - පරිමාණය කළ හැකි Prometheus

මෙම සියලු අවස්ථා සඳහා, Thanos හට Ruler නමින් වෙනම සංරචකයක් ඇතුළත් වේ, එය Thanos Queries හරහා රීතිය සහ ඇඟවීම් ගණනය කරයි. සුප්‍රසිද්ධ StoreAPI ලබා දීමෙන්, විමසුම් නෝඩයට නැවුම් ලෙස ගණනය කළ ප්‍රමිතික වෙත ප්‍රවේශ විය හැක. පසුව ඒවා වස්තු ගබඩාවේ ගබඩා කර ගබඩා ද්වාරය හරහා ලබා ගත හැකිය.

Thanos ගේ බලය

Thanos ඔබේ අවශ්‍යතාවලට ගැලපෙන පරිදි අභිරුචිකරණය කිරීමට තරම් නම්‍යශීලී වේ. සරල Prometheus සිට සංක්රමණය වන විට මෙය විශේෂයෙන් ප්රයෝජනවත් වේ. ඉක්මන් උදාහරණයක් සමඟ Thanos සංරචක ගැන අප ඉගෙන ගත් දේ ඉක්මනින් නැවත සලකා බලමු. ඔබේ වැනිලා ප්‍රොමිතියස් “අසීමිත ප්‍රමිතික ආචයනය” ලෝකයට ගෙන යන ආකාරය මෙන්න:

Thanos - පරිමාණය කළ හැකි Prometheus

  1. Thanos Sidecar ඔබගේ Prometheus සේවාදායකයට එක් කරන්න - උදාහරණයක් ලෙස, Kubernetes පොඩ් එකක ඇති සයිඩ්කාර් බහාලුමක්.
  2. දත්ත බැලීමට හැකි වන පරිදි Thanos Querier අනුරූ කිහිපයක් යොදන්න. මෙම අදියරේදී Scraper සහ Querier අතර ඕපාදූප සැකසීම පහසුය. සංරචකවල අන්තර්ක්‍රියා පරීක්ෂා කිරීමට, 'thanos_cluster_members' මෙට්‍රික් භාවිතා කරන්න.

විභව Prometheus HA අනුරූ වලින් ගෝලීය දර්ශනය සහ බාධාවකින් තොර දත්ත අඩුකිරීමක් සැපයීමට මෙම පියවර දෙක ප්‍රමාණවත් වේ! ඔබගේ උපකරණ පුවරු Querier HTTP අන්ත ලක්ෂ්‍යය වෙත සරලව සම්බන්ධ කරන්න හෝ Thanos UI සෘජුවම භාවිතා කරන්න.

කෙසේ වෙතත්, ඔබට ප්‍රමිතික උපස්ථයක් සහ දිගු කාලීන ගබඩාවක් අවශ්‍ය නම්, ඔබට තවත් පියවර තුනක් සම්පූර්ණ කිරීමට අවශ්‍ය වනු ඇත:

  1. AWS S3 හෝ GCS බාල්දියක් සාදන්න. මෙම බකට් වලට දත්ත පිටපත් කිරීමට Sidecar වින්‍යාස කරන්න. දේශීය දත්ත ගබඩාව දැන් අවම කළ හැක.
  2. Store Gateway යොදවා එය ඔබගේ පවතින gossip Cluster වෙත සම්බන්ධ කරන්න. දැන් ඔබට උපස්ථ දත්ත විමසිය හැක!
  3. සම්පීඩනය සහ පහත් නියැදීම භාවිතා කරමින් දීර්ඝ කාලයක් පුරා විමසුම් කාර්යක්ෂමතාව වැඩි දියුණු කිරීම සඳහා Compactor යෙදවීම.

ඔබට වැඩි විස්තර දැන ගැනීමට අවශ්‍ය නම්, අපගේ දෙස බැලීමට පසුබට නොවන්න kubernetes ප්‍රකාශිත උදාහරණ и ඇරඹේ!

පියවර පහකින්, අපි Prometheus ගෝලීය දර්ශනය, අසීමිත ගබඩා කාලය සහ ප්‍රමිතික ඉහළ ලබා ගැනීමේ හැකියාව සහිත විශ්වසනීය අධීක්ෂණ පද්ධතියක් බවට පත් කළෙමු.

අදින්න ඉල්ලීම: අපට ඔබව අවශ්‍යයි!

තානෝ ආරම්භයේ සිටම විවෘත මූලාශ්‍ර ව්‍යාපෘතියකි. Prometheus සමඟ බාධාවකින් තොරව ඒකාබද්ධ වීම සහ Thanos හි කොටසක් පමණක් භාවිතා කිරීමේ හැකියාව ඔබේ අධීක්ෂණ පද්ධතිය වෙහෙසකින් තොරව පරිමාණය කිරීම සඳහා විශිෂ්ට තේරීමක් කරයි.

අපි සැමවිටම GitHub Pull ඉල්ලීම් සහ ගැටළු සාදරයෙන් පිළිගනිමු. මේ අතරතුර, Github Issues හෝ slack හරහා අප හා සම්බන්ධ වීමට නිදහස් වන්න අසම්භාව්ය-eng #thanosඔබට ප්‍රශ්න හෝ ප්‍රතිපෝෂණ තිබේ නම්, හෝ එය භාවිතයෙන් ඔබේ අත්දැකීම් බෙදා ගැනීමට අවශ්‍ය නම්! Improbable හි අප කරන දෙයට ඔබ කැමති නම්, අප හා සම්බන්ධ වීමට පසුබට නොවන්න - අපට සැමවිටම පුරප්පාඩු තිබේ!

පාඨමාලාව ගැන තව දැනගන්න.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න