Log a-steach Kubernetes: EFK vs PLG

Log a-steach Kubernetes: EFK vs PLG

Tha sgrùdadh air a thighinn gu bhith na phàirt glè chudromach de fhuasglaidhean sgòthan a tha a’ fàs mar a tha iom-fhillteachd shiostaman sgaoilte a’ dol am meud. Tha e riatanach an giùlan aca a thuigsinn. Feumaidh sinn innealan so-ruigsinneach as urrainn dàta a chruinneachadh bho gach seirbheis - agus aon eadar-aghaidh a thoirt do eòlaichean le mion-sgrùdadh coileanaidh, dearbhadh mearachd, ruigsinneachd agus logaichean.

Feumaidh na h-aon innealan sin a bhith èifeachdach agus cinneasach. San artaigil seo, seallaidh sinn ri dà chruach teicneòlais mòr-chòrdte: EFK (Elasticsearch) agus PLG (Loki) agus nì sinn sgrùdadh air na h-ailtirean agus na h-eadar-dhealachaidhean aca.

cruach EFK

Is dòcha gu bheil thu air cluinntinn mu thràth mun ELK no EFK a tha mòr-chòrdte. Tha grunn phàirtean sònraichte anns a’ chruach: Elasticsearch (stòradh nithean), Logstash no FluentD (cruinneachadh logaichean agus cruinneachadh), agus Kibana airson fradharc.

Tha sruth-obrach àbhaisteach a’ coimhead mar seo:

Log a-steach Kubernetes: EFK vs PLG

Elasticsearch - stòradh stuthan sgaoilte le sgrùdadh agus mion-sgrùdadh fìor-ùine. Fuasgladh sàr-mhath airson dàta leth-structaraichte leithid logaichean. Tha fiosrachadh air a shàbhaladh mar sgrìobhainnean JSON, air a chlàr-amais ann an àm fìor agus air a chuairteachadh thairis air nodan brabhsair. Tha clàr-amais neo-dhìreach air a chleachdadh, anns a bheil a h-uile facal sònraichte agus na sgrìobhainnean co-cheangailte airson sgrùdadh làn-theacsa, a tha e fhèin stèidhichte air einnsean sgrùdaidh Apache Lucene.

FileantaD na neach-cruinneachaidh dàta a bhios ag aonachadh dàta nuair a bhios e ga chruinneachadh agus ga chaitheamh. Bidh e a’ feuchainn ris an dàta ann an JSON a chuir air dòigh cho mòr ‘s a ghabhas. Tha an ailtireachd aige farsaing, tha barrachd ann ceudan de leudachadh eadar-dhealaichte, le taic bhon choimhearsnachd, airson a h-uile turas.

Kibana - inneal fradharc dàta airson Elasticsearch le diofar chomasan a bharrachd, mar eisimpleir, mion-sgrùdadh sreath ùine, mion-sgrùdadh grafa, ionnsachadh innealan agus barrachd.

Elasticsearch ailtireachd

Tha dàta brabhsair Elasticsearch air a stòradh air feadh a nodan gu lèir. Tha grunn nodan ann an cruinneachadh gus ruigsinneachd agus sùbailteachd a leasachadh. Faodaidh nód sam bith a h-uile dreuchd sa bhuidheann a choileanadh, ach ann an cleachdadh sgèile mhòr, bidh nodan mar as trice air an toirt seachad airson gnìomhan fa leth.

Seòrsan nodan cnuasachaidh:

  • prìomh nód - a 'stiùireadh a' bhuidheann, tha feum air co-dhiù trì, tha aon an-còmhnaidh gnìomhach;
  • nód dàta - a’ stòradh dàta clàraichte agus a’ coileanadh diofar ghnìomhan leis;
  • nód ingest - a 'cur air dòigh pìoban airson cruth-atharrachadh dàta mus clàraich iad;
  • a’ co-òrdanachadh nód - iarrtasan slighe, a’ lughdachadh na h-ìre giollachd sgrùdaidh, a’ co-òrdanachadh clàr-amais mòr;
  • nód rabhaidh - cuir air bhog gnìomhan rabhaidh;
  • nód ionnsachaidh inneal - a’ giullachd ghnìomhan ionnsachaidh inneal.

Tha an diagram gu h-ìosal a’ sealltainn mar a tha dàta air a stòradh agus air ath-aithris thar nodan gus faighinn gu barrachd dàta ri fhaighinn.

Log a-steach Kubernetes: EFK vs PLG

Tha dàta gach mac-samhail air a stòradh ann an clàr-amais neo-dhìreach, tha an diagram gu h-ìosal a’ sealltainn mar a thachras seo:

Log a-steach Kubernetes: EFK vs PLG

suidheachadh

Faodar mion-fhiosrachadh fhaicinn an seo, cleachdaidh mi clàr-stiùiridh:

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

cruach PLG

Na gabh iongnadh mura h-urrainn dhut an acronaim seo a lorg, oir tha e nas fheàrr ainmeachadh mar Grafana Loki. Co-dhiù, tha an stac seo a’ fàs mòr-chòrdte leis gu bheil e a’ cleachdadh fuasglaidhean teignigeach dearbhte. Is dòcha gu bheil thu air cluinntinn mu Grafana, inneal fradharc mòr-chòrdte. Leasaich an luchd-cruthachaidh, air a bhrosnachadh le Prometheus, Loki, siostam cruinneachaidh log àrd-choileanadh a ghabhas scalladh gu còmhnard. Chan eil Loki a’ clàradh ach na meata-dàta, chan e na h-irisean fhèin, fuasgladh teignigeach a leigeas leis a bhith furasta a chleachdadh agus cosg-èifeachdach.

Promtail - àidseant airson logaichean a chuir bhon t-siostam obrachaidh gu buidheann Loki. grafana na inneal fradharc stèidhichte air dàta bho Loki.

Log a-steach Kubernetes: EFK vs PLG

Tha Loki air a thogail air na h-aon phrionnsabalan ri Prometheus, ga dhèanamh gu math freagarrach airson a bhith a 'stòradh agus a' sgrùdadh logaichean Kubernetes.

Loki ailtireachd

Faodar Loki a ruith an dàrna cuid mar aon phròiseas no mar iomadh pròiseas, a’ ceadachadh sgèileadh còmhnard.

Log a-steach Kubernetes: EFK vs PLG

Faodaidh e cuideachd obrachadh mar thagradh monolithic no mar mhicro-sheirbheis. Faodaidh ruith mar aon phròiseas a bhith feumail airson leasachadh ionadail no airson mion-sgrùdadh. Airson buileachadh gnìomhachais agus eallach obrach scalable, thathas a’ moladh an roghainn microservice a chleachdadh. Tha na slighean airson sgrìobhadh agus leughadh dàta air an sgaradh, agus mar sin faodar a ghleusadh agus a sgèileadh mar a dh’ fheumar.

Bheir sinn sùil air ailtireachd an t-siostam cruinneachadh log gun a bhith a’ dol a-steach gu mion-fhiosrachadh:

Log a-steach Kubernetes: EFK vs PLG

Agus seo an tuairisgeul (ailtireachd microservice):

Log a-steach Kubernetes: EFK vs PLG

Com-pàirtean:

Promtail - àidseant air a chuir a-steach air nodan (mar sheata de sheirbheisean), bidh e a’ toirt air falbh logaichean bho ghnìomhan agus a ’faighinn cothrom air Kubernetes API gus meata-dàta fhaighinn a chuireas tagaichean air na logaichean. Bidh e an uairsin a’ cur an loga gu prìomh sheirbheis Loki. Tha mapadh meata-dàta a’ toirt taic do na h-aon riaghailtean tagaidh ri Prometheus.

sgaoilidh - neach-cuairteachaidh seirbheis a bhios ag obair mar bufair. Gus milleanan de chlàran a phròiseasadh, bidh e a’ pacadh dàta a thig a-steach, ga dhlùthadh ann am blocaichean mar a ruigeas e. Tha grunn sinc dàta a’ ruith aig an aon àm, ach cha bu chòir logaichean a bhuineas do aon sruth dàta a tha a’ tighinn a-steach nochdadh ach ann am fear dhiubh airson a bhlocaichean gu lèir. Tha seo air a chuir air dòigh ann an cearcall de sinc agus hashing sreath. Airson fulangas lochdan agus call dreuchd, thèid seo a dhèanamh n amannan (3 mura h-eil e air a rèiteachadh).

Ingester - neach-gabhail seirbheis. Bidh blocaichean dàta a’ ruighinn teann le logaichean air an cur ris. Aon uair ‘s gu bheil am bloc de mheud gu leòr, thèid am bloca a chuir a-steach don stòr-dàta. Bidh meata-dàta a 'dol chun chlàr-amais, agus bidh dàta bhon bhloc log a' dol gu Chunks (mar as trice stòradh stuth). Às deidh an ath-shuidheachadh, cruthaichidh an cuidhteas bloc ùr far an tèid inntrigidhean ùra a chur ris.

Log a-steach Kubernetes: EFK vs PLG

Clàr-innse - stòr-dàta, DynamoDB, Cassandra, Google BigTable, msaa.

Gasan - blocaichean log ann an cruth teann, mar as trice air an stòradh ann an stòradh stuthan, mar eisimpleir, S3.

Ceist - an t-slighe leughaidh a nì an obair shalach gu lèir. Bidh e a’ coimhead air an raon ùine agus an clàr-ama, agus an uairsin a’ coimhead air a’ chlàr-amais gus maidsean a lorg. An uairsin, bidh e a’ leughadh bhlocaichean dàta agus gan sìoladh gus an toradh fhaighinn.

A-nis chì sinn a h-uile dad ann an gnìomh.

suidheachadh

Is e an dòigh as fhasa stàladh ann an Kubernetes a bhith a’ cleachdadh stiùir. Tha sinn a' gabhail ris gu bheil thu air a stàladh agus a rèiteachadh mu thràth (agus an treas tionndadh! mu thuairmeas. eadar-theangair)

Cuir a-steach stòr-dàta agus stàlaich stac.

$ 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

Gu h-ìosal tha deas-bhòrd eisimpleir a ’sealltainn dàta bho Prometheus airson Etcd metrics agus Loki airson logaichean pod Etcd.

Log a-steach Kubernetes: EFK vs PLG

A-nis bruidhnidh sinn mu ailtireachd an dà shiostam, agus cuideachd coimeas a dhèanamh eadar na comasan aca le chèile.

Coimeas

Cànan ceist

Bidh Elasticsearch a’ cleachdadh Query DSL agus cànan ceist Lucene gus comasan sgrùdaidh làn-theacsa a thoirt seachad. Tha e na einnsean sgrùdaidh stèidhichte, cumhachdach le taic gnìomhaiche farsaing. Leis, faodaidh tu sgrùdadh a rèir co-theacsa agus òrdachadh a rèir buntainneachd.

Air taobh eile na fàinne tha LogQL, air a chleachdadh ann an Loki, a thàinig às deidh PromQL (cànan ceist Prometheus). Bidh e a’ cleachdadh tagaichean log gus dàta log a shìoladh agus a thaghadh. Tha e comasach cuid de ghnìomhaichean agus àireamhachd a chleachdadh mar a chaidh a mhìneachadh an seo, ach a thaobh comasan tha e air dheireadh air cànan Elastic.

Leis gu bheil ceistean ann an Loki co-cheangailte ri tagaichean, tha iad furasta an co-cheangal ri meatrach, agus mar thoradh air an sin, tha e nas fhasa sgrùdadh obrachaidh a chuir air dòigh leotha.

Scalability

Tha an dà chruach air an scalladh gu còmhnard, ach tha Loki ga dhèanamh nas fhasa leis gu bheil slighean leughaidh is sgrìobhaidh air leth aige agus ailtireachd microservice. Faodar Loki a ghnàthachadh gus freagairt air na feumalachdan agad agus faodar a chleachdadh airson meud mòr de dhàta log.

Ioma-ghabhaltas

Tha ioma-ghabhaltas brais na chuspair cumanta ann an giorrachadh OPEX, agus tha an dà chruach a’ toirt seachad ioma-ghabhaltas. Tha grunn ann airson Elasticsearch dòighean dealachadh teachdaiche: clàr-amais fa leth airson gach neach-dèiligidh, slighe stèidhichte air teachdaiche, raointean teachdaiche gun samhail, sìoltachain sgrùdaidh. Tha aig Loki taic ann an cruth bann-cinn HTTP X-Scope-OrgID.

cosgais

Tha Loki gu math èifeachdach a thaobh cosgais leis nach eil e a’ clàradh an dàta, dìreach na meata-dàta. Tha seo a’ coileanadh sàbhalaidhean air stòradh agus cuimhne (cache), leis gu bheil stòradh stuthan nas saoire na stòradh bloca, a thathas a’ cleachdadh ann an cruinneachaidhean Elasticsearch.

co-dhùnadh

Faodar an stac EFK a chleachdadh airson grunn adhbharan, a’ toirt seachad an sùbailteachd as motha agus eadar-aghaidh Kibana làn feart airson anailisean, fradharc, agus ceistean. Faodar a leasachadh nas motha le comasan ionnsachaidh innealan.

Tha an stac Loki feumail ann an eag-shiostam Kubernetes air sgàth an dòigh lorg meata-dàta aige. Is urrainn dhut dàta a cho-cheangal gu furasta airson sgrùdadh stèidhichte air sreath ùine ann an Grafana agus logaichean.

Nuair a thig e gu cosgais agus stòradh logaichean fad-ùine, tha Loki na dheagh àite inntrigidh gu fuasglaidhean sgòthan.

Tha barrachd roghainnean eile air a’ mhargaidh - dh’ fhaodadh cuid a bhith nas fheàrr dhut. Mar eisimpleir, tha amalachadh Stackdriver aig GKE a bheir seachad fuasgladh sgrùdaidh sàr-mhath. Cha do chuir sinn a-steach iad san anailis againn san artaigil seo.

Tùsan:

Chaidh an artaigil eadar-theangachadh agus ullachadh dha Habr le luchd-obrach Ionad trèanaidh slurm - cùrsaichean dian, cùrsaichean bhidio agus trèanadh corporra bho eòlaichean gnìomhach (Kubernetes, DevOps, Docker, Ansible, Ceph, SRE, Agile)

Source: www.habr.com

Cuir beachd ann