Antre nan Kubernetes: EFK vs PLG

Antre nan Kubernetes: EFK vs PLG

Siveyans te vin tounen yon eleman trè enpòtan nan k ap grandi solisyon nwaj yo kòm konpleksite nan sistèm distribiye ogmante. Li nesesè yo konprann konpòtman yo. Nou bezwen zouti évolutive ki kapab kolekte done ki sòti nan tout sèvis - epi bay espesyalis yon sèl koòdone ak analiz pèfòmans, demonstrasyon erè, disponiblite ak mòso bwa.

Menm zouti sa yo dwe efikas ak pwodiktif. Nan atik sa a, nou pral gade de pil teknoloji popilè: EFK (Elasticsearch) ak PLG (Loki) epi egzamine achitekti yo ak diferans yo.

EFK pile

Ou ka deja tande pale de ELK oswa EFK ki trè popilè. Pile a konsiste de plizyè pati diferan: Elasticsearch (depo objè), Logstash oswa FluentD (koleksyon boutèy demi lit ak agrégation), ak Kibana pou vizyalizasyon.

Yon workflow tipik sanble tankou sa a:

Antre nan Kubernetes: EFK vs PLG

Elasticsearch — distribye depo objè ak rechèch ak analiz an tan reyèl. Ekselan solisyon pou done semi-estriktire tankou mòso bwa. Enfòmasyon yo sove kòm dokiman JSON, endis an tan reyèl epi distribye atravè nœuds gwoup yo. Yo itilize yon endèks Envèse, ki gen tout mo inik ak dokiman ki asosye pou rechèch tèks konplè, ki an vire baze sou motè rechèch Apache Lucene.

FluentD se yon pèseptè done ki inifye done lè kolekte ak konsome li. Li eseye òganize done yo nan JSON otank posib. Achitekti li extensible, gen plis dè santèn de ekstansyon diferan, kominote-sipòte, pou tout okazyon.

kibana - yon zouti vizyalizasyon done pou Elasticsearch ak plizyè kapasite adisyonèl, pou egzanp, analiz seri tan, analiz graf, aprantisaj machin ak plis ankò.

Achitekti Elasticsearch

Done grap Elasticsearch estoke gaye nan tout nœuds li yo. Yon gwoup gen plizyè nœuds pou amelyore disponiblite ak rezistans. Nenpòt ne ka fè tout wòl gwoup la, men nan gwo deplwaman echèl, nœuds yo anjeneral asiyen travay endividyèl.

Kalite ne grap:

  • mèt ne - jere gwoup la, omwen twa yo bezwen, youn toujou aktif;
  • done node - estoke done endèks epi fè plizyè travay avèk li;
  • ingest node - òganize tiyo pou transfòme done anvan endèks;
  • kowòdone ne - demann routage, diminye faz pwosesis rechèch la, kowòdone endèks mas;
  • alerting node - lanse travay alèt;
  • machine learning node - travay aprantisaj machin pwosesis.

Dyagram ki anba a montre kouman done yo estoke ak repwodui atravè nœuds yo pou yo rive jwenn pi gwo disponiblite done yo.

Antre nan Kubernetes: EFK vs PLG

Done chak kopi yo estoke nan yon endèks envèse, dyagram ki anba a montre kijan sa rive:

Antre nan Kubernetes: EFK vs PLG

Enstalasyon

Detay yo ka wè isit la, Mwen pral sèvi ak tablo Helm:

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

PLG pile

Ou pa bezwen sezi si ou pa ka jwenn akwonim sa a, paske li pi byen konnen kòm Grafana Loki. Nan nenpòt ka, chemine sa a ap pran popilarite paske li itilize solisyon teknik pwouve. Ou ka deja tande pale de Grafana, yon zouti vizyalizasyon popilè. Kreyatè li yo, ki te enspire pa Prometheus, te devlope Loki, yon sistèm agrégation mòso bwa wo pèfòmans orizontal. Loki endis sèlman metadata yo, pa jounal yo tèt yo, yon solisyon teknik ki pèmèt li fasil pou itilize ak pri-efikas.

Promtail - yon ajan pou voye mòso bwa soti nan sistèm nan fonksyone nan gwoup la Loki. grafana se yon zouti vizyalizasyon ki baze sou done ki soti nan Loki.

Antre nan Kubernetes: EFK vs PLG

Loki bati sou menm prensip ak Prometheus, sa ki fè li byen adapte pou estoke ak analize mòso bwa Kubernetes.

Achitekti Loki

Loki ka kouri swa kòm yon sèl pwosesis oswa kòm plizyè pwosesis, sa ki pèmèt pou dekale orizontal.

Antre nan Kubernetes: EFK vs PLG

Li ka travay tou swa kòm yon aplikasyon monolitik oswa kòm yon mikwosèvis. Kouri kòm yon sèl pwosesis ka itil pou devlopman lokal oswa pou siveyans minè. Pou aplikasyon endistriyèl ak kantite travay évolutive, li rekòmande pou itilize opsyon mikwosèvis la. Chemen yo pou ekri ak lekti done yo separe, kidonk li ka tise byen ajiste ak echèl jan sa nesesè.

Ann gade nan achitekti sistèm koleksyon boutèy demi lit la san yo pa antre nan detay:

Antre nan Kubernetes: EFK vs PLG

Ak isit la se deskripsyon an (achitekti mikwosèvis):

Antre nan Kubernetes: EFK vs PLG

Eleman:

Promtail — yon ajan enstale sou nœuds (kòm yon seri sèvis), li retire mòso bwa nan travay ak aksè nan API Kubernetes pou jwenn metadata ki pral tag mòso bwa yo. Lè sa a, li voye boutèy la nan sèvis prensipal Loki. Kat jeyografik metadone sipòte menm règ tag ak Prometheus.

Distribitè — yon distribitè sèvis ki travay kòm yon tanpon. Pou trete dè milyon de dosye, li pake done k ap vini yo, konprese yo an blòk jan li rive. Plizyè koule done yo ap kouri ansanm, men mòso bwa ki fè pati yon kouran done fèk ap rantre yo ta dwe sèlman parèt nan youn nan yo pou tout blòk li yo. Sa a se òganize nan yon bag nan lavabo ak hachaj sekans. Pou tolerans fay ak redondance, sa fèt n fwa (3 si pa configuré).

Enjester - reseptè sèvis. Blòk done yo rive konprese ak mòso bwa te ajoute. Yon fwa blòk la gen ase gwosè, blòk la vide nan baz done a. Metadata ale nan endèks la, ak done ki soti nan blòk boutèy la ale nan Chunks (anjeneral depo objè). Apre reset la, reseptè a kreye yon nouvo blòk kote yo pral ajoute nouvo antre.

Antre nan Kubernetes: EFK vs PLG

endèks - baz done, DynamoDB, Cassandra, Google BigTable, elatriye.

Fragman — blòk boutèy demi lit nan fòm konprese, anjeneral ki estoke nan depo objè, pou egzanp, S3.

Querier - chemen lekti ki fè tout travay sal. Li gade nan seri tan an ak timestamp, ak Lè sa a, gade nan endèks la pou jwenn alimèt. Apre sa, li li blòk done epi filtre yo pou jwenn rezilta a.

Koulye a, ann wè tout bagay an aksyon.

Enstalasyon

Fason ki pi fasil pou enstale nan Kubernetes se sèvi ak Helm. Nou sipoze ke ou te deja enstale ak konfigirasyon li (ak twazyèm vèsyon an! approx. tradiktè)

Ajoute yon depo epi enstale yon pil.

$ 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

Anba a se yon egzanp tablodbò ki montre done ki soti nan Prometheus for Etcd metrics ak Loki for Etcd pod logs.

Antre nan Kubernetes: EFK vs PLG

Koulye a, kite a diskite sou achitekti a nan tou de sistèm yo, epi tou konpare kapasite yo youn ak lòt.

Konparezon

Lang rechèch

Elasticsearch itilize Query DSL ak Lucene kery lang pou bay kapasite rechèch konplè tèks. Li se yon motè rechèch ki etabli, pwisan ak sipò operatè laj. Avèk li, ou ka fè rechèch pa kontèks epi sòt pa enpòtans.

Lòt bò bag la se LogQL, ki itilize nan Loki, siksesè PromQL (langaj rechèch Prometheus). Li itilize tags boutèy demi lit pou filtre epi chwazi done boutèy demi lit. Li posib pou itilize kèk operatè ak aritmetik jan sa dekri isit la, men an tèm de kapasite li lag dèyè Elastik lang.

Depi demann nan Loki yo asosye ak tags, yo fasil pou korelasyon ak mezi, e kòm yon rezilta, yo pi fasil pou òganize siveyans operasyonèl ak.

Évolutivité

Tou de pil yo se orizontal évolutive, men Loki fè li pi fasil paske li gen chemen lekti ak ekri separe ak yon achitekti mikwosèvis. Loki ka Customized selon bezwen ou yo epi yo ka itilize pou gwo kantite done boutèy demi lit.

Multilocation

Cluster multilocation se yon tèm komen nan abrevyasyon OPEX, tou de pil bay multilocation. Gen plizyè pou Elasticsearch fason separasyon kliyan: endèks separe pou chak kliyan, routage ki baze sou kliyan, jaden kliyan inik, filtè rechèch. Loki genyen sipòte nan fòm yon header HTTP X-Scope-OrgID.

Koute

Loki se byen pri efikas akòz lefèt ke li pa endèks done yo, sèlman metadata yo. Sa a reyalize ekonomi sou depo ak memwa (kachèt), depi depo objè pi bon mache pase depo blòk, ki itilize nan grap Elasticsearch.

Konklizyon

Pile EFK a ka itilize pou plizyè rezon, bay maksimòm fleksibilite ak yon koòdone Kibana ki gen anpil karakteristik pou analiz, vizyalizasyon, ak demann. Li ka plis amelyore pa kapasite aprantisaj machin.

Pile Loki a itil nan ekosistèm Kubernetes paske nan mekanis dekouvèt metadata li yo. Ou ka fasilman korelasyon done pou siveyans ki baze sou seri tan nan Grafana ak mòso bwa.

Lè li rive pri ak depo boutèy demi lit alontèm, Loki se yon pwen antre ekselan nan solisyon nwaj yo.

Gen plis altènativ sou mache a - kèk ka pi bon pou ou. Pou egzanp, GKE gen yon entegrasyon Stackdriver ki bay yon solisyon siveyans ekselan. Nou pa enkli yo nan analiz nou an nan atik sa a.

Lyen:

Atik la te tradui ak prepare pou Habr pa anplwaye yo Slurm sant fòmasyon — kou entansif, kou videyo ak fòmasyon antrepriz soti nan espesyalis pratike (Kubernetes, DevOps, Docker, Ansible, Ceph, SRE, Agile)

Sous: www.habr.com

Add nouvo kòmantè