መግባት Kubernetes: EFK vs. PLG

መግባት Kubernetes: EFK vs. PLG

የተከፋፈሉ ስርዓቶች ውስብስብነት እየጨመረ በመጣው የደመና መፍትሄዎችን መከታተል በጣም አስፈላጊ አካል ሆኗል. ባህሪያቸውን መረዳት ያስፈልጋል። ከሁሉም አገልግሎቶች መረጃን የሚሰበስቡ - እና ልዩ ባለሙያዎችን ከአፈጻጸም ትንተና ፣ የስህተት ማሳያ ፣ ተገኝነት እና ምዝግብ ማስታወሻዎች ጋር አንድ በይነገጽ የሚያቀርቡ ሊዛኑ የሚችሉ መሣሪያዎች ያስፈልጉናል።

እነዚህ ተመሳሳይ መሳሪያዎች ውጤታማ እና ውጤታማ መሆን አለባቸው. በዚህ ጽሑፍ ውስጥ ሁለት ታዋቂ የቴክኖሎጂ ቁልሎችን እንመለከታለን: EFK (Elasticsearch) እና PLG (Loki) እና የእነሱን አርክቴክቸር እና ልዩነቶቻቸውን እንመረምራለን.

EFK ቁልል

ስለ በጣም ታዋቂው ELK ወይም EFK ሰምተህ ይሆናል። ቁልል ብዙ የተለያዩ ክፍሎችን ያቀፈ ነው፡ ላስቲክ ፍለጋ (የነገር ማከማቻ)፣ Logstash ወይም FluentD (የሎግ መሰብሰብ እና ማሰባሰብ) እና ኪባና ለዕይታ።

የተለመደው የሥራ ሂደት ይህንን ይመስላል

መግባት Kubernetes: EFK vs. PLG

Elasticsearch - የነገር ማከማቻ በእውነተኛ ጊዜ ፍለጋ እና ትንታኔ። እንደ ምዝግብ ማስታወሻዎች ከፊል-የተዋቀረ ውሂብ በጣም ጥሩ መፍትሄ። መረጃው እንደ JSON ሰነዶች ተከማችቷል፣ በእውነተኛ ጊዜ መረጃ ጠቋሚ ተሰጥቷል እና በክላስተር ኖዶች ውስጥ ይሰራጫል። ለሙሉ ጽሑፍ ፍለጋ ሁሉንም ልዩ ቃላት እና ተዛማጅ ሰነዶችን የያዘ የተገለበጠ ኢንዴክስ ጥቅም ላይ ይውላል፣ እሱም በተራው በ Apache Lucene የፍለጋ ሞተር ላይ የተመሰረተ ነው።

ፍሉንት ዲ መረጃ ሰብሳቢ ሲሆን መረጃው ሲሰበሰብ እና ሲበላው አንድ የሚያደርግ ነው። በተቻለ መጠን በJSON ውስጥ ውሂቡን ለማደራጀት ይሞክራል። የእሱ አርክቴክቸር extensible ነው, ተጨማሪ አሉ በመቶዎች የሚቆጠሩ የተለያዩ ቅጥያዎች, በህብረተሰቡ የተደገፈ, ለሁሉም አጋጣሚዎች.

ኪያና እንደ የጊዜ ተከታታይ ትንተና፣ ግራፎች፣ የማሽን መማር እና ሌሎችም ያሉ የተለያዩ ተጨማሪ ባህሪያት ያለው ለelasticsearch የመረጃ እይታ መሳሪያ ነው።

Elasticsearch አርክቴክቸር

የelasticsearch ክላስተር ውሂብ በሁሉም መስቀለኛ መንገዱ ላይ ተዘርግቶ ይከማቻል። ክላስተር ተገኝነትን እና የመቋቋም አቅምን ለማሻሻል በርካታ አንጓዎችን ያካትታል። ማንኛውም መስቀለኛ መንገድ ሁሉንም የክላስተር ሚናዎችን ሊያከናውን ይችላል፣ ነገር ግን በትልቅ፣ ሊሰሉ በሚችሉ ስርጭቶች፣ አንጓዎች አብዛኛውን ጊዜ የተለዩ ተግባራትን ይመደባሉ።

የክላስተር አንጓ ዓይነቶች፡-

  • ዋና ኖድ - ክላስተርን ያስተዳድራል, ቢያንስ ሶስት ያስፈልግዎታል, አንዱ ሁልጊዜ ንቁ ነው;
  • የውሂብ መስቀለኛ መንገድ - መረጃ ጠቋሚ መረጃን ያከማቻል እና ከእነሱ ጋር የተለያዩ ተግባራትን ያከናውናል;
  • iningest 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 ታዋቂ የምስል ማሳያ መሳሪያ አስቀድመው ሰምተው ይሆናል። ፈጣሪዎቹ፣ በፕሮሜቴየስ አነሳሽነት፣ ሎኪ፣ በአግድም ሊሰፋ የሚችል፣ ከፍተኛ አፈጻጸም ያለው የምዝግብ ማስታወሻ ማሰባሰብ ስርዓትን ገነቡ። ሎኪ ሜታዳታውን ብቻ ነው የሚገልጸው፣ መጽሔቶቹን ሳይሆን፣ ይህ ቴክኒካዊ መፍትሔ ለመጠቀም ቀላል እና ወጪ ቆጣቢ አድርጎታል።

ማስተዋወቅ - ከኦፕሬቲንግ ሲስተም ወደ ሎኪ ክላስተር የምዝግብ ማስታወሻዎችን ለመላክ ወኪል። ግራፋና በሎኪ መረጃ ላይ የተመሰረተ ምስላዊ መሳሪያ ነው.

መግባት Kubernetes: EFK vs. PLG

ሎኪ የተገነባው ልክ እንደ ፕሮሜቴየስ ተመሳሳይ መርሆዎች ነው, ስለዚህ የኩበርኔትስ ምዝግብ ማስታወሻዎችን ለማከማቸት እና ለመተንተን በጣም ተስማሚ ነው.

Loki ሥነ ሕንፃ

ሎኪ እንደ አንድ ሂደት ወይም እንደ ብዙ ሂደቶች ሊሰራ ይችላል, ይህም አግድም ሚዛን እንዲኖር ያስችላል.

መግባት Kubernetes: EFK vs. PLG

እንደ ሞኖሊቲክ መተግበሪያ እና እንደ ማይክሮ አገልግሎት ሁለቱንም ሊሠራ ይችላል. እንደ ነጠላ ሂደት መሮጥ ለአካባቢ ልማት ወይም ለጥሩ-ጥራት ክትትል ጠቃሚ ሊሆን ይችላል. ለኢንዱስትሪ አተገባበር እና ሊሰፋ የሚችል የሥራ ጫና, የማይክሮ አገልግሎት አማራጭን ለመጠቀም ይመከራል. የዳታ አጻጻፍ እና የማንበቢያ መንገዶች ተለያይተዋል፣ ስለዚህም በጥሩ ሁኔታ ተስተካክሎ እና እንደ አስፈላጊነቱ እንዲመዘን።

የሎግ አሰባሰብ ስርዓቱን ያለ ዝርዝር ሁኔታ እንመልከተው፡-

መግባት Kubernetes: EFK vs. PLG

እና መግለጫው ይኸውና (የማይክሮ አገልግሎት አርክቴክቸር)፡-

መግባት Kubernetes: EFK vs. PLG

ክፍሎች:

ማስተዋወቅ - በኖዶች ላይ የተጫነ ወኪል (እንደ የአገልግሎቶች ስብስብ) ፣ ምዝግብ ማስታወሻዎችን ከተግባሮች ያስወግዳል እና ምዝግብ ማስታወሻዎችን ለማመልከት የሚያገለግል ሜታዳታ ለማግኘት ወደ Kubernetes API ይደርሳል። ከዚያም ምዝግብ ማስታወሻውን ወደ ዋናው የሎኪ አገልግሎት ይልካል. ለሜታዳታ ማዛመድ፣ ልክ እንደ ፕሮሜቲየስ ተመሳሳይ የመለያ ህጎች ይደገፋሉ።

አከፋፋይ - አገልግሎት-አከፋፋይ, እንደ ቋት ይሠራል. በሚሊዮን የሚቆጠሩ መዝገቦችን ለማስኬድ ገቢ መረጃዎችን ይይዛል፣ እንደደረሰም በብሎኮች ይጨመቃል። በርካታ የውሂብ ማስመጫ ገንዳዎች በተመሳሳይ ጊዜ እየሰሩ ናቸው፣ ነገር ግን ለተመሳሳይ ገቢ የውሂብ ዥረት የሆኑ ምዝግብ ማስታወሻዎች በአንደኛው ላይ ብቻ መቀመጥ አለባቸው። ይህ እንደ ሪሲቨሮች ቀለበት እና ተከታታይ ሃሽ የተደራጀ ነው። ለስህተቱ መቻቻል እና ድግግሞሽ በ 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

ከዚህ በታች የፕሮሜቴየስ ለ ወዘተ እና የሎኪ መለኪያዎችን ለ ወዘተ ፖድ ሎግዎች የሚያሳይ ዳሽቦርድ ምሳሌ አለ።

መግባት Kubernetes: EFK vs. PLG

እና አሁን የሁለቱም ስርዓቶች አርክቴክቸር እንወያይ, እንዲሁም አቅማቸውን ከሌላው ጋር እናወዳድር.

ንጽጽር

የጥያቄ ቋንቋ

Elasticsearch ሙሉ የጽሑፍ ፍለጋ ችሎታን ለማቅረብ የጥያቄ DSL እና Lucene መጠይቅ ቋንቋን ይጠቀማል። ሰፊ ኦፕሬተር ድጋፍ ያለው የተቋቋመ ኃይለኛ የፍለጋ ሞተር ነው። በእሱ አማካኝነት በአውድ መፈለግ እና በአግባብነት መደርደር ይችላሉ።

ከቀለበቱ በሌላኛው የፕሮምQL (የፕሮሜቲየስ መጠይቅ ቋንቋ) ተተኪ የሆነው የሎኪ ሎግኪኤል ነው። የምዝግብ ማስታወሻዎችን ለማጣራት እና ለመምረጥ የምዝግብ ማስታወሻዎችን ይጠቀማል. እንደተገለጸው አንዳንድ ኦፕሬተሮችን እና አርቲሜቲክስን መጠቀም ይቻላል እዚህ, ነገር ግን በችሎታዎች, ከ Elastic ቋንቋ ኋላ ቀርቷል.

በሎኪ ውስጥ ያሉ ጥያቄዎች ከመለያዎች ጋር የተቆራኙ ስለሆኑ ከመለኪያዎች ጋር ማዛመድ ቀላል ናቸው, በዚህም ምክንያት, ከእነሱ ጋር የአሠራር ክትትልን ማደራጀት ቀላል ነው.

የመጠን አቅም

ሁለቱም ቁልል በአግድም ሊሰፉ የሚችሉ ናቸው፣ ነገር ግን በሎኪ ቀላል ነው ምክንያቱም የተለየ የማንበብ እና የመፃፍ መንገዶች ስላለው እና የማይክሮ አገልግሎት አርክቴክቸር አለው። ሎኪ ለፍላጎትዎ ሊበጅ ይችላል እና በጣም ትልቅ ለሆኑ የምዝግብ ማስታወሻዎች ውሂብ ጥቅም ላይ ሊውል ይችላል።

ብዝሃነት

ክላስተር የብዝሃ ተከራይ ለ OPEX ቅነሳ የተለመደ ጭብጥ ነው፣ ሁለቱም ቁልል ብዙ ተከራይ ይሰጣሉ። ለ Elasticsearch ብዙ አሉ። መንገዶች የደንበኛ መለያየት፡ ለደንበኛ የተለየ መረጃ ጠቋሚ፣ ደንበኛን መሰረት ያደረገ ማዘዋወር፣ የደንበኛ ልዩ መስኮች፣ የፍለጋ ማጣሪያዎች። ሎኪ አለው። ድጋፍ እንደ HTTP X-Scope-OrgID ራስጌ።

ወጪ

ሎኪ በጣም ወጪ ቆጣቢ ነው ምክንያቱም መረጃን አመልካች አይደለም ፣ ሜታዳታ ብቻ። ስለዚህም የማከማቻ ቁጠባዎች እና ማህደረ ትውስታ (መሸጎጫ)፣ የነገሮች ማከማቻ ከብሎክ ማከማቻ ርካሽ ስለሆነ፣ በ Elasticsearch ስብስቦች ውስጥ ጥቅም ላይ ይውላል።

መደምደሚያ

የ EFK ቁልል ለተለያዩ ዓላማዎች ጥቅም ላይ ሊውል ይችላል፣ ይህም ከፍተኛውን የመተጣጠፍ ችሎታ እና የበለፀገ የኪባና በይነገጽን ለትንታኔ፣ ለእይታ እና ለጥያቄዎች ያቀርባል። በማሽን የመማር ችሎታዎች የበለጠ ሊሻሻል ይችላል.

በሜታዳታ ማግኛ ዘዴ ምክንያት የሎኪ ቁልል በኩበርኔትስ ስነ-ምህዳር ውስጥ ጠቃሚ ነው። በ Grafana እና ሎግ ውስጥ ተከታታይ ጊዜን መሰረት በማድረግ ለክትትል መረጃን በቀላሉ ማዛመድ ይችላሉ።

ወደ ወጪ እና የረጅም ጊዜ ሎግ ማቆየት ሲመጣ ሎኪ ወደ ደመና ለመግባት በጣም ጥሩ ምርጫ ነው።

በገበያ ላይ ተጨማሪ አማራጮች አሉ - አንዳንዶቹ ለእርስዎ የተሻሉ ሊሆኑ ይችላሉ. ለምሳሌ፣ GKE ታላቅ የክትትል መፍትሄ የሚሰጥ የStackdriver ውህደት አለው። በዚህ ጽሑፍ ውስጥ በእኛ ትንታኔ ውስጥ አላካተትናቸውም.

ማጣቀሻዎች

ጽሑፉ በሠራተኞች ተተርጉሞ ለሐብር ተዘጋጅቷል የስሉም ማሰልጠኛ ማዕከል - የተጠናከረ ፣ የቪዲዮ ኮርሶች እና የኮርፖሬት ስልጠና ከተለማመዱ (Kubernetes ፣ DevOps ፣ Docker ፣ Ansible ፣ Ceph ፣ SRE ፣ Agile)

ምንጭ: hab.com

አስተያየት ያክሉ