Gelitaanka Kubernetes: EFK vs PLG

Gelitaanka Kubernetes: EFK vs PLG

Korjoogteynta ayaa noqotay qayb aad muhiim u ah oo ka mid ah xalalka koraya ee daruuraha iyada oo kakanaanta nidaamyada la qaybiyey ay korodho. Waa lagama maarmaan in la fahmo dhaqankooda. Waxaan u baahanahay qalab la miisaami karo oo ka soo ururin kara xogta dhammaan adeegyada - oo siiya khabiiro leh hal interface oo leh falanqaynta waxqabadka, muujinta khaladka, helitaanka iyo diiwaannada.

Qalabkan la midka ah waa inuu noqdaa mid hufan oo waxtar leh. Maqaalkan, waxaan ku eegi doonaa laba xirmo tignoolajiyada caanka ah: EFK (Elasticsearch) iyo PLG (Loki) waxaanan baari doonaa qaab dhismeedka iyo kala duwanaanshahooda.

Tusmada ugu hooseysa ee EFK

Waxaa laga yaabaa inaad horey u maqashay ELK ama EFK ee caanka ah. Raasasku waxa uu ka kooban yahay dhawr qaybood oo kala duwan: Elasticsearch (kaydinta shay), Logstash ama FluentD (ururinta iyo isu geynta), iyo Kibana si loo arko.

Socodka shaqada caadiga ah wuxuu u eg yahay sidan:

Gelitaanka Kubernetes: EFK vs PLG

Elasticsearch - kaydinta shay la qaybiyey oo leh goobid iyo falanqeynta wakhtiga-dhabta ah. Xalka ugu fiican ee xogta habaysan ee habaysan sida logyada. Macluumaadka waxaa loo kaydiyaa sida dukumeenti JSON ah, oo la tusmeeyay wakhtiga dhabta ah waxaana loo qaybiyaa qanjidhada kooxda. Tilmaan-rogid ayaa la isticmaalaa, oo ka kooban dhammaan ereyada gaarka ah iyo dukumentiyada la xidhiidha raadinta qoraal-buuxa, taas oo iyana ku salaysan Apache Lucene search engine.

FluentD waa xog ururiye mideeya xogta marka la ururinayo oo la isticmaalayo. Waxay isku daydaa inay xogta JSON ku habayso intii suurtogal ah. Nashqaddeedu waa la dheerayn karaa, waxaa jira qaar badan boqollaal kordhin kala duwan, bulshadu taageerto, mar walba.

Kibana - qalab sawir-qaadista xogta ee Elasticsearch oo leh awoodo dheeraad ah oo kala duwan, tusaale ahaan, falanqaynta taxanaha wakhtiga, falanqaynta garaafyada, barashada mashiinka iyo in ka badan.

Elasticsearch architecture

Xogta kutlada Elasticsearch waxa lagu kaydiyaa ku faafsan dhamaan noodkeeda. Kooxdu waxay ka kooban tahay noodo badan si loo hagaajiyo helitaanka iyo adkeysiga. Node kasta wuxuu qaban karaa dhammaan doorarka kooxda, laakiin hawlgalinta baaxadda weyn, noodhadhka ayaa caadi ahaan loo qoondeeyaa hawlo gaar ah.

Noocyada qanjirada kooxda:

  • Master node - waxay maamushaa kooxda, ugu yaraan saddex ayaa loo baahan yahay, mid had iyo jeer firfircoon;
  • noodhka xogta - waxay kaydisaa xogta la calaamadeeyay waxayna ku qabataa hawlo kala duwan;
  • ingest node - waxay abaabushaa dhuumaha si ay u beddelaan xogta ka hor inta aan la tilmaamin;
  • isku duwidda noodhka - codsiyada dariiqa, yaraynta marxaladda habaynta raadinta, iskudubarid tusmaynta tirada badan;
  • noodhka digniinta - bilaabista hawlaha digniinta;
  • mashiinka wax lagu barto - farsamaynta hawlaha barashada mashiinka.

Jaantuska hoose waxa uu tusinayaa sida xogta loo kaydiyo oo loogu kala rogo noodhka si loo gaadho helitaanka xog sare.

Gelitaanka Kubernetes: EFK vs PLG

Xog kasta oo nuqul ah waxa lagu kaydiyaa tusmooyin leexsan, jaantuska hoose waxa uu tusinayaa sida tani u dhacdo:

Gelitaanka Kubernetes: EFK vs PLG

Ku rakibida

Faahfaahinta waa la daawan karaa halkan, Waxaan isticmaali doonaa shaxda cirifka:

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

PLG xirmo

Ha la yaabin haddii aadan heli karin eraygan la soo gaabiyey, maadaama loo yaqaan Grafana Loki. Si kastaba ha ahaatee, xidhmadani waxay helaysaa caan sababtoo ah waxay isticmaashaa xalal farsamo oo la xaqiijiyay. Waxaa laga yaabaa inaad horey u maqashay Grafana, qalab muuqaal-muuqaal oo caan ah. Sameeyayaasheeda, oo uu dhiirigeliyay Prometheus, horumariyay Loki, qaab toosan oo la miisaami karo, nidaamka iskudarka logaga waxqabadka sarreeya. Loki ayaa tilmaamaya kaliya metadata, ma aha joornaalada laftooda, xal farsamo oo u oggolaanaya in ay fududahay in la isticmaalo oo kharash-ool ah.

Ballanqaad - wakiilka ka soo dirida diiwaannada nidaamka hawlgalka kooxda Loki. Grafana waa qalab muuqaal ah oo ku salaysan xogta Loki.

Gelitaanka Kubernetes: EFK vs PLG

Loki waxa lagu dhisay mabaadi'da Prometheus, taas oo ka dhigaysa mid ku habboon kaydinta iyo falanqaynta Kubernetes.

Loki architecture

Loki waxa loo ordi karaa hab hal mar ah ama habab badan, taas oo u oggolaanaysa miisaan toosan.

Gelitaanka Kubernetes: EFK vs PLG

Waxa kale oo ay u shaqayn kartaa sidii codsi monolithic ah ama adeeg-yaro ahaan. U ordaynta hal habraac waxay faa'iido u yeelan kartaa horumarka deegaanka ama la socodka yar. Hirgelinta warshadaha iyo culeyska shaqada ee la miisaami karo, waxaa lagu talinayaa in la isticmaalo ikhtiyaarka adeegga yar yar. Dariiqyada qoraalka iyo xogta akhrisku waa kala go'an yihiin, markaa si fiican ayaa loo hagaajin karaa oo loo miisaami karaa haddii loo baahdo.

Aynu eegno qaab-dhismeedka nidaamka ururinta log-yada iyadoon si faahfaahsan u tagin:

Gelitaanka Kubernetes: EFK vs PLG

Oo halkan waa sharaxaadda (microservice architecture):

Gelitaanka Kubernetes: EFK vs PLG

Qaybaha:

Ballanqaad - wakiil lagu rakibay qanjidhada (sida adeegyo kala duwan), waxay ka saartaa diiwaannada hawlaha oo ay gasho Kubernetes API si ay u hesho xog badan oo calaamadin doonta logyada. Kadib waxay u dirtaa log-ka adeega Loki ee ugu weyn. Khariidaynta metadata waxay taageertaa isla xeerarka sumadaynta ee Prometheus.

Qaybiyaha - qaybiyaha adeegga oo u shaqeeya sidii kayd. Si loo farsameeyo malaayiin rikoor ah, waxay xirxirtaa xogta soo socota, iyadoo ku cadaadinaya baloogyada markay timaaddo. Dhowr saxan oo xog ah ayaa isku mar wada socda, laakiin diiwaannada ka tirsan hal il xogta soo socota waa inay ka soo muuqdaan oo keliya mid iyaga ka mid ah dhammaan baloogyadiisa. Tan waxa loo habeeyey giraanta saxanka iyo xashiishyada xidhiidhsan. Dulqaadashada qaladka iyo dib-u-celinta, tan waxaa la sameeyaa n jeer (3 haddii aan la habeynin).

Ingester - qaataha adeegga. Xirmooyinka xogtu waxay yimaadaan iyagoo cufan oo lagu daray diiwaanka. Marka balooggu uu le'eg yahay cabbir ku filan, baloogga waxaa lagu daadiyaa kaydka xogta. Metadata waxay aadaysaa tusmada, xogta laga helay block log waxay aadaysaa Chunks (badanaa kaydinta shayga). Dib u dajinta ka dib, qaataha waxa uu abuuraa baloog cusub halkaas oo wax cusub lagu dari doono.

Gelitaanka Kubernetes: EFK vs PLG

Index - database, DynamoDB, Cassandra, Google BigTable, iwm.

Dambaska - Log blocks oo qaab cufan, oo badanaa lagu kaydiyo shay, tusaale ahaan, S3.

Su'aal - dariiqa wax-akhriska ee qabta dhammaan shaqada wasakhda ah. Waxay eegaysaa kala duwanaanshaha wakhtiga iyo shaambada wakhtiga, ka dibna waxay eegtaa tusmada si ay u hesho tartamo. Marka xigta, waxay akhridaa xogta blocks oo ay shaandhayso si ay natiijada u hesho.

Hadda aan aragno wax walba oo ficil ah.

Ku rakibida

Habka ugu fudud ee lagu rakibo Kubernetes waa in la isticmaalo koofiyadda. Waxaan u qaadaneynaa inaad mar hore rakibtay oo aad habaysay (iyo nooca saddexaad! qiyaastii turjumaan)

Ku dar meel kayd ah oo rakib raso

$ 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

Hoos waxaa ku yaal dashboard tusaale ah oo muujinaya xogta Prometheus ee metrics Etcd iyo Loki ee IWM.

Gelitaanka Kubernetes: EFK vs PLG

Hadda aan ka wada hadalno qaab-dhismeedka labada nidaam, oo aan sidoo kale barbar dhigno awooddooda midba midka kale.

Isbarbar dhigid

Luuqada waydiinta

Elasticsearch waxay isticmaashaa Query DSL iyo Lucene luqada waydiinta si ay u bixiso awoodo raadinta qoraal buuxa. Waa makiin raadin awood leh oo la aasaasay oo leh taageero hawlwadeen oo ballaadhan. Iyada, waxaad ku raadin kartaa macnaha guud oo waxaad ku kala sooci kartaa ku habboonaanta.

Dhinaca kale ee giraanta waa LogQL, oo ​​lagu isticmaalo Loki, ku-beddelka PromQL (Luqadda weydiinta Prometheus). Waxay adeegsataa log tags si ay u shaandhayso oo ay u doorato xogta log. Waa suurtogal in la isticmaalo hawlwadeenada qaarkood iyo xisaabinta sida lagu sharaxay halkan, laakiin xagga awoodaha waxa ay ka dambaysaa luqadda Elastic-ka.

Mar haddii su'aalaha Loki ay la xiriiraan summada, way fududahay in la isku xidho cabbirrada, taas awgeed, way fududahay in la abaabulo la socodka hawlgalka.

Miisaanka

Labada xirmo ayaa si toos ah loo qiyaasi karaa, laakiin Loki ayaa fududeyneysa sababtoo ah waxay leedahay wadooyin akhris iyo qorri oo gooni ah iyo qaab dhismeedka adeegyada yar yar. Loki waa la habayn karaa si ay ugu habboonaato baahiyahaaga waxaana loo isticmaali karaa tiro aad u badan oo xogta log ah.

Badanaa

Isku-dhufashada kooxdu waa mawduuc caadi ah oo soo gaabinta OPEX, labada xidhmo waxay bixiyaan kiraysi badan. Waxaa jira dhowr Elasticsearch siyaabo kala saarista macmiilka: tusmada goonida ah ee macmiil kasta, habayn macmiil ku salaysan, beero macmiil oo gaar ah, filtarrada raadinta. Loki ayaa leh taageero oo ah qaabka HTTP X-Scope-OrgID madaxa.

qiimaha

Loki waa wax ku ool ah kharash badan sababtoo ah xaqiiqda ah inaysan tilmaanta xogta, kaliya metadata. Tani waa guul kaydka kaydinta iyo xusuusta (cache), maadaama kaydinta shaygu ay ka jaban tahay kaydinta xannibaadda, taas oo lagu isticmaalo kooxaha Elasticsearch.

gunaanad

Xirmada EFK waxaa loo isticmaali karaa ujeeddooyin kala duwan, iyadoo siinaya dabacsanaan ugu badan iyo is-dhexgal Kibana oo sifo qani ah u leh falanqaynta, aragga, iyo weydiimaha. Waxaa lagu sii wanaajin karaa awoodda barashada mashiinka.

Xirmada Loki waxay faa'iido u leedahay nidaamka deegaanka Kubernetes sababtoo ah habka daahfurka xogta badan. Waxaad si fudud u xidhiidhin kartaa xogta la socodka ku salaysan wakhtiga taxanaha ah ee Grafana iyo logs.

Markay timaaddo qiimaha iyo kaydinta log-ga muddada-dheer, Loki waa meel aad u fiican oo laga galo xalalka daruuraha.

Waxaa jira dooral kale oo badan oo suuqa ah - qaarkood ayaa laga yaabaa inay kuu fiican yihiin. Tusaale ahaan, GKE waxa ay leedahay is dhexgalka Stackdriver kaas oo bixiya xal la socodka heersare ah. Annagu kuma aannu darin falanqayntayada maqaalkan.

Tixraacyada:

Maqaalka waxa turjumay oo diyaariyey Habr shaqaale Xarunta tababarka slurm - koorsooyin degdeg ah, koorsooyin fiidiyoow ah iyo tababaro shirkadeed oo laga helo khabiiro takhasus leh (Kubernetes, DevOps, Docker, Aansible, Ceph, SRE, Agile)

Source: www.habr.com

Add a comment