{"id":89038,"date":"2020-07-17T19:42:30","date_gmt":"2020-07-17T17:42:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/logirovanie-v-kubernetes-efk-protiv-plg"},"modified":"2020-07-17T19:42:30","modified_gmt":"2020-07-17T17:42:30","slug":"logirovanie-v-kubernetes-efk-protiv-plg","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/logirovanie-v-kubernetes-efk-protiv-plg","title":{"rendered":"Logovanie v Kubernetes: EFK proti PLG","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Logovanie v Kubernetes: EFK proti PLG\" src=\"\/wp-content\/uploads\/2020\/07\/0b7076a32f4c9a830bf6b765055510cc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Monitorovanie sa stalo ve\u013emi d\u00f4le\u017eitou s\u00fa\u010das\u0165ou rast\u00facich cloudov\u00fdch rie\u0161en\u00ed s rast\u00facou zlo\u017eitost\u00ed distribuovan\u00fdch syst\u00e9mov. Je nevyhnutn\u00e9 na pochopenie ich spr\u00e1vania. Potrebujeme \u0161k\u00e1lovate\u013en\u00e9 n\u00e1stroje, ktor\u00e9 dok\u00e1\u017eu zhroma\u017e\u010fova\u0165 \u00fadaje zo v\u0161etk\u00fdch slu\u017eieb \u2014 a poskytn\u00fa\u0165 odborn\u00edkom jedin\u00e9 rozhranie s anal\u00fdzou v\u00fdkonu, zobrazen\u00edm ch\u00fdb, dostupnos\u0165ou a protokolmi. <\/p>\n<p><\/p>\n<p>Tieto n\u00e1stroje musia by\u0165 efekt\u00edvne a v\u00fdkonn\u00e9. V tomto \u010dl\u00e1nku presk\u00famame dva popul\u00e1rne technologick\u00e9 stacky: EFK (Elasticsearch) a PLG (Loki) a podrobne si objasn\u00edme ich architekt\u00fary a rozdiely.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"stek-efk\">Stack EFK<\/h2>\n<p><\/p>\n<p>Mo\u017eno ste u\u017e po\u010duli o ve\u013emi popul\u00e1rnom ELK alebo EFK. Stack sa sklad\u00e1 z viacer\u00fdch samostatn\u00fdch \u010dast\u00ed: Elasticsearch (objektov\u00e9 \u00falo\u017eisko), Logstash alebo FluentD (zhroma\u017e\u010fovanie a agreg\u00e1cia protokolov) a Kibana na vizualiz\u00e1ciu.<\/p>\n<p><\/p>\n<p>Typick\u00e1 sch\u00e9ma pr\u00e1ce vyzer\u00e1 takto:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanie v Kubernetes: EFK proti PLG\" src=\"\/wp-content\/uploads\/2020\/07\/75a2b7d079064f7aa662d9e27f73c3f2.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>Elasticsearch<\/strong> \u2014 distribuovan\u00e9 objektov\u00e9 \u00falo\u017eisko s vyh\u013ead\u00e1van\u00edm a anal\u00fdzou v re\u00e1lnom \u010dase. Vynikaj\u00face rie\u0161enie pre \u010diasto\u010dne \u0161trukt\u00farovan\u00e9 \u00fadaje, napr\u00edklad protokoly. Inform\u00e1cie sa ukladaj\u00fa vo form\u00e1te JSON, indexuj\u00fa sa v re\u00e1lnom \u010dase a distribuuj\u00fa po uzloch klastra. Pou\u017e\u00edva sa inverzn\u00fd index, ktor\u00fd obsahuje v\u0161etky unik\u00e1tne slov\u00e1 a s nimi s\u00favisiace dokumenty na full-textov\u00e9 vyh\u013ead\u00e1vanie, ktor\u00e9 je zase zalo\u017een\u00e9 na vyh\u013ead\u00e1vacom eng\u00edne Apache Lucene.<\/p>\n<p><\/p>\n<p><strong>FluentD<\/strong> \u2014 to je zberate\u013e \u00fadajov, ktor\u00fd vykon\u00e1va unifik\u00e1ciu \u00fadajov pri ich zbere a spotrebe. Sna\u017e\u00ed sa usporiada\u0165 d\u00e1ta do JSON, ak je to mo\u017en\u00e9. Jeho architekt\u00fara je roz\u0161\u00edrite\u013en\u00e1, existuje viac ako <noindex><a rel=\"nofollow\" href=\"https:\/\/www.fluentd.org\/plugins\/all\">stoviek r\u00f4znych roz\u0161\u00edren\u00ed<\/a><\/noindex>, podporovan\u00fdch komunitou, pre v\u0161etky mo\u017en\u00e9 situ\u00e1cie.<\/p>\n<p><\/p>\n<p><strong>Kibana<\/strong> \u2014 n\u00e1stroj na vizualiz\u00e1ciu \u00fadajov pre Elasticsearch s r\u00f4znymi doplnkov\u00fdmi funkciami, napr\u00edklad anal\u00fdzou \u010dasov\u00fdch radov, grafami, strojov\u00fdm u\u010den\u00edm a \u010fal\u0161\u00edm.<\/p>\n<p><\/p>\n<h3 id=\"arhitektura-elasticsearch\">Architekt\u00fara Elasticsearch<\/h3>\n<p><\/p>\n<p>\u00dadaje klastra Elasticsearch s\u00fa ulo\u017een\u00e9 rozpt\u00fdlene po v\u0161etk\u00fdch jeho uzloch. Klastra sa sklad\u00e1 z viacer\u00fdch uzlov na zlep\u0161enie dostupnosti a odolnosti. Ak\u00fdko\u013evek uzol m\u00f4\u017ee vykon\u00e1va\u0165 v\u0161etky \u00falohy klastra, ale v ve\u013ek\u00fdch \u0161k\u00e1lovate\u013en\u00fdch nasadeniach sa uzlom zvy\u010dajne prira\u010fuj\u00fa konkr\u00e9tne \u00falohy.<\/p>\n<p><\/p>\n<p>Typy uzlov klastra:<\/p>\n<p><\/p>\n<ul>\n<li>master node \u2014 spravuje klastra, potrebujeme minim\u00e1lne tri, jeden je v\u017edy akt\u00edvny;<\/li>\n<li>data node \u2014 uchov\u00e1va indexovan\u00e9 \u00fadaje a vykon\u00e1va s nimi r\u00f4zne \u00falohy;<\/li>\n<li>ingest node \u2014 organizuje konveje pre transform\u00e1ciu d\u00e1t pred indexovan\u00edm;<\/li>\n<li>coordinating node \u2014 smerovanie po\u017eiadaviek, skr\u00e1tenie f\u00e1zy spracovania vyh\u013ead\u00e1vania, koordin\u00e1cia mas\u00edvneho indexovania;<\/li>\n<li>alerting node \u2014 sp\u00fa\u0161\u0165anie \u00faloh pre upozornenia;<\/li>\n<li>machine learning node \u2014 spracovanie \u00faloh strojov\u00e9ho u\u010denia.<\/li>\n<\/ul>\n<p><\/p>\n<p>Na diagrame ni\u017e\u0161ie je zn\u00e1zornen\u00e9, ako sa d\u00e1ta ukladaj\u00fa a replikuj\u00fa medzi uzlami na dosiahnutie vy\u0161\u0161ej dostupnosti d\u00e1t.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanie v Kubernetes: EFK proti PLG\" src=\"\/wp-content\/uploads\/2020\/07\/b476660dc60aca34fbe421b8eaf0ee31.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>D\u00e1ta ka\u017ed\u00e9ho replik\u00e1tu s\u00fa ulo\u017een\u00e9 v invertovanom indexe, sch\u00e9ma ni\u017e\u0161ie ukazuje, ako to prebieha:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanie v Kubernetes: EFK proti PLG\" src=\"\/wp-content\/uploads\/2020\/07\/0341c127742a5e8fe787f2076be0464f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3 id=\"ustanovka\">In\u0161tal\u00e1cia<\/h3>\n<p><\/p>\n<p>Podrobnosti si m\u00f4\u017eete pozrie\u0165 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.digitalocean.com\/community\/tutorials\/how-to-set-up-an-elasticsearch-fluentd-and-kibana-efk-logging-stack-on-kubernetes\">tu<\/a><\/noindex>, pou\u017eijem helm chart:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ helm install efk-stack stable\/elastic-stack --set logstash.enabled=false --set fluentd.enabled=true --set fluentd-elastics<\/code><\/pre>\n<p><\/p>\n<h2 id=\"stek-plg\">PLG stack<\/h2>\n<p><\/p>\n<p>Nenechajte sa prekvapi\u0165, ak nem\u00f4\u017eete n\u00e1js\u0165 t\u00fato skratku, preto\u017ee ju viac poznaj\u00fa ako Grafana Loki. V ka\u017edom pr\u00edpade tento stack naber\u00e1 popularitu, preto\u017ee pou\u017e\u00edva presn\u00e9 technick\u00e9 rie\u0161enia. Mo\u017eno ste u\u017e po\u010duli o Grafane, popul\u00e1rnom n\u00e1stroji na vizualiz\u00e1ciu. Jej tvorcovia, in\u0161piruj\u00faci sa Prometheus, vyvinuli Loki, horizont\u00e1lne \u0161k\u00e1lovate\u013en\u00fd vysoko v\u00fdkonn\u00fd syst\u00e9m agreg\u00e1cie logov. Loki indexuje len metadata, nie samotn\u00e9 logy, toto technick\u00e9 rie\u0161enie umo\u017enilo, aby bol jednoducho pou\u017eite\u013en\u00fd a ekonomicky v\u00fdhodn\u00fd.<\/p>\n<p><\/p>\n<p><strong>Promtail<\/strong> \u2014 agent na odosielanie logov z opera\u010dn\u00e9ho syst\u00e9mu do klastra Loki. <strong>Grafana<\/strong> \u2014 vizualiza\u010dn\u00fd n\u00e1stroj zalo\u017een\u00fd na d\u00e1tach z Loki.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanie v Kubernetes: EFK proti PLG\" src=\"\/wp-content\/uploads\/2020\/07\/3cc613eacf013723d46e7d31ff166dac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Loki je postaven\u00fd na rovnak\u00fdch princ\u00edpoch ako Prometheus, preto je vhodn\u00fd na uchov\u00e1vanie a anal\u00fdzu logov Kubernetes.<\/p>\n<p><\/p>\n<h3 id=\"arhitektura-loki\">Architekt\u00fara Loki<\/h3>\n<p><\/p>\n<p>Loki m\u00f4\u017ee by\u0165 spusten\u00fd ako v re\u017eime jedn\u00e9ho procesu, tak aj vo forme viacer\u00fdch procesov, \u010do zabezpe\u010duje horizont\u00e1lne \u0161k\u00e1lovanie.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanie v Kubernetes: EFK proti PLG\" src=\"\/wp-content\/uploads\/2020\/07\/82679c9a38f6115d0c8f3911533fb9f6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>M\u00f4\u017ee tie\u017e fungova\u0165 ako monolitn\u00e1 aplik\u00e1cia alebo ako mikroservis. Spustenie ako jedn\u00e9ho procesu sa m\u00f4\u017ee hodi\u0165 pre miestny v\u00fdvoj alebo pre men\u0161ie monitorovanie. Pre priemyseln\u00e9 nasadenie a \u0161k\u00e1lovate\u013en\u00e9 za\u0165a\u017eenie sa odpor\u00fa\u010da pou\u017e\u00edva\u0165 mikroservisn\u00fa variantu. Cesty na z\u00e1pis a \u010d\u00edtanie d\u00e1t s\u00fa oddelen\u00e9, tak\u017ee ho mo\u017eno dos\u0165 jemne nastavi\u0165 a \u0161k\u00e1lova\u0165 pod\u013ea potreby.<\/p>\n<p><\/p>\n<p>Pozrime sa na architekt\u00faru syst\u00e9mu zbierania logov bez detailov:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanie v Kubernetes: EFK proti PLG\" src=\"\/wp-content\/uploads\/2020\/07\/f66b90693295acb723b01aecfd7381dd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A tu je opis (mikroservisn\u00e1 architekt\u00fara):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanie v Kubernetes: EFK proti PLG\" src=\"\/wp-content\/uploads\/2020\/07\/a2d74e86e75c4fb3ef39823ed2170517.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Zlo\u017eky:<\/p>\n<p><\/p>\n<p><strong>Promtail<\/strong> \u2014 agent in\u0161talovan\u00fd na uzloch (vo forme s\u00faboru slu\u017eieb), ktor\u00fd z\u00edska protokoly z \u00faloh a oslov\u00ed API Kubernetes pre z\u00edskanie metad\u00e1t, ktor\u00fdmi bud\u00fa ozna\u010den\u00e9 protokoly. Potom ich odo\u0161le do hlavnej slu\u017eby Loki. Pre porovn\u00e1vanie metad\u00e1t s\u00fa podporovan\u00e9 rovnak\u00e9 pravidl\u00e1 pre ozna\u010dovanie ako v Prometheovi.<\/p>\n<p><\/p>\n<p><strong>Distrib\u00fator<\/strong> \u2014 slu\u017eba-distrib\u00fator funguj\u00faca ako buffer. Pre spracovanie mili\u00f3nov z\u00e1znamov bal\u00ed prich\u00e1dzaj\u00face d\u00e1ta, komprimuj\u00fac ich do blokov po pr\u00edchode. S\u00fa\u010dasne pracuje nieko\u013eko prij\u00edma\u010dov d\u00e1t, ale protokoly patriace jedn\u00e9mu toku prich\u00e1dzaj\u00facich d\u00e1t musia by\u0165 iba v jednom z nich pre v\u0161etky jeho bloky. Je to organizovan\u00e9 ako kruh prij\u00edma\u010dov a sekven\u010dn\u00e9 hashovanie. Pre odolnos\u0165 a redundanciu sa to rob\u00ed n-kr\u00e1t (3, ak nie je nastaven\u00e9 inak).<\/p>\n<p><\/p>\n<p><strong>Ingester<\/strong> \u2014 slu\u017eba-prij\u00edma\u010d. Bloky d\u00e1t prich\u00e1dzaj\u00fa komprimovan\u00e9 s pridan\u00fdmi protokolmi. Akon\u00e1hle je blok dostato\u010dne ve\u013ek\u00fd, blok sa odo\u0161le do datab\u00e1zy. Metad\u00e1ta id\u00fa do indexu, a d\u00e1ta z bloku s protokolom sa dostan\u00fa do Chunks (zvy\u010dajne to je objektov\u00e9 \u00falo\u017eisko). Po odoslan\u00ed prij\u00edma\u010d vytvor\u00ed nov\u00fd blok, do ktor\u00e9ho bud\u00fa prid\u00e1van\u00e9 nov\u00e9 z\u00e1znamy.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanie v Kubernetes: EFK proti PLG\" src=\"\/wp-content\/uploads\/2020\/07\/a277021b303ffa3eb924b4dfc617564a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>Index<\/strong> \u2014 datab\u00e1za, ako DynamoDB, Cassandra, Google BigTable a podobne.<\/p>\n<p><\/p>\n<p><strong>Chunks<\/strong> \u2014 bloky protokolov v komprimovanej podobe, zvy\u010dajne ulo\u017een\u00e9 v objektovom \u00falo\u017eisku, napr\u00edklad S3.<\/p>\n<p><\/p>\n<p><strong>Dotazovate\u013e<\/strong> \u2014 cesta \u010d\u00edtania, ktor\u00e1 vykon\u00e1va v\u0161etku pr\u00e1cu. Sleduje \u010dasov\u00fd rozsah a zna\u010dky, po \u010dom sa pozrie na index pre vyh\u013ead\u00e1vanie zh\u00f4d. Potom \u010d\u00edta bloky d\u00e1t a filtruje ich na z\u00e1klade v\u00fdsledkov.<\/p>\n<p><\/p>\n<p>A teraz sa pozrime na v\u0161etko v akcii.<\/p>\n<p><\/p>\n<h3 id=\"ustanovka-1\">In\u0161tal\u00e1cia<\/h3>\n<p><\/p>\n<p>Pre in\u0161tal\u00e1ciu do Kubernetes je najjednoduch\u0161ie pou\u017ei\u0165 helm. Predpoklad\u00e1me, \u017ee ste ho u\u017e nain\u0161talovali a nastavili (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/507656\/\">a tretej verzii!<\/a><\/noindex> <em>pozn. prekladate\u013ea<\/em>)<\/p>\n<p><\/p>\n<p>Prid\u00e1vame repozit\u00e1r a in\u0161talujeme bal\u00edk.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ helm repo add loki https:\/\/grafana.github.io\/loki\/charts\n$ helm repo update\n$ helm upgrade --install loki loki\/loki-stack --set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false<\/code><\/pre>\n<p><\/p>\n<p>Ni\u017e\u0161ie je uveden\u00fd pr\u00edklad panelu, na ktorom s\u00fa zobrazen\u00e9 d\u00e1ta z Prometheusa pre metriky Etcd a Loki pre protokoly podov Etcd.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanie v Kubernetes: EFK proti PLG\" src=\"\/wp-content\/uploads\/2020\/07\/36efc5b7abe7ad3c3f8869bd09a9e3e7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A teraz sa po\u010fme pozrie\u0165 na architekt\u00faru oboch syst\u00e9mov a porovna\u0165 ich mo\u017enosti navz\u00e1jom.<\/p>\n<p><\/p>\n<h2 id=\"sravnenie\">Porovnanie<\/h2>\n<p><\/p>\n<h3 id=\"yazyk-zaprosov\">Dotazovac\u00ed jazyk<\/h3>\n<p><\/p>\n<p>V Elasticsearch sa pou\u017e\u00edva Query DSL a Lucene query language, ktor\u00e9 umo\u017e\u0148uj\u00fa fulltextov\u00e9 vyh\u013ead\u00e1vanie. Ide o osved\u010den\u00fd siln\u00fd vyh\u013ead\u00e1vac\u00ed engine s \u0161irokou podporou oper\u00e1torov. S jeho pomocou m\u00f4\u017eete vyh\u013ead\u00e1va\u0165 v kontexte a triedi\u0165 pod\u013ea relevancie. <\/p>\n<p><\/p>\n<p>Na druhej strane ringu je LogQL, aplikovan\u00fd v Loki, n\u00e1stupca PromQL (Prometheus query language). Pou\u017e\u00edva \u0161t\u00edtky logov na filtrovanie a v\u00fdber \u00fadajov z logov. Je mo\u017en\u00e9 pou\u017ei\u0165 niektor\u00e9 oper\u00e1tory a aritmetiku, ako je op\u00edsan\u00e9 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/grafana\/loki\/blob\/master\/docs\/logql.md\">tu<\/a><\/noindex>, ale z poh\u013eadu mo\u017enost\u00ed zaost\u00e1va za Elastic language.<\/p>\n<p><\/p>\n<p>Ke\u010f\u017ee s\u00fa dotazy v Loki spojen\u00e9 so \u0161t\u00edtkami \u2013 ich je \u013eahk\u00e9 skombinova\u0165 s metrikami, \u010d\u00edm je jednoduch\u0161ie organizova\u0165 opera\u010dn\u00fd monitoring.<\/p>\n<p><\/p>\n<h3 id=\"masshtabiruemost\">\u0160k\u00e1lovate\u013enos\u0165<\/h3>\n<p><\/p>\n<p>Obe stacky s\u00fa horizont\u00e1lne \u0161k\u00e1lovate\u013en\u00e9, ale v pr\u00edpade Loki je to jednoduch\u0161ie, preto\u017ee m\u00e1 oddelen\u00e9 cesty na \u010d\u00edtanie a z\u00e1pis \u00fadajov, ako aj mikroservisn\u00fa architekt\u00faru. Loki m\u00f4\u017ee by\u0165 prisp\u00f4soben\u00fd va\u0161im potreb\u00e1m a m\u00f4\u017ee by\u0165 pou\u017eit\u00fd na ve\u013emi ve\u013ek\u00e9 objemy \u00fadajov z logov.<\/p>\n<p><\/p>\n<h3 id=\"multiarendnost\">Multi-tenancy<\/h3>\n<p><\/p>\n<p>Multi-tenancy klastra je spolo\u010dn\u00e1 t\u00e9ma na zn\u00ed\u017eenie OPEX, oba stacky zabezpe\u010duj\u00fa multi-tenancy. Pre Elasticsearch existuje nieko\u013eko <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/blog\/found-multi-tenancy\">sp\u00f4sobov<\/a><\/noindex> rozdelenia klientov: samostatn\u00fd index pre ka\u017ed\u00e9ho klienta, routovanie na z\u00e1klade klienta, jedine\u010dn\u00e9 polia klienta, vyh\u013ead\u00e1vacie filtre. V Loki existuje <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/grafana\/loki\/blob\/master\/docs\/operations\/multi-tenancy.md\">podpora<\/a><\/noindex> v podobe hlavi\u010dky HTTP X-Scope-OrgID.<\/p>\n<p><\/p>\n<h3 id=\"stoimost\">Cena<\/h3>\n<p><\/p>\n<p>Loki je ve\u013emi ekonomicky efekt\u00edvny kv\u00f4li tomu, \u017ee nevytv\u00e1ra indexovanie \u00fadajov, ale len metad\u00e1t. T\u00fdmto sp\u00f4sobom sa dosahuje <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/blog\/2020\/02\/19\/how-loki-reduces-log-storage\/\">\u00faspora na \u00falo\u017eisku<\/a><\/noindex> a pam\u00e4ti (cache), preto\u017ee objektov\u00e9 \u00falo\u017eisko je lacnej\u0161ie ako blokov\u00e9, ktor\u00e9 sa pou\u017e\u00edva v klastri Elasticsearch.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">Z\u00e1ver<\/h2>\n<p><\/p>\n<p>Stack EFK sa m\u00f4\u017ee pou\u017e\u00edva\u0165 na r\u00f4zne \u00fa\u010dely, poskytuj\u00fac maxim\u00e1lnu flexibilitu a multifunk\u010dn\u00fd rozhranie Kibana na anal\u00fdzu, vizualiz\u00e1ciu a dotazy. M\u00f4\u017ee by\u0165 \u010falej vylep\u0161en\u00fd mo\u017enos\u0165ami strojov\u00e9ho u\u010denia.<\/p>\n<p><\/p>\n<p>Stack Loki je u\u017eito\u010dn\u00fd v ekosyst\u00e9me Kubernetes kv\u00f4li mechanizmu objavovania metad\u00e1t. \u00dadaje na monitorovanie zalo\u017een\u00e9 na \u010dasov\u00fdch radoch v Grafana a logoch je mo\u017en\u00e9 \u013eahko mapova\u0165.<\/p>\n<p><\/p>\n<p>Pokia\u013e ide o n\u00e1klady a dlhodob\u00e9 uchov\u00e1vanie logov, Loki je skvelou vo\u013ebou pre vstup do cloudov\u00fdch rie\u0161en\u00ed.<\/p>\n<p><\/p>\n<p>Na trhu existuje viac alternat\u00edv \u2014 niektor\u00e9 m\u00f4\u017eu by\u0165 lep\u0161ie pre v\u00e1s. Napr\u00edklad pre GKE je k dispoz\u00edcii integr\u00e1cia Stackdriver, ktor\u00e1 pon\u00faka vynikaj\u00face rie\u0161enie na monitoring. Nezaradili sme ich do na\u0161ej anal\u00fdzy v tomto \u010dl\u00e1nku.<\/p>\n<p><\/p>\n<p>Odkazy:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/grafana\/loki\/blob\/master\/docs\/overview\/comparisons.md\">https:\/\/github.com\/grafana\/loki\/blob\/master\/docs\/overview\/comparisons.md<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/blog\/found-elasticsearch-from-the-bottom-up\">https:\/\/www.elastic.co\/blog\/found-elasticsearch-from-the-bottom-up<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/blog\/found-elasticsearch-in-production\/\">https:\/\/www.elastic.co\/blog\/found-elasticsearch-in-production\/<\/a><\/noindex><\/li>\n<\/ul>\n<p><\/p>\n<p><em>\u010cl\u00e1nok bol prelo\u017een\u00fd a pripraven\u00fd pre Habr zamestnancami <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/7x-vEQ\">vzdel\u00e1vacieho centra Sl\u00e9rm<\/a><\/noindex> \u2014 intenz\u00edvne kurzy, video\u0161kolenia a firemn\u00e9 vzdel\u00e1vanie od odborn\u00edkov v praxi (Kubernetes, DevOps, Docker, Ansible, Ceph, SRE, Agile)<\/em><\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/510822\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441\u0442\u0430\u043b \u0432\u0435\u0441\u044c\u043c\u0430 \u0432\u0430\u0436\u043d\u044b\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u043c \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u0445 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u041e\u043d \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u0438\u0445 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f. \u041d\u0443\u0436\u043d\u044b \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e \u0432\u0441\u0435\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u2014 \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430\u043c \u0435\u0434\u0438\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0441 \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0435\u0439 \u043e\u0448\u0438\u0431\u043e\u043a, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u0436\u0443\u0440\u043d\u0430\u043b\u0430\u043c\u0438. \u042d\u0442\u0438 \u0436\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c\u0438 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":89039,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-89038","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441\u0442\u0430\u043b \u0432\u0435\u0441\u044c\u043c\u0430 \u0432\u0430\u0436\u043d\u044b\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/logirovanie-v-kubernetes-efk-protiv-plg\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Kubernetes: EFK \u043f\u0440\u043e\u0442\u0438\u0432 PLG | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441\u0442\u0430\u043b \u0432\u0435\u0441\u044c\u043c\u0430 \u0432\u0430\u0436\u043d\u044b\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/logirovanie-v-kubernetes-efk-protiv-plg\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-17T17:42:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-17T17:42:30+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Logovanie v Kubernetes: EFK proti PLG | ProHoster","description":"Monitoring sa stal ve\u013emi d\u00f4le\u017eitou s\u00fa\u010das\u0165ou.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/logirovanie-v-kubernetes-efk-protiv-plg","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Kubernetes: EFK \u043f\u0440\u043e\u0442\u0438\u0432 PLG | ProHoster","og:description":"\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u0441\u0442\u0430\u043b \u0432\u0435\u0441\u044c\u043c\u0430 \u0432\u0430\u0436\u043d\u044b\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u043c.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/logirovanie-v-kubernetes-efk-protiv-plg","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-17T17:42:30+00:00","article:modified_time":"2020-07-17T17:42:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"89038","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 13:17:22","updated":"2022-09-28 02:02:56","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/89038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=89038"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/89038\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/89039"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=89038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=89038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=89038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}