Kubernetes ඇතුල් වීම: EFK vs PLG

Kubernetes ඇතුල් වීම: EFK vs PLG

බෙදා හරින ලද පද්ධතිවල සංකීර්ණත්වය වැඩි වන විට වැඩෙන වලාකුළු විසඳුම් සඳහා අධීක්ෂණය ඉතා වැදගත් අංගයක් බවට පත්ව ඇත. ඔවුන්ගේ හැසිරීම තේරුම් ගැනීම අවශ්ය වේ. අපට සියලුම සේවාවන්ගෙන් දත්ත රැස් කළ හැකි පරිමාණ කළ හැකි මෙවලම් අවශ්‍යයි - සහ කාර්ය සාධන විශ්ලේෂණය, දෝෂ නිරූපණය, ලබා ගත හැකි සහ ලඝු-සටහන් සහිත තනි අතුරු මුහුණතක් සහිත විශේෂඥයින්ට සපයයි.

මෙම මෙවලම් කාර්යක්ෂම හා ඵලදායී විය යුතුය. මෙම ලිපියෙන්, අපි ජනප්‍රිය තාක්‍ෂණ තොග දෙකක් දෙස බලමු: EFK (Elasticsearch) සහ PLG (Loki) සහ ඒවායේ ගෘහ නිර්මාණ ශිල්පය සහ වෙනස්කම් පරීක්ෂා කරන්න.

EFK තොගය

ඉතා ජනප්‍රිය ELK හෝ EFK ගැන ඔබ දැනටමත් අසා ඇති. තොගය එකිනෙකට වෙනස් කොටස් කිහිපයකින් සමන්විත වේ: Elasticsearch (වස්තු ගබඩා කිරීම), Logstash හෝ FluentD (ලොග් එකතු කිරීම සහ එකතු කිරීම), සහ දෘශ්‍යකරණය සඳහා Kibana.

සාමාන්‍ය කාර්ය ප්‍රවාහයක් මේ ආකාරයෙන් පෙනේ:

Kubernetes ඇතුල් වීම: EFK vs PLG

Elasticsearch - සෙවුම් සහ තත්‍ය කාලීන විශ්ලේෂණ සමඟ බෙදා හරින ලද වස්තු ගබඩාව. ලඝු-සටහන් වැනි අර්ධ ව්‍යුහගත දත්ත සඳහා විශිෂ්ට විසඳුමක්. තොරතුරු JSON ලේඛන ලෙස සුරකිනු ලැබේ, තථ්‍ය කාලය තුළ සුචිගත කර පොකුරු නෝඩ් හරහා බෙදා හරිනු ලැබේ. Apache Lucene සෙවුම් යන්ත්‍රය මත පදනම් වූ සම්පූර්ණ පෙළ සෙවීම සඳහා සියලුම අද්විතීය වචන සහ ආශ්‍රිත ලේඛන අඩංගු ප්‍රතිලෝම දර්ශකයක් භාවිතා වේ.

චතුර ඩී දත්ත එක්රැස් කිරීමේදී සහ පරිභෝජනය කිරීමේදී දත්ත ඒකාබද්ධ කරන දත්ත එකතු කරන්නෙකු වේ. එය හැකිතාක් JSON හි දත්ත සංවිධානය කිරීමට උත්සාහ කරයි. එහි ගෘහ නිර්මාණ ශිල්පය විස්තීරණය කළ හැකි ය, තවත් ඒවා තිබේ විවිධ දිගු සිය ගණනක්, ප්‍රජා සහාය, සියලු අවස්ථා සඳහා.

කිබානා - විවිධ අමතර හැකියාවන් සහිත Elasticsearch සඳහා දත්ත දෘශ්‍යකරණ මෙවලමක්, උදාහරණයක් ලෙස, කාල ශ්‍රේණි විශ්ලේෂණය, ප්‍රස්ථාර විශ්ලේෂණය, යන්ත්‍ර ඉගෙනීම සහ තවත් දේ.

ඉලාස්ටික් සෙවුම් ගෘහ නිර්මාණ ශිල්පය

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

පොකුරු නෝඩ් වර්ග:

  • ප්‍රධාන නෝඩය - පොකුර කළමනාකරණය කරයි, අවම වශයෙන් තුනක් අවශ්‍ය වේ, එකක් සැමවිටම ක්‍රියාකාරී වේ;
  • දත්ත නෝඩය - සුචිගත දත්ත ගබඩා කර එය සමඟ විවිධ කාර්යයන් ඉටු කරයි;
  • ingest node - සුචිගත කිරීමට පෙර දත්ත පරිවර්තනය කිරීම සඳහා නල මාර්ග සංවිධානය කරයි;
  • සම්බන්ධීකරණ නෝඩය - මාර්ගගත ඉල්ලීම්, සෙවුම් සැකසුම් අදියර අඩු කිරීම, ස්කන්ධ සුචිගත කිරීම සම්බන්ධීකරණය කිරීම;
  • අනතුරු ඇඟවීමේ නෝඩය - අනතුරු ඇඟවීමේ කාර්යයන් දියත් කිරීම;
  • යන්ත්‍ර ඉගෙනුම් නෝඩය - යන්ත්‍ර ඉගෙනීමේ කාර්යයන් සැකසීම.

ඉහළ දත්ත ලබා ගැනීම සඳහා නෝඩ් හරහා දත්ත ගබඩා කර ප්‍රතිනිර්මාණය කරන ආකාරය පහත රූප සටහන පෙන්වයි.

Kubernetes ඇතුල් වීම: EFK vs PLG

සෑම අනුරුවකම දත්ත ප්‍රතිලෝම දර්ශකයක ගබඩා කර ඇත, පහත රූප සටහන මෙය සිදු වන ආකාරය පෙන්වයි:

Kubernetes ඇතුල් වීම: EFK vs PLG

ස්ථාපනය

විස්තර නැරඹිය හැක මෙහි, මම හෙල්ම් ප්‍රස්ථාරය භාවිතා කරමි:

$ helm install efk-stack stable/elastic-stack --set logstash.enabled=false --set fluentd.enabled=true --set fluentd-elastics

PLG තොගය

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

Promtail - මෙහෙයුම් පද්ධතියෙන් Loki පොකුරට ලඝු-සටහන් යැවීම සඳහා නියෝජිතයෙක්. ග්‍රැෆනා Loki වෙතින් දත්ත මත පදනම් වූ දෘශ්‍යකරණ මෙවලමකි.

Kubernetes ඇතුල් වීම: EFK vs PLG

Loki ගොඩනඟා ඇත්තේ Prometheus හා සමාන මූලධර්ම මත වන අතර, එය Kubernetes ලඝු-සටහන් ගබඩා කිරීම සහ විශ්ලේෂණය කිරීම සඳහා හොඳින් ගැලපේ.

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

Loki තිරස් පරිමාණයට ඉඩ දෙමින් තනි ක්‍රියාවලියක් ලෙස හෝ බහු ක්‍රියාවලි ලෙස ක්‍රියාත්මක කළ හැක.

Kubernetes ඇතුල් වීම: EFK vs PLG

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

සවිස්තරාත්මකව ලොග් එකතු කිරීමේ පද්ධතියේ ගෘහ නිර්මාණ ශිල්පය දෙස බලමු:

Kubernetes ඇතුල් වීම: EFK vs PLG

මෙන්න විස්තරය (ක්ෂුද්‍ර සේවා ගෘහ නිර්මාණ ශිල්පය):

Kubernetes ඇතුල් වීම: EFK vs PLG

සංරචක:

Promtail - නෝඩ් මත ස්ථාපනය කර ඇති නියෝජිතයෙකු (සේවා කට්ටලයක් ලෙස), එය කාර්යයන් වලින් ලඝු-සටහන් ඉවත් කරන අතර ලඝු-සටහන් ටැග් කරන පාර-දත්ත ලබා ගැනීමට Kubernetes API වෙත ප්‍රවේශ වේ. ඉන්පසුව එය ප්‍රධාන Loki සේවාව වෙත ලොගය යවයි. පාරදත්ත සිතියම්ගත කිරීම ප්‍රොමිතියස් මෙන් එකම ටැග් කිරීමේ නීතිවලට සහය දක්වයි.

බෙදාහැරීමේ - බෆරයක් ලෙස ක්‍රියා කරන සේවා බෙදාහරින්නා. මිලියන ගණනක් වාර්තා සැකසීම සඳහා, එය පැමිණෙන දත්ත ඇසුරුම් කරයි, එය පැමිණෙන විට එය බ්ලොක් වලින් සම්පීඩනය කරයි. දත්ත සින්ක් කිහිපයක් එකවර ක්‍රියාත්මක වේ, නමුත් එක් එන දත්ත ප්‍රවාහයකට අයත් ලොග එහි සියලුම බ්ලොක් සඳහා ඒවායින් එකක පමණක් දිස්විය යුතුය. මෙය සින්ක් වල වළල්ලක් සහ අනුක්‍රමික හැෂිං ලෙස සංවිධානය කර ඇත. වැරදි ඉවසීම සහ අතිරික්තය සඳහා, මෙය n වාරයක් සිදු කරනු ලැබේ (3 වින්‍යාස කර නොමැති නම්).

ඉන්ජෙස්ටර් - සේවා ග්රාහකයා. දත්ත වාරණ එකතු කරන ලද ලොග් සමඟ සම්පීඩිත වේ. බ්ලොක් එක ප්‍රමාණවත් ප්‍රමාණයෙන් පසු, බ්ලොක් එක දත්ත ගබඩාවට ෆ්ලෂ් කරනු ලැබේ. පාරදත්ත දර්ශකය වෙත යන අතර, ලොග් බ්ලොක් එකෙන් දත්ත Chunks වෙත යයි (සාමාන්‍යයෙන් වස්තුව ගබඩා කිරීම). යළි පිහිටුවීමෙන් පසු, ග්‍රාහකයා නව බ්ලොක් එකක් නිර්මාණය කරයි, එහිදී නව ඇතුළත් කිරීම් එකතු කරනු ලැබේ.

Kubernetes ඇතුල් වීම: EFK vs PLG

දර්ශකය - දත්ත සමුදාය, DynamoDB, Cassandra, Google BigTable, ආදිය.

කුට්ටි - සම්පීඩිත ආකාරයෙන් ලොග් කුට්ටි, සාමාන්යයෙන් වස්තු ගබඩාවේ ගබඩා කර ඇත, උදාහරණයක් ලෙස, S3.

විමසුම්කරු - සියලු අපිරිසිදු වැඩ කරන කියවීමේ මාර්ගය. එය කාල පරාසය සහ වේලා මුද්දරය දෙස බලයි, පසුව ගැලපීම් සොයා ගැනීමට දර්ශකය දෙස බලයි. ඊළඟට, එය දත්ත කොටස් කියවා ප්රතිඵලය ලබා ගැනීම සඳහා ඒවා පෙරහන් කරයි.

දැන් අපි සියල්ල ක්‍රියාවෙන් බලමු.

ස්ථාපනය

Kubernetes හි ස්ථාපනය කිරීමට පහසුම ක්රමය වන්නේ හෙල්ම් භාවිතා කිරීමයි. ඔබ දැනටමත් එය ස්ථාපනය කර වින්‍යාස කර ඇති බව අපි උපකල්පනය කරමු (සහ තුන්වන අනුවාදය! ආසන්න වශයෙන් පරිවර්තකයා)

ගබඩාවක් එකතු කර තොගයක් ස්ථාපනය කරන්න.

$ helm repo add loki https://grafana.github.io/loki/charts
$ helm repo update
$ helm upgrade --install loki loki/loki-stack --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false

පහත දැක්වෙන්නේ Etcd ප්‍රමිතික සඳහා Prometheus සහ Etcd පොඩ් ලොග් සඳහා Loki වෙතින් දත්ත පෙන්වන උදාහරණ උපකරණ පුවරුවකි.

Kubernetes ඇතුල් වීම: EFK vs PLG

දැන් අපි පද්ධති දෙකෙහිම ගෘහ නිර්මාණ ශිල්පය ගැන සාකච්ඡා කරමු, තවද ඒවායේ හැකියාවන් එකිනෙකා සමඟ සංසන්දනය කරමු.

සංසන්දනය

විමසුම් භාෂාව

ඉලාස්ටික් සෙවුම් සම්පූර්ණ පෙළ සෙවුම් හැකියාවන් සැපයීම සඳහා Query DSL සහ Lucene විමසුම් භාෂාව භාවිතා කරයි. එය පුළුල් ක්‍රියාකරුගේ සහාය ඇති ස්ථාපිත, බලවත් සෙවුම් යන්ත්‍රයකි. එය සමඟ, ඔබට සන්දර්භය අනුව සෙවිය හැකි අතර අදාළත්වය අනුව වර්ග කළ හැකිය.

වළල්ලේ අනෙක් පැත්තේ LogQL ඇත, එය Loki හි භාවිතා වේ, PromQL (Prometheus විමසුම් භාෂාව) අනුප්‍රාප්තිකයා. එය ලොග් දත්ත පෙරීමට සහ තේරීමට ලොග් ටැග් භාවිතා කරයි. විස්තර කර ඇති පරිදි සමහර ක්රියාකරුවන් සහ අංක ගණිතය භාවිතා කළ හැකිය මෙහි, නමුත් හැකියාවන් අනුව එය ඉලාස්ටික් භාෂාවට වඩා පසුගාමී වේ.

Loki හි විමසුම් ටැග් සමඟ සම්බන්ධ වී ඇති බැවින්, ඒවා ප්‍රමිතික සමඟ සහසම්බන්ධ කිරීම පහසු වන අතර එහි ප්‍රතිඵලයක් ලෙස, ඒවා සමඟ මෙහෙයුම් නිරීක්ෂණ සංවිධානය කිරීම පහසු වේ.

පරිමාණය

අට්ටි දෙකම තිරස් ලෙස පරිමාණය කළ හැකි නමුත්, වෙනම කියවීමට සහ ලිවීමට මාර්ග සහ ක්ෂුද්‍ර සේවා ගෘහ නිර්මාණ ශිල්පයක් ඇති බැවින් Loki එය පහසු කරයි. Loki ඔබේ අවශ්‍යතාවලට ගැලපෙන පරිදි අභිරුචිකරණය කළ හැකි අතර ලොග් දත්ත විශාල ප්‍රමාණයක් සඳහා භාවිතා කළ හැක.

බහුකාර්යය

පොකුරු බහුකාර්යය OPEX කෙටි යෙදුමේ පොදු තේමාවකි, අට්ටි දෙකම බහුකාර්යය සපයයි. Elasticsearch සඳහා කිහිපයක් තිබේ ක්‍රම සේවාලාභියා වෙන් කිරීම: එක් එක් සේවාදායකයා සඳහා වෙනම දර්ශකය, සේවාලාභියා මත පදනම් වූ මාර්ගගත කිරීම, අද්විතීය සේවාදායක ක්ෂේත්‍ර, සෙවුම් පෙරහන්. Loki සතුව ඇත සහාය HTTP X-Scope-OrgID ශීර්ෂයක ආකාරයෙන්.

පිරිවැය

Loki දත්ත සුචිගත නොකරන අතර පාරදත්ත පමණක් බැවින් එය බෙහෙවින් ලාභදායී වේ. මෙය සාක්ෂාත් කර ගනී ගබඩා මත ඉතිරිකිරීම් සහ මතකය (හැඹිලි), ඉලාස්ටික් සෙවුම් පොකුරු වල භාවිතා කරන බ්ලොක් ආචයනයට වඩා වස්තු ගබඩාව ලාභදායී බැවින්.

නිගමනය

EFK තොගය විවිධ අරමුණු සඳහා භාවිතා කළ හැකි අතර, උපරිම නම්‍යශීලී බවක් සහ විශ්ලේෂණ, දෘශ්‍යකරණය සහ විමසුම් සඳහා විශේෂාංගවලින් පොහොසත් Kibana අතුරු මුහුණතක් සපයයි. යන්ත්‍ර ඉගෙනීමේ හැකියාවන් මගින් එය තවදුරටත් වැඩිදියුණු කළ හැක.

එහි පාරදත්ත සොයාගැනීමේ යාන්ත්‍රණය නිසා Loki තොගය Kubernetes පරිසර පද්ධතිය තුළ ප්‍රයෝජනවත් වේ. ඔබට ග්‍රැෆානා සහ ලොග වල කාල ශ්‍රේණි මත පදනම්ව අධීක්ෂණය සඳහා දත්ත පහසුවෙන් සහසම්බන්ධ කළ හැක.

පිරිවැය සහ දිගුකාලීන ලොග් ගබඩාව සම්බන්ධයෙන් ගත් කල, Loki යනු වලාකුළු විසඳුම් සඳහා විශිෂ්ට පිවිසුම් ලක්ෂ්‍යයකි.

වෙළඳපොලේ තවත් විකල්ප තිබේ - සමහරක් ඔබට වඩා හොඳ විය හැකිය. උදාහරණයක් ලෙස, GKE සතුව Stackdriver ඒකාබද්ධතාවයක් ඇති අතර එය විශිෂ්ට අධීක්ෂණ විසඳුමක් සපයයි. මෙම ලිපියේ අපගේ විශ්ලේෂණයට අපි ඒවා ඇතුළත් කර නැත.

ආශ්රිත:

ලිපිය හබ්ර් සඳහා පරිවර්තනය කර සකස් කරන ලද්දේ සේවකයින් විසිනි මුඩුක්කු පුහුණු මධ්යස්ථානය - පුහුණු විශේෂඥයින්ගෙන් දැඩි පාඨමාලා, වීඩියෝ පාඨමාලා සහ ආයතනික පුහුණුව (Kubernetes, DevOps, Docker, Ansible, Ceph, SRE, Agile)

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

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