ආයුබෝවන් සියල්ලටම. එම පිටපත පහතින් .
- විවිධ පද්ධති සහ සේවා සඳහා අධීක්ෂණ පද්ධතියක්, පද්ධති පරිපාලකයින්ට පද්ධතිවල වත්මන් පරාමිතීන් පිළිබඳ තොරතුරු රැස් කර පද්ධති ක්රියාකාරිත්වයේ අපගමනය පිළිබඳ දැනුම්දීම් ලබා ගැනීමට ඇඟවීම් සැකසීමට හැකි වන පරිදි.
වාර්තාවේ සැසඳීමක් ඇතුළත් වේ и - Prometheus metrics දිගුකාලීන ගබඩා කිරීම සඳහා ව්යාපෘති.



මුලින්ම මම Prometheus ගැන කියන්නම්. මෙය නිශ්චිත ඉලක්ක වලින් ප්රමිතික එකතු කර ඒවා දේශීය ගබඩාවට සුරකින අධීක්ෂණ පද්ධතියකි. Prometheus හට දුරස්ථ ගබඩාව වෙත ප්රමිතික පටිගත කළ හැකි අතර ඇඟවීම් සහ පටිගත කිරීමේ නීති ජනනය කළ හැක.

Prometheus සීමාවන්:
- එයට ගෝලීය විමසුම් දසුනක් නොමැත. ඔබට ප්රොමිතියස්ගේ ස්වාධීන අවස්ථා කිහිපයක් ඇති විට මෙය වේ. ඔවුන් මිනුම් එකතු කරයි. ඔබට විවිධ ප්රොමිතියස් අවස්ථා වලින් එකතු කරන ලද මෙම සියලු මිතික මත විමසීමට අවශ්ය වේ. Prometheus මේකට ඉඩ දෙන්නේ නැහැ.
- Prometheus සමඟ, කාර්ය සාධනය එක් සේවාදායකයකට පමණක් සීමා වේ. Prometheus බහු සේවාදායකයන් හරහා ස්වයංක්රීයව පරිමාණය නොකරයි. ඔබට ඔබේ ඉලක්ක බහු Prometheus අතර පමණක් අතින් බෙදිය හැක.
- Prometheus හි ප්රමිතික විෂය පථය එක් සේවාදායකයකට පමණක් සීමා වී ඇත, එම හේතුව නිසාම එය බහු සේවාදායක හරහා ස්වයංක්රීයව පරිමාණය කළ නොහැක.
- Prometheus හි දත්ත ආරක්ෂාව සංවිධානය කිරීම එතරම් පහසු නැත.

මෙම ගැටළු/අභියෝග වලට විසඳුම්?
විසඳුම් වන්නේ:
මෙම විසඳුම් සියල්ලම Prometheus විසින් එකතු කරන ලද දත්ත දුරස්ථ ගබඩා කිරීම සඳහා වේ. ඔවුන් කලින් විනිවිදකයේ දුරස්ථ ගබඩා ගැටළුව විවිධ ආකාරවලින් විසඳයි. මෙම ඉදිරිපත් කිරීමේදී මම කතා කරන්නේ පළමු විසඳුම් දෙක ගැන පමණි: и .
ගැන පළමු වරට තොරතුරු විසින් පෙනී සිටියේය . එහි ගෘහ නිර්මාණ ශිල්පය විස්තර කෙරේ සහ එය ක්රියා කරන ආකාරය.

Thanos Prometheus විසින් සුරකින ලද දත්ත දේශීය තැටියට ගෙන එය S3 වෙත පිටපත් කරයි. හෝ වෙනත් වස්තු ගබඩාවකට.

මෙලෙස Thanos ගෝලීය විමසුම් දසුනක් සපයයි. ඔබට Prometheus අවස්ථා කිහිපයකින් වස්තු ගබඩාවේ ගබඩා කර ඇති දත්ත විමසිය හැක.

Thanos PromQL සහය දක්වයි .

Thanos දත්ත ගබඩා කිරීම සඳහා Prometheus කේතය භාවිතා කරයි.

Thanos සංවර්ධනය කරනු ලබන්නේ Prometheus ගේම සංවර්ධකයින් විසිනි.
මත . මෙන්න , අපි මුලින්ම කතා කළ තැන .

VictoriaMetrics හට prometheus කිහිප දෙනෙකුගෙන් දත්ත ලැබේ Prometheus විසින් සහාය දක්වන ලද ප්රොටෝකෝලය.

VictoriaMetrics ගෝලීය විමසුම් දසුනක් සපයයි, මන්ද බහු Prometheus අවස්ථා එක් VictoriaMetrics වෙත දත්ත ලිවිය හැක. ඒ අනුව, ඔබට මෙම සියලු දත්ත මත විමසීම් කළ හැකිය.

VictoriaMetrics ද Thanos, PromQL සහ Prometheus විමසුම් API වැනි සහය දක්වයි.

Thanos මෙන් නොව, VictoriaMetrics මූල කේතය මුල සිට ලියා ඇති අතර වේගය සහ සම්පත් පරිභෝජනය සඳහා ප්රශස්ත කර ඇත.

VictoriaMetrics, Thanos මෙන් නොව, සිරස් අතට සහ තිරස් අතට පරිමාණය කරයි. කන්න , සිරස් අතට පරිමාණය කරන. ඔබට එක් ප්රොසෙසරයකින් සහ 1 GB මතකයකින් ආරම්භ කළ හැකි අතර ක්රමයෙන් ප්රොසෙසර සිය ගණනක් සහ 1 TB මතකය දක්වා වර්ධනය විය හැක. VictoriaMetrics හට මෙම සියලු සම්පත් භාවිතා කළ හැකිය. එහි කාර්ය සාධනය 100-core පද්ධතියට සාපේක්ෂව 1 ගුණයකින් පමණ වැඩි වනු ඇත.

Thanos හි ඉතිහාසය ආරම්භ වූයේ 2017 නොවැම්බර් මාසයේදී පළමු මහජන කැපවීම දර්ශනය වූ විටය. මෙයට පෙර Thanos අභ්යන්තරව දියුණු විය .

2019 ජුනි මාසයේදී 0.5.0 සුවිශේෂී නිකුතුවක් සිදු විය ප්රොටෝකෝලය. එයාව Thanos එකෙන් අයින් කලේ එයා හොදට කරන්න බැරි නිසා. බොහෝ විට Thanos පොකුර නිවැරදිව ක්රියා කළේ නැත, gossip protocol නිසා එයට වැරදි ලෙස සම්බන්ධ වූ නෝඩ්. ඒ නිසා අපි තීරණය කළා ඔහුව එතැනින් ඉවත් කරන්න. මම හිතන්නේ මේක හරි තීරණයක්.

එම 2019 ජුනි මාසයේදී ඔවුන් අයදුම්පත් අංකය යවා ඇත в .

මාස කිහිපයකට පසු Thanos පිළිගත්තා , Prometheus, Kubernetes සහ අනෙකුත් ජනප්රිය ව්යාපෘති ඇතුළත් වේ.

2018 ජනවාරි මාසයේදී වික්ටෝරියා මෙට්රික්ස් සංවර්ධනය ආරම්භ විය.

2018 සැප්තැම්බර් මාසයේදී, මම පළමු වරට VictoriaMetrics ගැන ප්රසිද්ධියේ සඳහන් කළෙමි.

2018 දෙසැම්බර් මාසයේදී, තනි-නෝඩ් අනුවාදයක් ප්රකාශයට පත් කරන ලදී.

මැයි මාසයේදී 2019 තනි-නෝඩ් සහ පොකුරු අනුවාද දෙකෙහිම මූලාශ්ර.

2019 ජුනි මාසයේදී, Thanos මෙන්ම, අපි CNCF පදනමට අංකය යටතේ අයදුම්පතක් ඉදිරිපත් කළෙමු . Thanos අයදුම් කිරීමට දිනකට පෙර අපි අයදුම් කළෙමු.

එහෙත්, අවාසනාවකට මෙන්, අප තවමත් එහි පිළිගෙන නොමැත. ප්රජා උපකාර අවශ්යයි.

Thanos සහ VictoriaMetrics හි ගෘහ නිර්මාණ ශිල්පය පෙන්වන වැදගත්ම විනිවිදක දෙස බලමු.

අපි Thanos ගෙන් පටන් ගනිමු. කහ සංරචක Prometheus සංරචක වේ. අනෙක් සියල්ල Thanos සංරචක වේ. වඩාත්ම වැදගත් සංරචකයෙන් පටන් ගනිමු. Thanos Sidecar යනු සෑම Prometheus එකක් අසලම ස්ථාපනය කර ඇති සංරචකයකි. එය ප්රොමිතියස් දත්ත දේශීය ගබඩාවෙන් S3 හෝ වෙනත් වස්තු ගබඩාවකට පූරණය කරයි.
Thanos Store Gateway නම් සංරචකයක් ද ඇත, එය Thanos Query වෙතින් ලැබෙන ඉල්ලීම් මත Object Storage වෙතින් මෙම දත්ත කියවිය හැක. Thanos Query PromQL සහ Prometheus API ක්රියාත්මක කරයි. එනම්, පිටතින් එය ප්රොමිතියස් මෙන් පෙනේ. PromQL විමසුම් ලබා ගනී, ඒවා Thanos Store Gateway වෙත යවයි, Thanos Store Gateway Object Storage වෙතින් අවශ්ය දත්ත ලබා ගනී, එය ආපසු යවයි.
නමුත් Prometheus තවමත් දේශීය ගබඩාවේ මෙම පැය දෙක සඳහා ගොනු නිර්මාණය කර නොමැති බැවින්, Thanos Sidecar ක්රියාත්මක කිරීමේ විශේෂාංගයක් හේතුවෙන් අපි පසුගිය පැය දෙකකින් තොරව Object Storage තුළ දත්ත ගබඩා කරමු.
ඔබ මෙය මඟහරවා ගැනීමට තීරණය කළේ කෙසේද? Thanos Query, Thanos Store Gateway වෙත ඉල්ලීම් වලට අමතරව, Prometheus අසල පිහිටා ඇති Thanos Sidecar වෙත සමාන්තර ඉල්ලීම් යවයි.
සහ Thanos Sidecar, අනෙක් අතට, ප්රොක්සි විසින් Prometheus වෙත තවදුරටත් ඉල්ලීම් කරයි, සහ පසුගිය පැය දෙක සඳහා දත්ත ලබා ගනී.
මෙම සංරචක වලට අමතරව, විකල්ප සංරචකයක් ද ඇත, එය නොමැතිව Thanos හොඳින් ක්රියා නොකරනු ඇත. මෙය Thanos Compact, Object Storage හි ඇති කුඩා ගොනු Thanos Sidecars විසින් මෙහි උඩුගත කරන ලද විශාල ගොනු වලට ඒකාබද්ධ කිරීමේ වගකීම දරයි. Thanos Sidecar පැය දෙකකින් එහි දත්ත ගොනු උඩුගත කරයි. මෙම ලිපිගොනු, ඒවා විශාල ගොනු වලට ඒකාබද්ධ නොකළහොත්, ඔවුන්ගේ සංඛ්යාව ඉතා සැලකිය යුතු ලෙස වර්ධනය විය හැක. එවැනි ගොනු වැඩි වන තරමට, Thanos Store Gateway සඳහා වැඩි මතකයක් අවශ්ය වේ, ජාලය සහ පාර-දත්ත හරහා දත්ත මාරු කිරීමට වැඩි සම්පත් අවශ්ය වේ. Thanos Store Gateway අකාර්යක්ෂම වේ. එමනිසා, කුඩා ගොනු විශාල ඒවා බවට ඒකාබද්ධ කරන Thanos Compact ධාවනය කිරීම අවශ්ය වේ, එවිට එවැනි ලිපිගොනු අඩු වන අතර Thanos Store Gateway හි පොදු කාර්ය අඩු කිරීම අවශ්ය වේ.
Thanos Ruler වැනි එවැනි සංරචකයක් ද තිබේ. එය Prometheus අනතුරු ඇඟවීමේ රීති ක්රියාත්මක කරන අතර Object Storage වෙත දත්ත නැවත ලිවීම සඳහා Prometheus පටිගත කිරීමේ රීති ඇගයීමට ලක් කළ හැක. නමුත් මෙම සංරචකය භාවිතා කිරීම නිර්දේශ නොකරයි, මන්ද ... ඔහු .
මෙය Thanos හි සරල යෝජනා ක්රමයයි.

දැන් අපි එය VictoriaMetrics යෝජනා ක්රමය සමඟ සංසන්දනය කරමු.
VictoriaMetrics හි අනුවාද 2 ක් ඇත: තනි-නෝඩ් සහ පොකුරු අනුවාදය. Single-node එක පරිගණකයක ධාවනය වේ. තනි-නෝඩයේ මෙම සංරචක නොමැත, එක් ද්විමය. ස්ලයිඩයේ ඇති මෙම ද්වීමය මෙම චතුරස්රය මෙන් පෙනේ. චතුරස්රය තුළ ඇති සෑම දෙයක්ම තනි-නෝඩ් අනුවාදය සඳහා ද්විමය ගොනුවේ අන්තර්ගතය වේ. ඔබ ඔහු ගැන දැන ගැනීමට අවශ්ය නැත. ඔබ ද්විමය ධාවනය පමණක් වන අතර සෑම දෙයක්ම අපට වැඩ කරයි.
පොකුරු අනුවාදය වඩාත් සංකීර්ණ වේ. එහි ඇතුළත විවිධ සංරචක තුනක් ඇත: vmselect, vminsert සහ vmstorage. ඔවුන්ගෙන් එක් එක් අය කරන්නේ කුමක්ද යන්න ඔවුන්ගේ නමෙන් පැහැදිලි විය යුතුය. Insert සංරචකය විවිධ ආකෘතිවලින් දත්ත පිළිගනී: Prometheus remote write API, Influx line protocol, Graphite protocol සහ OpenTSDB ප්රොටෝකෝලය වෙතින්. ඇතුළත් කිරීමේ සංරචකය ඒවා පිළිගනී, ඒවා විග්රහ කර දත්ත දැනටමත් ගබඩා කර ඇති පවතින ගබඩා සංරචක අතර බෙදා හරිනු ලැබේ. Select සංරචකය, අනෙක් අතට, PromQL විමසුම් පිළිගනී. ඔහු ක්රියාත්මක කරයි , මෙන්ම Prometheus querying API, සහ එය Grafana හෝ වෙනත් Prometheus API සේවාලාභීන් තුළ Prometheus වෙනුවට ආදේශකයක් ලෙස භාවිතා කළ හැක. තෝරන්න promql ඉල්ලීමක් පිළිගනී, එය විග්රහ කරයි, ගබඩා නෝඩ් වලින් මෙම ඉල්ලීම ක්රියාත්මක කිරීමට අවශ්ය දත්ත කියවා, මෙම දත්ත ක්රියාවට නංවා ප්රතිචාරයක් ලබා දෙයි.

Thanos සහ VictoriaMetrics ස්ථාපනය කිරීමේ සංකීර්ණත්වය සංසන්දනය කරමු.

අපි Thanos ගෙන් පටන් ගනිමු. ඔබ Thanos සමඟ වැඩ කිරීමට පටන් ගැනීමට පෙර, ඔබ S3 හෝ GCS වැනි Object Storage තුළ බාල්දියක් සෑදිය යුතුය, එවිට Thanos Sidecar වෙත දත්ත ලිවීමට හැකිය.

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

එබැවින් කුඩා කුට්ටි විශාල සංඛ්යාවක උඩිස් බර අඩු කිරීම සඳහා දේශීය ගබඩාවේ දත්ත රඳවා ගැනීමේ කාලය පැය 6-8 දක්වා අඩු කිරීමට Thanos නිර්දේශ කරයි.
ඔබ Thanos Sidecar ස්ථාපනය කළ පසු, ඔබ එක් එක් Object Storage Bucket සඳහා සංරචක දෙකක් ස්ථාපනය කළ යුතුය. එනම් Thanos Compactor සහ Thanos Store Gateway වේ.

ඊට පසු, ඔබ Thanos Query ස්ථාපනය කර එය වින්යාසගත කළ යුතු අතර එමඟින් ඔබට ඇති සියලුම Thanos වෙළඳසැල් ද්වාර වෙත සම්බන්ධ විය හැකි අතර සියලු Thanos Sidecars වෙත සම්බන්ධ විය හැකිය.
මෙතන පොඩි ප්රශ්නයක් තියෙන්න පුළුවන්.

ඔබ මෙම සංරචක වෙත Thanos Query වෙතින් විශ්වාසදායක සහ ආරක්ෂිත සම්බන්ධතාවයක් වින්යාසගත කළ යුතුය. ඔබේ Prometheus විවිධ දත්ත මධ්යස්ථානවල හෝ විවිධ VPC වල පිහිටා තිබේ නම්, පිටතින් ඒවාට සම්බන්ධතා පැවැත්වීම තහනම් වේ. නමුත් Thanos Query ක්රියා කිරීමට නම්, ඔබ කෙසේ හෝ එහි සම්බන්ධතාවය වින්යාසගත කළ යුතු අතර, ඔබට ක්රමයක් සොයාගත යුතුය.
ඔබට එවැනි දත්ත මධ්යස්ථාන බොහොමයක් තිබේ නම්, ඒ අනුව, සමස්ත පද්ධතියේ විශ්වසනීයත්වය අඩු වේ. Thanos Query විවිධ දත්ත මධ්යස්ථානවල පිහිටා ඇති සියලුම Thanos Sidecars වෙත නිරන්තරයෙන් සම්බන්ධතා පවත්වා ගත යුතු බැවින්. පැමිණෙන සෑම ඉල්ලීමක් සඳහාම, එය සියලු Thanos Sidecars වෙත ඉල්ලීම් යොමු කරනු ඇත. සම්බන්ධතාවයට බාධා ඇති වුවහොත්, ඔබට අසම්පූර්ණ දත්ත කට්ටලයක් ලැබෙනු ඇත, නැතහොත් ඔබට "පොකුරු පහළට" ප්රතිචාරයක් ලැබෙනු ඇත.

VictoriaMetrics හි සෑම දෙයක්ම ටිකක් සරලයි. Single-node අනුවාදය සඳහා, ඔබට එක් ද්විමය එකක් ධාවනය කිරීමට අවශ්ය වන අතර සියල්ල ක්රියාත්මක වේ.

පොකුරු අනුවාදයේ, ඔබට අවශ්ය ඕනෑම ප්රමාණයකින් ඉහත සංරචක වර්ග තුනම ධාවනය කිරීම හෝ භාවිතා කිරීම ප්රමාණවත් වේ. Kubernetes හි සංරචක දියත් කිරීම ස්වයංක්රීය කිරීමට. අපි Kubernetes operator එකක් හදන්නත් සැලසුම් කරනවා. Helm ප්රස්ථාරය සමහර අවස්ථා ආවරණය නොකරන අතර ඔබට පාදයට වෙඩි තබා ගැනීමට ඉඩ සලසයි. උදාහරණයක් ලෙස, එය ඔබට ගබඩා නෝඩ් ගණන අඩු කිරීමට ඉඩ සලසයි, එය දත්ත අහිමි වීමට තුඩු දෙනු ඇත.

ඔබ එක් ද්විමය හෝ පොකුරු අනුවාදයක් දියත් කළ පසු, ඔබට අවශ්ය වන්නේ ප්රොමිතියස් වින්යාසයට එක් කිරීමයි. එමගින් එය දේශීය ගබඩාව සහ දුරස්ථ ගබඩාවට සමාන්තරව දත්ත ලිවීම ආරම්භ කරයි. ඔබට පෙනෙන පරිදි, මෙම වින්යාසය Thanos වින්යාසයට සාපේක්ෂව වඩා විශ්වාසදායක ලෙස ක්රියා කළ යුතුය. Prometheus විසින්ම VictoriaMetrics වෙත සම්බන්ධ වී දත්ත සම්ප්රේෂණය කරන නිසා අපට VictoriaMetrics වෙතින් සියලුම Prometheus වෙත සම්බන්ධයක් පවත්වා ගැනීමට අවශ්ය නොවේ.

Thanos සහ VictoriaMetrics හි සහයෝගය සලකා බලමු.

Thanos විසින් Sidecar නිරීක්ෂණය කිරීමට අවශ්ය වන්නේ ඔවුන් Object Storage වෙත දත්ත පැටවීම නවත්වන්නේ නැති බව සහතික කර ගැනීමටය. බාගැනීම් දෝෂ හේතුවෙන් ඔවුන් මෙම දත්ත බාගත කිරීම නැවැත්විය හැකිය, උදාහරණයක් ලෙස වස්තු ගබඩාව වෙත ඔබගේ ජාල සම්බන්ධතාවය තාවකාලිකව බාධා ඇත, නැතහොත් වස්තු ගබඩාව තාවකාලිකව නොමැත. Thanos Sidecar මේ මොහොතේ මෙය දකිනු ඇත, දෝෂයක් වාර්තා කරයි, බිඳවැටීමට සහ පසුව වැඩ කිරීම නවත්වනු ඇත. ඔබ එය නිරීක්ෂණය නොකරන්නේ නම්, ඔබ Object Storage වෙත දත්ත මාරු කිරීම නවත්වනු ඇත. රඳවා තබා ගැනීමේ කාලය (පැය 6-8 නිර්දේශිත) පසු වන්නේ නම්, එවිට ඔබට වස්තු ගබඩාව තුළ අවසන් නොවූ දත්ත අහිමි වනු ඇත.

Thanos compactors හේතුවෙන් ක්රියා කිරීම නතර විය හැක . Compactors විසින් Object Storage වෙතින් දත්ත ලබාගෙන එය විශාල දත්ත කැබලිවලට ඒකාබද්ධ කරයි. කම්පැක්ටර් Sidecars සමඟ සමමුහුර්ත කර නොමැති බැවින්, පහත සඳහන් දේ සිදු විය හැක: Sidecar හට බ්ලොක් එක සම්පූර්ණ කිරීමට තවම කාලය ලැබී නැත, මෙම වාරණ සම්පූර්ණයෙන්ම ලියා ඇති බව Compactor තීරණය කරයි. Compactor එය කියවීමට පටන් ගනී. එය බ්ලොක් එක සම්පූර්ණයෙන් කියවන්නේ නැති අතර වැඩ කිරීම නතර කරයි. විස්තර බලන්න .

Store Gateway Compactor සහ Sidecars අතර ධාවන තරඟ හේතුවෙන් නොගැලපෙන දත්ත ලබා දිය හැක. Store Gateway එක Compactors සහ Sidecars සමඟ කිසිම ආකාරයකින් සමමුහුර්ත කර නැති නිසා මෙතනත් ඒ දේම වෙනවා. ඒ අනුව, ගබඩා ද්වාරය දත්තවල කොටසක් නොදකින විට හෝ අනවශ්ය දත්ත දකින විට තරඟ තත්වයන් ඇති විය හැක.

සමහර Sidecars හෝ Store Gateways මේ මොහොතේ නොමැති නම් Thanos හි Query සංරචකය පෙරනිමියෙන් අර්ධ ප්රතිඵලයක් ලබා දෙයි. ඔබට දත්තවලින් කොටසක් ලැබෙනු ඇති අතර, ඔබට සියලු දත්ත නොලැබුණු බව පවා ඔබ නොදනී. මෙය පෙරනිමියෙන් ක්රියා කරන ආකාරයයි. සමාන තත්වයක් තුළ, VictoriaMetrics සලකුණු කළ දත්ත අර්ධ වශයෙන් ලබා දෙයි.

Thanos මෙන් නොව, VictoriaMetrics දත්ත අහිමි වන්නේ කලාතුරකිනි. Prometheus සිට VictoriaMetrics දක්වා ඇති සම්බන්ධතාවයට බාධා ඇති වුවද, මෙය ගැටළුවක් නොවේ, මන්ද Prometheus විසින් ලැබෙන නව දත්ත Write Ahead Log හි සටහන් කිරීම දිගටම කරගෙන යන බැවින් එහි ප්රමාණය පැය 2 කි. ඔබ පැය දෙකක් ඇතුළත VictoriaMetrics වෙත ඔබේ සම්බන්ධතාවය ප්රතිසාධනය කරන්නේ නම්, ඔබේ දත්ත නැති නොවේ. Prometheus .

Thanos මෙන් නොව, පැය දෙකකට පසුව පමණක් වස්තු ගබඩාවට දත්ත ලියන, Prometheus ස්වයංක්රීයව VictoriaMetrics වැනි දුරස්ථ ගබඩා වෙත දුරස්ථ ලිවීමේ ප්රොටෝකෝලය භාවිතයෙන් දත්ත ප්රතිවර්තනය කරයි. Prometheus හි දේශීය ගබඩාව අහිමි වීමට ඔබ බිය නැත. ඔහුට හදිසියේම දේශීය ගබඩාව අහිමි වුවහොත්, නරකම අවස්ථාවකදී දුරස්ථ ගබඩාවේ සටහන් කිරීමට කාලය නොමැති දත්තවල අවසාන තත්පර ඔබට අහිමි වනු ඇත.

Thanos මෙන් නොව Kubernetes ස්වයංක්රීයව පොකුර කළමනාකරණය කරයි. VictoriaMetrics පොකුරු සංරචක මෙන් නොව සියලුම Thanos සංරචක එක Kubernetes පොකුරකට ස්ථානගත කිරීම අපහසුය.

VictoriaMetrics නව අනුවාදයට ඉතා සරල යාවත්කාලීන කිරීමක් ඇත. VictoriaMetrics නවත්වන්න, ද්විමය යාවත්කාලීන කර එය දියත් කරන්න. SIGINT සංඥාවක් හරහා නතර කළ විට, සියලුම VictoriaMetrics ද්විමය විචිත්රවත් වසා දැමීමක් සිදු කරයි. ඔවුන් අවශ්ය දත්ත නිවැරදිව සුරකිනු ඇත, කිසිවක් අහිමි නොවන පරිදි පැමිණෙන සම්බන්ධතා නිවැරදිව වසා දමන්න. එබැවින් යාවත්කාලීන කිරීමේදී ඔබට කිසිවක් අහිමි නොවනු ඇත.

VictoriaMetrics පොකුරක් පුළුල් කිරීම ඉතා පහසු කරයි. අවශ්ය සංරචක එකතු කර දිගටම වැඩ කරන්න.

Thanos සහ VictoriaMetrics හි අන්තරායන් ගැන.

Thanos හට පහත අන්තරා ඇත. Prometheus පසුගිය පැය දෙක සඳහා දත්ත ගබඩා කළ යුතුය. ඒවා නැති වුණොත්, S3 වැනි Object Storage වෙත තවමත් ලියා නැති නිසා ඔබට ඒවා සම්පූර්ණයෙන්ම අහිමි වේ.

Store Gateway සංරචකය සහ compactor සංරචකය විශාල Object Storage එකක් සමඟ ක්රියා කිරීමට විශාල මතකයක් අවශ්ය වේ, එහි කුඩා ගොනු රාශියක් ගබඩා කර තිබේ නම්. ගොනු සංඛ්යාව සහ ප්රමාණය වැඩි වන තරමට, Metainformation ගබඩා කිරීම සඳහා Store Gateway සහ Compactor RAM අවශ්ය වේ. ඒක ගැන Thanos ට ප්රශ්න ගොඩයි .

Thanos ඔබ සතුව ඇති Prometheus ප්රමාණය සමඟ දින නියමයක් නොමැතිව පරිමාණය කිරීමට ප්රචාරණය කෙරේ. මෙය ඇත්ත වශයෙන්ම සත්ය නොවේ. සියලුම ඉල්ලීම් සියලුම Store Gateway සංරචක සහ සියලුම Sidecar සංරචක සමගාමීව ඡන්ද විමසීමක් කළ යුතු Query සංරචකය හරහා යන බැවින්, දත්ත එතැනින් ඇදගෙන එය පෙර සකසන්න. පැහැදිලිවම, ඉල්ලීම් වේගය මන්දගාමීම දුර්වල සබැඳිය, මන්දගාමී ගබඩා දොරටුව හෝ මන්දගාමී සයිඩ්කාර් මගින් සීමා වේ.
මෙම සංරචක අසමාන ලෙස පැටවිය හැක. උදාහරණයක් ලෙස, ඔබට තත්පරයකට මෙට්රික් මිලියන ගණනක් එකතු කරන Prometheus ඇත. ඒ වගේම Prometheus ඉන්නවා, ඒක තත්පරයකට මෙට්රික්ස් දහස් ගණනක් එකතු කරනවා. තත්පරයකට මෙට්රික් මිලියන ගණනක් එකතු කරන ප්රොමිතියස්, එය ක්රියාත්මක වන සේවාදායකයට වඩා වැඩි බරක් තබයි. ඒ අනුව Sidecar එහි ක්රියා කරන්නේ මන්දගාමීවය. සහ පොදුවේ සෑම දෙයක්ම එහි සෙමින් ක්රියා කරයි. තවද Query සංරචකය ඉතා සෙමින් එහි දත්ත ඇද දමයි. ඒ අනුව, මෙම මන්දගාමී Sidecar මඟින් ඔබේ සම්පූර්ණ පොකුරේ ක්රියාකාරිත්වය සීමා කරනු ඇත.

පෙරනිමියෙන්, සමහර Sidecars සහ Store Gateway නොමැති නම් Thanos අර්ධ දත්ත ලබා දෙයි. උදාහරණයක් ලෙස, ඔබේ Sidecars විවිධ දත්ත මධ්යස්ථානවල ලොව පුරා විසිරී තිබේ නම්, සම්බන්ධතා අසාර්ථක වීමේ සම්භාවිතාව සහ සංරචක නොමැතිකම විශාල ලෙස වැඩි වේ. ඒ අනුව, බොහෝ අවස්ථාවලදී ඔබට නොදැනුවත්වම අර්ධ දත්ත ලැබෙනු ඇත.

VictoriaMetrics වලත් අන්තරායන් ඇත. පළමු අන්තරාය වන්නේ VictoriaMetrics හැඹිලිය සඳහා භාවිතා කරන RAM ප්රමාණය සීමා කරන විකල්පයයි. පෙරනිමියෙන්, එය VictoriaMetrics ධාවනය වන යන්ත්රයේ RAM වලින් 60% ට හෝ Kubernetes හි VictoriaMetrics පොඩ් එකේ RAM වලින් 60% ට සමාන වේ.
ඔබ මෙම අගය වැරදි ලෙස වෙනස් කළහොත්, ඔබට VictoriaMetrics හි කාර්ය සාධනය විනාශ කළ හැකිය. උදාහරණයක් ලෙස, ඔබ ඉතා අඩු අගයක් සකසා ඇත්නම්, දත්ත තවදුරටත් VictoriaMetrics හැඹිලියට නොගැලපේ. මේ නිසා, ඇයට අමතර වැඩ කිරීමට සිදුවනු ඇති අතර ප්රොසෙසරය සහ තැටිය පැටවීමට සිදුවනු ඇත. ඔබ මෙම විකල්පය ඉතා විශාල කළහොත්, පළමුව, VictoriaMetrics මතක දෝෂයක් සමඟ බිඳවැටීමේ සම්භාවිතාව වැඩි වන අතර, දෙවනුව, එය මෙහෙයුම් පද්ධති මතකයේ ඉතා කුඩා RAM ප්රමාණයක් ඉතිරිව ඇති බවට හේතු වේ. ගොනු හැඹිලිය. VictoriaMetrics කාර්ය සාධනය සඳහා ගොනු හැඹිලියක් මත රඳා පවතී. එය ප්රමාණවත් නොවේ නම්, තැටියේ බර බොහෝ සෙයින් වැඩි විය හැක. එබැවින්, උපදෙස්: අතිශයින්ම අවශ්ය නම් මිස පරාමිතිය වෙනස් නොකරන්න.

දෙවන විකල්පය. මෙය retentionPeriod - පෙරනිමියෙන් මාස 1ක් ලෙස සකසා ඇති කාල සීමාවකි. මෙය VictoriaMetrics දත්ත ගබඩා කරන කාලයයි. මෙම කාල සීමාවෙන් පසු, VictoriaMetrics දත්ත මකා දමයි.
බොහෝ අය මෙම පරාමිතිය නොමැතිව VictoriaMetrics ධාවනය කර මාසයක් සඳහා දත්ත වාර්තා කරයි. ඉන්පසු ඔවුන් අසයි: පෙර මාසයේ දත්ත අතුරුදහන් වූයේ ඇයි? පෙරනිමි රඳවා ගැනීමේ කාලය මාස 1ක් වන බැවිනි. එමනිසා, ඔබ නිවැරදි රඳවා ගැනීමේ කාල සීමාව දැනගෙන සකස් කළ යුතුය.

අපි සුවිශේෂී ලක්ෂණ දෙස බලමු.

Thanos සතුව downsampling නමින් විශේෂාංගයක් ඇත: මිනිත්තු 5 සහ පැය කාල පරතරය, බොහෝ විට . ඔබ ගූගල් කර github හි ඔවුන්ගේ ගැටලුව දෙස බැලුවහොත්, මෙම පහත වැටීම සම්බන්ධ ගැටළු රාශියක් ඇත, එය සමහර විට නිවැරදිව ක්රියා නොකරයි, නැතහොත් පරිශීලකයින් අපේක්ෂා කරන පරිදි ක්රියා නොකරයි.

Thanos සතුව Prometheus HA යුගල සඳහා දත්ත අඩුකිරීමක් ඇත. Prometheus දෙදෙනෙක් එකම ඉලක්ක වලින් එකම මිනුම් එකතු කර Thanos ඒවා Object Storage හි ගබඩා කරන විට. Thanos හට VictoriaMetrics මෙන් නොව මෙම දත්ත නිසි ලෙස අනුපිටපත් කළ හැක.

Thanos සතුව Thanos ක්රමලේඛනයේ තිබූ අනතුරු ඇඟවීමේ අංගයක් ඇත. නමුත් ඔහු .

Thanos සහ Prometheus එකම කේතය බෙදාගැනීමේ වාසිය Thanos සතුව ඇත. Thanos සහ Prometheus සංවර්ධනය කර ඇත්තේ එකම සංවර්ධකයින් විසිනි. Thanos හෝ Prometheus ගේ වැඩිදියුණු කිරීම් සමඟ, අනෙක් පැත්ත ජය ගනී.

VictoriaMetrics හි ප්රධාන ලක්ෂණය වන්නේ MetricsQL ය. මේවා PromQL සඳහා වන VictoriaMetrics දිගු වේ, මම කලින් විශාල අධීක්ෂණ රැස්වීමේදී කතා කළෙමි.

VictoriaMetrics විවිධ ප්රොටෝකෝල භාවිතා කරමින් දත්ත පැටවීමට සහය දක්වයි. VictoriaMetrics හට Prometheus වෙතින් දත්ත පමණක් නොව, Influx, OpenTSDB සහ Graphite ප්රොටෝකෝල හරහා ද පිළිගත හැක.

VictoriaMetrics දත්ත Thanos සහ Prometheus ට සාපේක්ෂව ඉතා අඩු ඉඩක් ගනී.
ඔබ සැබෑ දත්ත වාර්තා කරන්නේ නම්, පරිශීලකයන් Prometheus සහ Thanos හා සසඳන විට තැටියේ දත්ත ප්රමාණයෙන් 2-5 ගුණයක අඩුවීමක් ගැන කතා කරයි.

VictoriaMetrics හි තවත් වාසියක් වන්නේ එය වේගය සඳහා ප්රශස්ත කිරීමයි.

යටිතල පහසුකම් සඳහා වන පිරිවැය දෙස බලමු.

Thanos හි ඇති එක් වාසියක් නම් එය වස්තුව ගබඩා කිරීමේ දත්ත ගබඩා කිරීමයි, එය සාපේක්ෂව ලාභදායී වේ.
වස්තු ගබඩාවේ දත්ත ගබඩා කිරීමේදී, ඔබ දත්ත ලිවීමේ සහ කියවීමේ මෙහෙයුම් සඳහා ගෙවිය යුතුය (මෙහෙයුම් මිලියනයකට ඩොලර් 10). ඔබ වස්තු ආචයනයට දත්ත ලියන විට, ඔබ අන්තර්ජාලයට දත්ත උඩුගත කිරීම සඳහා ඔබේ සත්කාරක පිරිවැය ගෙවයි; ඔබේ පොකුර AWS හි නොමැති නම්, එය එහි නොමිලේ. ඔබ දත්ත කියවන විට, ඔබ 10TB එකකට $230 සහ $1 අතර ගෙවයි. ඔබ Thanos පොකුරෙන් ඓතිහාසික දත්ත නිතර විමසන්නේ නම් මෙය වැදගත් විය හැක.

Thanos පොකුරක් සඳහා, ඔබ Compact, Store Gateway, විශාල මතකයක් අවශ්ය Query සංරචක සහ විශාල දත්ත ප්රමාණයක් සඳහා CPU සඳහා සේවාදායකයන් සඳහා ගෙවිය යුතුය.

VictoriaMetrics හි පහත වියදම් ඇත. ඔබ GCE HDD ධාවකවල දත්ත ගබඩා කරන්නේ නම්, එය 40TB සඳහා ඩොලර් 1 දක්වා පැමිණේ. VictoriaMetrics සඳහා, සාමාන්ය HDD ධාවකයන් ප්රමාණවත් වේ; පස් ගුණයකින් වැඩි මිලක් ඇති SSD අවශ්ය නොවේ. VictoriaMetrics HDD සඳහා ප්රශස්ත කර ඇත.

VictoriaMetrics හට සංරචක සඳහා සේවාදායකයන් අවශ්ය වේ: Thanos සංරචක මෙන් නොව, ඉතා අඩු CPU සහ RAM අවශ්ය වන Single-nod හෝ Clustered සංරචක - සහ ඒ අනුව ලාභදායී වනු ඇත.

ක්රියාත්මක කිරීමේ උදාහරණ.

Thanos හට Gitlab හි ක්රියාත්මක කිරීමේ උදාහරණයක් ඇත. Gitlab සම්පූර්ණයෙන්ම Thanos මත ධාවනය වේ. නමුත් එහි සෑම දෙයක්ම එතරම් සුමට නොවේ. ඔබ ඔවුන් දෙස බැලුවහොත් , එවිට ඔවුන් නිරන්තරයෙන් සමහරක් ඇති බව ඔබට පෙනෙනු ඇත : Store Gateway හෝ Query සංරචක සඳහා ප්රමාණවත් මතකයක් නොමැත. ඔවුන් නිරන්තරයෙන් මතකයේ ප්රමාණය වැඩි කිරීමට සිදු වේ.
මේ නිසා, මෙම ගැටළු විසඳීමේ පිරිවැය වැඩි වේ.
වඩාත් සාර්ථක විය හැකි දෙවන ක්රියාත්මක කිරීම Thanos සංවර්ධනය කිරීම ආරම්භ කළ Improbable සමාගමයි. ඔවුන් Thanos මූල කේතය ප්රකාශයට පත් කළා. Improbable යනු ගේම් එන්ජින් නිපදවන සමාගමකි.

VictoriaMetrics සතුව පොදු ක්රියාත්මක කිරීමේ උදාහරණ ඇත:
- wix.com වෙබ් අඩවිය සාදන්නා
- Adidas විසින් VictoriaMetrics ක්රියාත්මක කරන අතර පසුගිය PromCon 2019 හි ඉදිරිපත් කිරීමක් පවා සිදු කරන ලදී.
- TrafficStars - දැන්වීම් ජාලය
- Seznam.cz යනු ජනප්රිය චෙක් සෙවුම් යන්ත්රයකි.
ඊට පස්සේ මට දැන් නම් කරන්න බැරි නමක් නැති සමාගම් තිබුණේ නැහැ. ඔවුන් එකඟ වුණේ නැහැ.
- එක් ප්රධාන ක්රීඩා සංවර්ධකයෙක්. Improbable වලට වඩා විශාලයි.
- ප්රධාන ග්රැෆික් මෘදුකාංග සංවර්ධකයෙක්.
- විශාල රුසියානු බැංකුව.
- VictoriaMetrics සාර්ථකව අත්හදා බැලූ යුරෝපීය සුළං ටර්බයින නිෂ්පාදකයා. මෙම නිෂ්පාදකයා විසින් එක් සංවේදකයකට තත්පරයකට සාම්පල 50 ක වේගයකින් සුළං ටර්බයිනවලින් එකතු කරන ලද දත්ත නිරීක්ෂණය කිරීමට VictoriaMetrics ක්රියාත්මක කරයි. සෑම සුළං ටර්බයිනයකම සංවේදක සිය ගණනක් ඇත. ඒවායේ සුළං ටර්බයින සිය ගණනක් ඇත.
- VictoriaMetrics ක්රියාත්මක කිරීමට අවශ්ය රුසියානු ගුවන් සමාගම්, නමුත් තවමත් කළ නොහැක. අපි ඔවුන් සමඟ ගිවිසුම්ගතව සිටිමු.
නිගමනය.
VictoriaMetrics සහ Thanos සමාන ගැටළු විසඳයි, නමුත් විවිධ ආකාරවලින්:
- ගෝලීය විමසුම් දසුන
- තිරස් පරිමාණය
- අත්තනෝමතික ලෙස රඳවා තබා ගැනීම

ස්තුතියි.
අපි අපේ ගෙදර ඔබ එනතුරු බලා සිටිමු .

සමීක්ෂණයට සහභාගී විය හැක්කේ ලියාපදිංචි පරිශීලකයින්ට පමණි. කරුණාකර.
Prometheus සඳහා දිගුකාලීන ගබඩාවක් ලෙස ඔබ භාවිතා කරන්නේ කුමක්ද?
35,3%Thanos6
0,0%Cortex0
0,0%M3DB0
41,2%වික්ටෝරියා මෙට්රික්ස්7
23,5%වෙනත්4
පරිශීලකයින් 17 දෙනෙක් ඡන්දය දුන්හ. පරිශීලකයින් 16 දෙනෙක් ඡන්දය දීමෙන් වැළකී සිටියහ.
මූලාශ්රය: www.habr.com
