සටහන. පරිවර්තනය.: Grafana හි නිර්මාතෘවරුන් විසින් පවත්වාගෙන යනු ලබන ක්ලවුඩ් සේවාවෙහි මෑතකාලීනව අක්රිය වීමට හේතු වූ තාක්ෂණික විස්තර අපි ඔබේ අවධානයට ඉදිරිපත් කරමු. යටිතල පහසුකම්වල ගුණාත්මක භාවය වැඩි දියුණු කිරීම සඳහා නිර්මාණය කර ඇති නව සහ පෙනෙන පරිදි අතිශයින්ම ප්රයෝජනවත් අංගයක්... නිෂ්පාදනයේ යථාර්ථයන් තුළ එහි යෙදුමේ විවිධ සූක්ෂ්මතා සඳහා ඔබ ලබා නොදෙන්නේ නම් හානියක් සිදුවිය හැකි ආකාරය පිළිබඳ මෙය සම්භාව්ය උදාහරණයකි. ඔබේ වැරදි වලින් පමණක් නොව ඉගෙන ගැනීමට ඔබට ඉඩ සලසන මෙවැනි ද්රව්ය දිස්වන විට එය විශිෂ්ටයි. විස්තර ග්රැෆනා ලැබ්ස් වෙතින් නිෂ්පාදන උප සභාපතිගේ මෙම පාඨයේ පරිවර්තනයේ ඇත.
ජූලි 19 සිකුරාදා, Grafana Cloud හි Hosted Prometheus සේවාව ආසන්න වශයෙන් මිනිත්තු 30 ක් ක්රියාත්මක වීම නතර විය. ඇනහිටීම නිසා විපතට පත් සියලුම පාරිභෝගිකයන්ගෙන් මම සමාව අයදිමි. අපගේ කාර්යය වන්නේ ඔබට අවශ්ය අධීක්ෂණ මෙවලම් සැපයීම වන අතර, ඒවා නොතිබීම ඔබේ ජීවිතය වඩාත් දුෂ්කර කළ හැකි බව අපි තේරුම් ගනිමු. අපි මේ සිද්ධිය ඉතා බරපතළ ලෙස සලකමු. මෙම සටහන සිදු වූ දේ, අප ප්රතිචාර දැක්වූ ආකාරය සහ එය නැවත සිදු නොවීමට වග බලා ගැනීමට අප කරන්නේ කුමක්ද යන්න පැහැදිලි කරයි.
මුදලටය
Grafana Cloud Hosted Prometheus සේවාව පදනම් වී ඇත
බාධාවකින් තොරව යාවත්කාලීන කිරීම් සඳහා, යාවත්කාලීන ක්රියාවලියේදී Ingester Cortex සේවාවට අමතර Ingester අනුරුවක් අවශ්ය වේ. (සටහන. පරිවර්තනය.:
කෙසේ වෙතත්, බොහෝ විට සිදුවන්නේ සාමාන්ය ක්රියාකාරිත්වය අතරතුර කිසිදු යන්ත්රයක මෙම භාවිතයට නොගත් සම්පත් වලින් 25% ක් නොමැති වීමයි. ඔව්, අපි උත්සාහ කරන්නේවත් නැහැ: CPU සහ මතකය වෙනත් ක්රියාවලීන් සඳහා සැමවිටම ප්රයෝජනවත් වේ. මෙම ගැටළුව විසඳීම සඳහා, අපි භාවිතා කිරීමට තීරණය කළා
ජූලි 18, බ්රහස්පතින්දා, අපි අපගේ පොකුරු සඳහා නව ප්රමුඛතා මට්ටම් හතරක් ඉදිරිපත් කළෙමු: විවේචනාත්මක, ඉහළ, සාමාන්යය и අඩුයි. සතියක පමණ කාලයක් සේවාලාභී ගමනාගමනය නොමැති අභ්යන්තර පොකුරක් මත ඒවා පරීක්ෂා කරන ලදී. පෙරනිමියෙන්, නිශ්චිත ප්රමුඛතාවයක් නොමැති කරල් ලැබී ඇත සාමාන්යය ප්රමුඛතාවය, පන්තිය සමඟ Ingesters සඳහා සකසා ඇත ඉහළ ප්රමුඛත්වය. විවේචනාත්මක අධීක්ෂණය සඳහා වෙන් කර ඇත (Prometheus, Alertmanager, node-exporter, kube-state-metrics, etc.). අපගේ වින්යාසය විවෘතයි, ඔබට PR නැරඹිය හැක
කඩා වැටීම
ජූලි 19 සිකුරාදා, එක් ඉංජිනේරුවෙකු විශාල සේවාදායකයෙකු සඳහා නව කැපවූ Cortex පොකුරක් දියත් කළේය. මෙම පොකුර සඳහා වන වින්යාසය තුළ නව පොඩ් ප්රමුඛතා ඇතුළත් නොවීය, එබැවින් සියලුම නව කරල් සඳහා පෙරනිමි ප්රමුඛතාවයක් ලබා දී ඇත - සාමාන්යය.
Kubernetes පොකුරට නව Cortex පොකුර සඳහා ප්රමාණවත් සම්පත් නොතිබූ අතර, පවතින නිෂ්පාදන Cortex පොකුර යාවත්කාලීන කර නොතිබුණි (Ingesters නොමැතිව ඉතිරි විය. ඉහළ ප්රමුඛත්වය). පෙරනිමියෙන් නව පොකුරේ ඇතුල් කරන්නන් සතුව තිබූ බැවින් සාමාන්යය ප්රමුඛතාවය, සහ නිෂ්පාදනයේ පවතින කරල් කිසිසේත්ම ප්රමුඛතාවයකින් තොරව ක්රියා කළ අතර, නව පොකුරේ ඉන්ජෙස්ටර් දැනට පවතින කෝටෙක්ස් නිෂ්පාදන පොකුරෙන් ඉන්ජෙස්ටර් ප්රතිස්ථාපනය කළේය.
නිෂ්පාදන පොකුරේ ඉවත් කරන ලද ඉන්ජෙස්ටරය සඳහා ReplicaSet විසින් ඉවත් කරන ලද පොඩ් හඳුනාගෙන නිශ්චිත පිටපත් සංඛ්යාව පවත්වා ගැනීම සඳහා නව එකක් නිර්මාණය කරන ලදී. නව පොඩ් එක පෙරනිමියෙන් පවරන ලදී සාමාන්යය ප්රමුඛත්වය, සහ නිෂ්පාදනයේ තවත් "පැරණි" Ingester එහි සම්පත් අහිමි විය. එහි ප්රතිඵලය විය හිම කුණාටු ක්රියාවලිය, එය Cortex නිෂ්පාදන පොකුරු සඳහා Ingester වෙතින් සියලුම කරල් විස්ථාපනය කිරීමට හේතු විය.
ඉන්ජෙස්ටර් ප්රකාශිත වන අතර පෙර පැය 12 සඳහා දත්ත ගබඩා කරයි. දිගුකාලීන ගබඩා කිරීමට ලිවීමට පෙර ඒවා වඩාත් කාර්යක්ෂමව සම්පීඩනය කිරීමට මෙය අපට ඉඩ සලසයි. මෙය සාක්ෂාත් කර ගැනීම සඳහා, Cortex Distributed Hash Table (DHT) භාවිතයෙන් ශ්රේණි හරහා දත්ත කැබලි කරන අතර Dynamo-පන්නයේ ගණපූර්ණ අනුකූලතාව භාවිතයෙන් එක් එක් ශ්රේණි තුන ඉන්ජෙස්ටර් හරහා ප්රතිවර්තනය කරයි. Cortex අක්රීය කර ඇති Ingesters වෙත දත්ත ලියන්නේ නැත. මේ අනුව, Ingesters විශාල සංඛ්යාවක් DHT හැර ගිය විට, Cortex හට ඇතුළත් කිරීම් වල ප්රමාණවත් අනුකරණයක් ලබා දිය නොහැකි අතර, ඒවා කඩා වැටේ.
හඳුනා ගැනීම සහ පිළියම් කිරීම
"දෝෂ අයවැය" මත පදනම් වූ නව Prometheus දැනුම්දීම් (දෝෂ-අයවැය මත පදනම් වූ — විස්තර ඉදිරි ලිපියක දිස්වනු ඇත) වසා දැමීම ආරම්භ වී මිනිත්තු 4 කට පසුව අනතුරු ඇඟවීම ආරම්භ විය. මීළඟ මිනිත්තු පහක පමණ කාලය තුළ, අපි රෝග විනිශ්චය කිහිපයක් ක්රියාත්මක කර නව සහ පවතින නිෂ්පාදන පොකුරු දෙකටම සත්කාරකත්වය සැපයීම සඳහා යටින් පවතින Kubernetes පොකුර පරිමාණය කළෙමු.
තවත් මිනිත්තු පහකට පසු, පැරණි ඉන්ජෙස්ටර් ඔවුන්ගේ දත්ත සාර්ථකව ලියා ඇත, නව ඒවා ආරම්භ වූ අතර, Cortex පොකුරු නැවත ලබා ගත හැකි විය.
තවත් විනාඩි 10ක් Cortex ඉදිරිපිට පිහිටා ඇති සත්යාපන ප්රතිලෝම ප්රොක්සි මගින් මතකයෙන් බැහැර (OOM) දෝෂ හඳුනාගෙන නිවැරදි කිරීමට වැය කරන ලදී. QPS හි දස ගුණයකින් වැඩි වීම නිසා OOM දෝෂ ඇති විය (සේවාදායකයාගේ Prometheus සේවාදායකයන්ගේ අධික ආක්රමණශීලී ඉල්ලීම් හේතුවෙන් අපි විශ්වාස කරමු).
ප්රතිවිපාක
සම්පූර්ණ අක්රීය කාලය මිනිත්තු 26 කි. දත්ත නැති වී නැත. Ingesters විසින් මතකයේ ඇති සියලුම දත්ත දිගු කාලීන ගබඩාවට සාර්ථකව පූරණය කර ඇත. වසා දැමීමේදී, සේවාදායක Prometheus සේවාදායකයන් මකා දමන ලදී (දුරස්ථ) භාවිතා කරන පටිගත කිරීම්
නිෂ්පාදන පොකුරු ලිවීමේ මෙහෙයුම්
සොයා ගැනීම්
මෙම සිදුවීමෙන් පාඩම් ඉගෙන ගෙන එය නැවත ඇති නොවීමට අවශ්ය පියවර ගැනීම වැදගත්ය.
ආපසු හැරී බැලීමේදී, අපි පෙරනිමිය සකසා නොතිබිය යුතුය සාමාන්යය නිෂ්පාදනයේ සියලුම ආග්රහකයන්ට ලැබෙන තුරු ප්රමුඛත්වය ඉහළ ප්රමුඛතාවයක්. ඊට අමතරව, ඔවුන් කල්තියා රැකබලා ගැනීම අවශ්ය විය ඉහළ ප්රමුඛත්වය. දැන් සියල්ල නිවැරදියි. Kubernetes හි පොඩ් ප්රමුඛතා භාවිතා කිරීම සලකා බැලීමේදී අපගේ අත්දැකීම් අනෙකුත් ආයතනවලට උපකාර වනු ඇතැයි අපි බලාපොරොත්තු වෙමු.
පොකුරට ගෝලීය වින්යාසයන් ඇති ඕනෑම අමතර වස්තු යෙදවීම මත අපි අතිරේක පාලන මට්ටමක් එක් කරන්නෙමු. මෙතැන් සිට, එවැනි වෙනස්කම් තක්සේරු කරනු ලැබේ bоගොඩක් මිනිස්සු. මීට අමතරව, බිඳවැටීමට හේතු වූ වෙනස් කිරීම වෙනම ව්යාපෘති ලේඛනයක් සඳහා ඉතා කුඩා යැයි සැලකේ - එය සාකච්ඡා කළේ GitHub ගැටලුවක පමණි. මෙතැන් සිට, වින්යාසය සඳහා එවැනි සියලු වෙනස්කම් සුදුසු ව්යාපෘති ලියකියවිලි සමඟ ඇත.
අවසාන වශයෙන්, අප දුටු OOM අධි බර පැටවීම වැළැක්වීම සඳහා සත්යාපන ප්රතිලෝම ප්රොක්සියේ ප්රමාණය වෙනස් කිරීම අපි ස්වයංක්රීය කරන්නෙමු, අනාගතයේදී සමාන ගැටළු වළක්වා ගැනීම සඳහා පසුබැසීමට සහ පරිමාණයට අදාළ Prometheus පෙරනිමි සැකසුම් සමාලෝචනය කරන්නෙමු.
අසාර්ථකත්වය ද යම් ධනාත්මක ප්රතිවිපාක ඇති විය: අවශ්ය සම්පත් ලැබුණු පසු, අමතර මැදිහත් වීමකින් තොරව Cortex ස්වයංක්රීයව ප්රකෘතිමත් විය. අපිත් එක්ක වැඩ කරලා වටිනා අත්දැකීමක් ලැබුවා
පරිවර්තකගෙන් PS
අපගේ බ්ලොග් අඩවියේ ද කියවන්න:
- «
Kubernetes හි ස්වයං පරිමාණය සහ සම්පත් කළමනාකරණය (සමාලෝචන සහ වීඩියෝ වාර්තාව) »; - «
Kubernetes adventure Dailymotion: වලාකුළු + පරිශ්රයේ යටිතල පහසුකම් නිර්මාණය කිරීම »; - «
Tinder Kubernetes වෙත සංක්රමණය »; - «
නිෂ්පාදනයේ Kubernetes සාර්ථක කථා. 10 කොටස: Reddit ".
මූලාශ්රය: www.habr.com