Ho kena ho Kubernetes: EFK vs PLG

Ho kena ho Kubernetes: EFK vs PLG

Ho beha leihlo ho fetohile karolo ea bohlokoa haholo ea tharollo ea maru e ntseng e hola ha ho rarahana ha litsamaiso tse ajoang ho ntse ho eketseha. Hoa hlokahala ho utloisisa boitšoaro ba bona. Re hloka lisebelisoa tsa scalable tse ka bokellang data ho tsoa lits'ebeletso tsohle - le ho fa litsebi sehokelo se le seng se nang le tlhahlobo ea ts'ebetso, lipontšo tsa liphoso, boteng le lintlha.

Tsona lisebelisoa tsena li tlameha ho sebetsa hantle le ho hlahisa litholoana. Sehloohong sena, re tla sheba mekotla e 'meli ea theknoloji e tsebahalang: EFK (Elasticsearch) le PLG (Loki) mme re hlahlobe meralo ea bona le liphapang.

Setšoantšo sa EFK

Mohlomong u se u utloile ka ELK kapa EFK e tsebahalang haholo. Stack e na le likarolo tse 'maloa tse ikhethileng: Elasticsearch (polokelo ea ntho), Logstash kapa FluentD (pokello ea log le aggregation), le Kibana bakeng sa pono.

Mokhoa o tloaelehileng oa ts'ebetso o shebahala tjena:

Ho kena ho Kubernetes: EFK vs PLG

Elasticsearch - ho ajoa polokelo ea lintho ka lipatlisiso le li-analytics tsa nako ea nnete. Tharollo e ntle bakeng sa data e hlophisitsoeng hantle joalo ka li-log. Lintlha li bolokoa joalo ka litokomane tsa JSON, tse ngolisitsoeng ka nako ea nnete 'me li ajoa ho pholletsa le lihlopha tsa lihlopha. Ho sebelisoa index e sothehileng, e nang le mantsoe ohle a ikhethang le litokomane tse amanang le eona bakeng sa ho batla mongolo ka botlalo, 'me o ipapisitse le mochini oa ho batla oa Apache Lucene.

FluentD ke pokello ea data e kopanyang data ha e bokelloa le ho e sebelisa. E leka ho hlophisa data ho JSON ka hohle kamoo ho ka khonehang. Mohaho oa eona oa atolosoa, ho na le tse ling makholo a fapaneng a atolositsoeng, e tšehelitsoeng ke sechaba, bakeng sa linako tsohle.

Kibana - sesebelisoa sa pono ea data bakeng sa Elasticsearch se nang le bokhoni bo fapaneng bo eketsehileng, mohlala, tlhahlobo ea letoto la nako, tlhahlobo ea kerafo, ho ithuta ka mochini le tse ling.

Moralo oa Elasticsearch

Lintlha tsa sehlopha sa Elasticsearch li bolokiloe li phatlalalitsoe hohle libakeng tsohle tsa eona. Sehlopha se na le li-node tse ngata ho ntlafatsa phumaneho le botsitso. Node leha e le efe e ka phetha mesebetsi eohle ea sehlopha, empa ka likarolo tse kholo tsa li-deployments, li-node hangata li abeloa mesebetsi ea motho ka mong.

Mefuta ea li-cluster node:

  • master node - o laola sehlopha, bonyane ho hlokahala tse tharo, e 'ngoe e lula e sebetsa;
  • node ea data - e boloka data e ngolisitsoeng mme e etsa mesebetsi e fapaneng ka eona;
  • ingest node - e hlophisa liphaephe bakeng sa ho fetola data pele ho indexing;
  • ho hokahanya node - likopo tsa ho tsamaisa, ho fokotsa karolo ea ts'ebetso ea lipatlisiso, ho hokahanya indexing ea bongata;
  • node ea tlhokomeliso - ho qala mesebetsi ea tlhokomeliso;
  • node ea ho ithuta mochini - ho sebetsa mesebetsi ea ho ithuta ka mochini.

Sets'oants'o se ka tlase se bonts'a hore na data e bolokoa joang le hore na e kopitsoa joang libakeng tsohle ho fihlela phumaneho e phahameng ea data.

Ho kena ho Kubernetes: EFK vs PLG

Данные каждой реплики хранятся в инвертированном индексе, схема ниже показывает, как это происходит:

Ho kena ho Kubernetes: EFK vs PLG

bophirima

Lintlha li ka bonoa mona, Ke tla sebelisa chate ea helm:

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

Setšoantšo sa PLG

U se ke ua makala ha u sa fumane khutsufatso ena, kaha e tsejoa hamolemo e le Grafana Loki. Leha ho le joalo, stack ena e ntse e tuma hobane e sebelisa litharollo tse netefalitsoeng tsa tekheniki. E ka 'na eaba u se u utloile ka Grafana, sesebelisoa se tsebahalang sa ho bona litšoantšo. Baetsi ba eona, ba bululetsoeng ke Prometheus, ba ntlafalitse Loki, sistimi e kopanyang logong e holimo, e sebetsang hantle haholo. Loki e supa feela metadata, eseng likoranta ka botsona, tharollo ea tekheniki e lumellang hore e be bonolo ho e sebelisa le ho boloka chelete e ngata.

Promtail - moemeli bakeng sa ho romela li-log ho tloha tsamaisong ea ts'ebetso ho ea ho sehlopha sa Loki. grafana ke sesebelisoa sa pono se thehiloeng ho data e tsoang ho Loki.

Ho kena ho Kubernetes: EFK vs PLG

Loki e hahiloe holim'a melao-motheo e tšoanang le ea Prometheus, e etsa hore e tšoanelehe hantle bakeng sa ho boloka le ho hlahloba lifate tsa Kubernetes.

Mehaho ea Loki

Loki e ka tsamaisoa e le ts'ebetso e le 'ngoe kapa e le mekhoa e mengata, e lumellang ho lekanya ho rapameng.

Ho kena ho Kubernetes: EFK vs PLG

E ka boela ea sebetsa e le kopo ea monolithic kapa e le microservice. Ho matha e le ts'ebetso e le 'ngoe ho ka ba molemo bakeng sa nts'etsopele ea lehae kapa tlhahlobo e nyane. Bakeng sa ts'ebetsong ea indasteri le mosebetsi o boima, ho kgothaletswa ho sebelisa khetho ea microservice. Litsela tsa ho ngola le ho bala data li arotsoe, kahoo li ka hlophisoa hantle le ho lekanyetsoa ha ho hlokahala.

Ha re shebeng boqapi ba sistimi ea pokello ea li-log ntle le ho kena ka botlalo:

Ho kena ho Kubernetes: EFK vs PLG

Mona ke tlhaloso (meralo ea microservice):

Ho kena ho Kubernetes: EFK vs PLG

Dikarolo:

Promtail - moemeli ea kentsoeng ho li-node (e le sehlopha sa lits'ebeletso), o tlosa lits'oants'o mesebetsing ebe o fihlella Kubernetes API ho fumana metadata e tla tšoaea lits'oants'o. E ntan'o romela log ho tšebeletso e kholo ea Loki. 'Mapa oa metadata o ts'ehetsa melao e ts'oanang ea ho tšoaea joalo ka Prometheus.

Distributor - mofani oa litšebeletso ea sebetsang e le tšireletso. Ho sebetsana le lirekoto tse limilione, e paka data e kenang, e e hatella ka li-block ha e fihla. Litanka tse 'maloa tsa data li sebetsa ka nako e le' ngoe, empa li-log tsa molatsoana o le mong o kenang oa data li lokela ho hlaha ho e 'ngoe ea tsona bakeng sa li-block tsa eona. Sena se hlophisitsoe ka selikalikoe sa lisinki le hashing e latellanang. Bakeng sa mamello ea liphoso le ho fokotsa mosebetsi, sena se etsoa ka makhetlo a n (3 haeba e sa lokisoe).

Ingester - moamoheli oa litšebeletso. Li-block tsa data li fihla li hatelloa ka li-log tse kentsoeng. Hang ha block e le boholo bo lekaneng, thibela e fetisetsoa ho database. Metadata e ea ho index, 'me data e tsoang ho log block e ea ho Chunks (hangata ho boloka ntho). Kamora ho seta bocha, moamoheli o theha block e ncha moo ho tla eketsoa likenyelletso tse ncha.

Ho kena ho Kubernetes: EFK vs PLG

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

Likotoana - li-log blocks ka mokhoa o hatelitsoeng, hangata li bolokiloe polokelong ea ntho, mohlala, S3.

Motho ea botsang - tsela ya ho bala e etsang mesebetsi yohle e ditshila. E sheba lethathamo la nako le setempe sa nako, ebe e sheba index ea ho fumana lintho tse tšoanang. Ka mor'a moo, e bala li-block tsa data ebe e li sefa ho fumana sephetho.

Joale ha re boneng tsohle tse sebetsang.

bophirima

Tsela e bonolo ka ho fetisisa ea ho kenya Kubernetes ke ho sebelisa helm. Re nka hore o se o e kentse le ho e lokisa (le phetolelo ea boraro! hoo e ka bang. mofetoleli)

Kenya polokelo 'me u kenye stack.

$ 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

Ka tlase ke mohlala oa dashboard o bonts'ang data ho tsoa ho Prometheus bakeng sa metrics ea Etcd le Loki bakeng sa lintlha tsa Etcd pod.

Ho kena ho Kubernetes: EFK vs PLG

Joale a re tšohleng kaho ea litsamaiso ka bobeli, hape re bapise bokhoni ba tsona le tse ling.

Bapisa

Puo ea potso

Elasticsearch e sebelisa lipotso tsa Query DSL le Lucene ho fana ka bokhoni ba ho batla mongolo ka botlalo. Ke enjine ea ho batla e thehiloeng, e matla e nang le tšehetso e pharaletseng ea opareitara. Ka eona, u ka batla ka moelelo le ho hlophisa ka bohlokoa.

Ka lehlakoreng le leng la lesale ke LogQL, e sebelisoang ho Loki, mohlahlami oa PromQL (Puo ea lipotso ea Prometheus). E sebelisa li-tag tsa log ho sefa le ho khetha data ea log. Hoa khoneha ho sebelisa basebetsi ba bang le lipalo joalo ka ha ho hlalositsoe mona, empa ho ea ka bokhoni e salla ka morao ho Elastic language.

Kaha lipotso tsa Loki li amahanngoa le li-tag, ho bonolo ho li hokahanya le metrics, 'me ka lebaka leo, ho bonolo ho hlophisa tlhahlobo ea ts'ebetso.

Ho se sebetse

Li-stack ka bobeli li ka senyeha ka mokhoa o otlolohileng, empa Loki e nolofatsa hobane e na le litsela tse arohaneng tsa ho bala le ho ngola le meralo ea microservice. Loki e ka etsoa hore e lumellane le litlhoko tsa hau 'me e ka sebelisoa bakeng sa palo e kholo haholo ea data ea log.

Multitenancy

Cluster multitenancy ke sehlooho se tloaelehileng khutsufatsong ea OPEX, mekotla ka bobeli e fana ka multitenancy. Ho na le tse 'maloa bakeng sa Elasticsearch mekhoa karohano ea bareki: index e arohaneng bakeng sa moreki e mong le e mong, tsela e ipapisitseng le bareki, libaka tse ikhethileng tsa bareki, li-filters tsa ho batla. Loki o na le eona tšehetso ka sebopeho sa hlooho ea HTTP X-Scope-OrgID.

ditjeho tsa ho

Loki e theko e boima haholo ka lebaka la hore ha e supe lintlha, ke metadata feela. Sena sea fihlela ho boloka polokelong le memori (cache), kaha polokelo ea ntho e theko e tlase ho feta polokelo ea block, e sebelisoang ho lihlopha tsa Elasticsearch.

fihlela qeto e

EFK stack e ka sebelisoa bakeng sa merero e fapaneng, e fana ka maemo a feto-fetohang le sebopeho se ruileng sa Kibana bakeng sa litlhahlobo, pono le lipotso. E ka ntlafatsoa le ho feta ka bokhoni ba ho ithuta ka mochini.

Loki stack e bohlokoa ho Kubernetes ecosystem ka lebaka la mokhoa oa eona oa ho sibolla metadata. O ka hokahanya habonolo lintlha tsa ho beha leihlo ho ipapisitse le letoto la nako Grafana le li-log.

Ha ho tluoa tabeng ea litšenyehelo le polokelo ea nako e telele ea log, Loki ke sebaka se setle sa ho kena ka har'a tharollo ea maru.

Ho na le mekhoa e meng 'marakeng - tse ling li ka ba molemo ho uena. Ka mohlala, GKE e na le kopanyo ea Stackdriver e fanang ka tharollo e babatsehang ea ho beha leihlo. Ha rea ​​li kenyelletsa tlhahlobisong ea rona sehloohong sena.

Lipeeletso:

Sengoliloeng se ile sa fetoleloa le ho lokisetsoa Habr ke basebetsi Setsi sa koetliso sa Slurm - lithupelo tse matla, lithupelo tsa video le koetliso ea khoebo ho tsoa ho litsebi tsa boikoetliso (Kubernetes, DevOps, Docker, Ansible, Ceph, SRE, Agile)

Source: www.habr.com

Eketsa ka tlhaloso