{"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\/sl\/blog\/administrirovanie\/logirovanie-v-kubernetes-efk-protiv-plg","title":{"rendered":"Logovanje u Kubernetes: EFK naspram PLG","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Logovanje u Kubernetes: EFK naspram PLG\" src=\"\/wp-content\/uploads\/2020\/07\/0b7076a32f4c9a830bf6b765055510cc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Monitoring has become a crucial component of growing cloud solutions with the increasing complexity of distributed systems. It is essential for understanding their behavior. Scalable tools are needed to collect data from all services \u2014 providing specialists with a unified interface for performance analysis, error demonstration, availability, and logs. <\/p>\n<p><\/p>\n<p>These tools must also be efficient and high-performing. In this article, we will explore two popular technology stacks: EFK (Elasticsearch) and PLG (Loki) and examine their architectures and differences.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"stek-efk\">EFK stack<\/h2>\n<p><\/p>\n<p>You may have heard of the very popular ELK or EFK. The stack consists of several separate components: Elasticsearch (object storage), Logstash or FluentD (log collection and aggregation), and Kibana for visualization.<\/p>\n<p><\/p>\n<p>A typical workflow diagram looks like this:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanje u Kubernetes: EFK naspram 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 a distributed object storage with real-time search and analytics. An excellent solution for semi-structured data, such as logs. Information is stored as JSON documents, indexed in real time, and distributed across the nodes of the cluster. An inverted index is used that contains all unique words and the related documents for full-text search, which in turn is based on the Apache Lucene search engine.<\/p>\n<p><\/p>\n<p><strong>FluentD<\/strong> \u2014 is a data collector that performs data unification during collection and consumption. It tries to structure data into JSON as much as possible. Its architecture is extensible, with over <noindex><a rel=\"nofollow\" href=\"https:\/\/www.fluentd.org\/plugins\/all\">hundreds of different extensions<\/a><\/noindex>, supported by the community, for all occasions.<\/p>\n<p><\/p>\n<p><strong>Kibana<\/strong> \u2014 a data visualization tool for Elasticsearch with various additional capabilities, such as time series analysis, graphs, machine learning, and more.<\/p>\n<p><\/p>\n<h3 id=\"arhitektura-elasticsearch\">Elasticsearch architecture<\/h3>\n<p><\/p>\n<p>Data in the Elasticsearch cluster is stored across all its nodes. The cluster consists of multiple nodes to improve availability and resilience. Any node can take on all cluster roles, but in large scalable deployments, nodes are typically assigned separate tasks.<\/p>\n<p><\/p>\n<p>Types of cluster nodes:<\/p>\n<p><\/p>\n<ul>\n<li>master node \u2014 manages the cluster, with a minimum of three nodes required, one of which is always active;<\/li>\n<li>data node \u2014 stores indexed data and performs various tasks with it;<\/li>\n<li>ingest node \u2014 organizira cevi za transformaciju podataka pre indeksacije;<\/li>\n<li>coordinating node \u2014 usmjeravanje upita, smanjenje faze obrade pretrage, koordinacija masovne indeksacije;<\/li>\n<li>alerting node \u2014 pokretanje zadataka za obavje\u0161tavanje;<\/li>\n<li>machine learning node \u2014 obrada zadataka ma\u0161inskog u\u010denja.<\/li>\n<\/ul>\n<p><\/p>\n<p>Na dijagramu ispod prikazano je kako se podaci \u010duvaju i repliciraju izme\u0111u \u010dvorova radi ve\u0107e dostupnosti podataka.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanje u Kubernetes: EFK naspram PLG\" src=\"\/wp-content\/uploads\/2020\/07\/b476660dc60aca34fbe421b8eaf0ee31.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Podaci svake replike se \u010duvaju u invertiranom indeksu, a dijagram ispod prikazuje kako to funkcioni\u0161e:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanje u Kubernetes: EFK naspram PLG\" src=\"\/wp-content\/uploads\/2020\/07\/0341c127742a5e8fe787f2076be0464f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3 id=\"ustanovka\">Namestitev<\/h3>\n<p><\/p>\n<p>Detalje mo\u017eete pogledati <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\">ovde<\/a><\/noindex>, koristi\u0107u 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>Ne treba se iznenaditi ako ne mo\u017eete prona\u0107i ovu akronim, jer je poznatiji kao Grafana Loki. U svakom slu\u010daju, ova pila dobija na popularnosti jer primenjuje proverena tehni\u010dka re\u0161enja. Mo\u017eda ste ve\u0107 \u010duli za Grafanu, popularni alat za vizualizaciju. Njeni tvorci, inspirisani Prometheusom, razvili su Loki, horizontalno skalabilni visoko-performantni sistem za agregaciju dnevnika. Loki indeksuje samo metapodatke, ali ne i same dnevnike, \u0161to mu omogu\u0107ava da bude jednostavan za kori\u0161\u0107enje i ekonomi\u010dan.<\/p>\n<p><\/p>\n<p><strong>Promtail<\/strong> \u2014 agent za slanje dnevnika iz operativnog sistema u Loki klaster. <strong>Grafana<\/strong> \u2014 vizualizacijski alat zasnovan na podacima iz Lokija.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanje u Kubernetes: EFK naspram PLG\" src=\"\/wp-content\/uploads\/2020\/07\/3cc613eacf013723d46e7d31ff166dac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Loki je izgra\u0111en na istim principima kao i Prometheus, tako da je dobro prilago\u0111en za \u010duvanje i analizu dnevnika Kubernetes-a.<\/p>\n<p><\/p>\n<h3 id=\"arhitektura-loki\">Arhitektura Lokija<\/h3>\n<p><\/p>\n<p>Loki se mo\u017ee pokrenuti kako u re\u017eimu jednog procesa, tako i u vidu vi\u0161e procesa, \u0161to osigurava horizontalno skaliranje.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanje u Kubernetes: EFK naspram PLG\" src=\"\/wp-content\/uploads\/2020\/07\/82679c9a38f6115d0c8f3911533fb9f6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Tako\u0111e mo\u017ee raditi kao monolitna aplikacija ili kao mikroservis. Pokretanje u re\u017eimu jednog procesa mo\u017ee biti korisno za lokalni razvoj ili sitno pra\u0107enje. Za industrijsku implementaciju i skalabilno optere\u0107enje, preporu\u010duje se kori\u0161\u0107enje mikroservisnog re\u0161enja. Putanje za upis i \u010ditanje podataka su odvojene, tako da se mo\u017ee dovoljno fino podesiti i skalirati po potrebi.<\/p>\n<p><\/p>\n<p>Pogledajmo arhitekturu sistema za prikupljanje dnevnika bez detalja:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanje u Kubernetes: EFK naspram PLG\" src=\"\/wp-content\/uploads\/2020\/07\/f66b90693295acb723b01aecfd7381dd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A ovde je opis (mikroservisna arhitektura):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanje u Kubernetes: EFK naspram PLG\" src=\"\/wp-content\/uploads\/2020\/07\/a2d74e86e75c4fb3ef39823ed2170517.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Komponente:<\/p>\n<p><\/p>\n<p><strong>Promtail<\/strong> \u2014 agent, installed on nodes (as a set of services), it collects logs from tasks and queries the Kubernetes API for the metadata that will label the logs. Then it sends the log to the main Loki service. The same labeling rules as in Prometheus are supported for matching metadata.<\/p>\n<p><\/p>\n<p><strong>Distributor<\/strong> \u2014 a service-distributor that acts as a buffer. To handle millions of records, it packages incoming data, compressing it in blocks as it arrives. Several data receivers work simultaneously, but logs belonging to a single stream of incoming data must reside in only one of them for all its blocks. This is organized as a ring of receivers and sequenced hashing. For fault tolerance and redundancy, this is done n times (3 if not configured).<\/p>\n<p><\/p>\n<p><strong>Ingester<\/strong> \u2014 a receiving service. Data blocks arrive compressed with added logs. Once a block reaches a sufficient size, the block is flushed to the database. Metadata goes to the index, while the log data from the block goes to Chunks (usually an object store). After flushing, the receiver creates a new block to which new records will be added.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanje u Kubernetes: EFK naspram 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 database, DynamoDB, Cassandra, Google BigTable, etc.<\/p>\n<p><\/p>\n<p><strong>Chunks<\/strong> \u2014 blocks of logs in compressed form, typically stored in an object store, for example, S3.<\/p>\n<p><\/p>\n<p><strong>Querier<\/strong> \u2014 the reading path that does all the heavy lifting. It examines the time range and labels, then looks up the index for matches. It then reads data blocks and filters them to get results.<\/p>\n<p><\/p>\n<p>And now let's see everything in action.<\/p>\n<p><\/p>\n<h3 id=\"ustanovka-1\">Namestitev<\/h3>\n<p><\/p>\n<p>To install in Kubernetes, it is easiest to use helm. We assume you have already installed and configured it (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/507656\/\">and the third version!<\/a><\/noindex> <em>translator's note<\/em>)<\/p>\n<p><\/p>\n<p>Add the repository and install the stack.<\/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>Below is an example dashboard showing data from Prometheus for Etcd metrics and Loki for Etcd pod logs.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Logovanje u Kubernetes: EFK naspram PLG\" src=\"\/wp-content\/uploads\/2020\/07\/36efc5b7abe7ad3c3f8869bd09a9e3e7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>And now let's discuss the architecture of both systems and compare their capabilities with each other.<\/p>\n<p><\/p>\n<h2 id=\"sravnenie\">Comparison<\/h2>\n<p><\/p>\n<h3 id=\"yazyk-zaprosov\">Query Language<\/h3>\n<p><\/p>\n<p>V Elasticsearch se uporablja Query DSL in jezik poizvedb Lucene, ki omogo\u010data polno besedilno iskanje. To je uveljavljen mo\u010dan iskalni motor z obse\u017eno podporo za operatorje. Z njegovo pomo\u010djo lahko i\u0161\u010dete po kontekstu in razvr\u0161\u010date po relevantnosti. <\/p>\n<p><\/p>\n<p>Na drugi strani ringa je LogQL, uporabljen v Loki, nasledniku PromQL (jezika poizvedb Prometheus). Uporablja oznake dnevnikov za filtriranje in vzor\u010denje podatkov dnevnikov. Obstaja mo\u017enost uporabe nekaterih operatorjev in aritmetike, kot je opisano <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/grafana\/loki\/blob\/master\/docs\/logql.md\">ovde<\/a><\/noindex>, vendar glede sposobnosti zaostaja za jezikom Elastic.<\/p>\n<p><\/p>\n<p>Ker so poizvedbe v Loki povezane z oznakami, jih je enostavno uskladiti z metri\u010dnimi podatki, kar omogo\u010da enostavnej\u0161e organiziranje operativnega monitoringa.<\/p>\n<p><\/p>\n<h3 id=\"masshtabiruemost\">\u0160irljivost<\/h3>\n<p><\/p>\n<p>Oba sklopa sta horizontalno skalirna, a je to pri Loki enostavneje, saj imata lo\u010dene poti za branje in pisanje podatkov ter mikrostoritev arhitekturo. Loki je mogo\u010de prilagoditi va\u0161im potrebam in ga je mogo\u010de uporabiti za zelo velike koli\u010dine podatkov dnevnikov.<\/p>\n<p><\/p>\n<h3 id=\"multiarendnost\">Ve\u010dnaj\u010dnost<\/h3>\n<p><\/p>\n<p>Ve\u010dnaj\u010dnost klasterja je splo\u0161na tema za zmanj\u0161anje OPEX, oba sklopa zagotavljata ve\u010dnaj\u010dnost. Za Elasticsearch obstaja ve\u010d <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/blog\/found-multi-tenancy\">na\u010dinov<\/a><\/noindex> lo\u010devanja strank: lo\u010den indeks za vsako stranko, usmerjanje na podlagi stranke, edinstvena polja stranke, iskalni filtri. V Loki je <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/grafana\/loki\/blob\/master\/docs\/operations\/multi-tenancy.md\">podpora<\/a><\/noindex> to oblikovano kot HTTP glava X-Scope-OrgID.<\/p>\n<p><\/p>\n<h3 id=\"stoimost\">Cena<\/h3>\n<p><\/p>\n<p>Loki je zelo u\u010dinkovita ekonomi\u010dna re\u0161itev, saj ne indeksira podatkov, temve\u010d le metapodatke. S tem dose\u017ee <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/blog\/2020\/02\/19\/how-loki-reduces-log-storage\/\">var\u010devanje s prostorom<\/a><\/noindex> in pomnilnikom (predpomnilnikom), saj je objektno shranjevanje cenej\u0161e od blokovnega, ki se uporablja v klasterjih Elasticsearch.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">Zaklju\u010dek<\/h2>\n<p><\/p>\n<p>Sklad EFK se lahko uporablja za razli\u010dne namene, kar zagotavlja najve\u010djo fleksibilnost in ve\u010dnamenski vmesnik Kibana za analitiko, vizualizacijo in poizvedbe. Dodatno ga je mogo\u010de izbolj\u0161ati z zmo\u017enostmi strojnega u\u010denja.<\/p>\n<p><\/p>\n<p>Sklad Loki je koristno orodje v ekosistemu Kubernetes zaradi mehanizma za odkrivanje metapodatkov. Enostavno je povezati podatke za monitoring na osnovi \u010dasovnih vrst v Grafani in dnevnikih.<\/p>\n<p><\/p>\n<p>Ko gre za stro\u0161ke in dolgotrajno shranjevanje dnevnikov, je Loki odli\u010dna izbira za vstop v obla\u010dne re\u0161itve.<\/p>\n<p><\/p>\n<p>Na trgu je ve\u010d alternativ - nekatere so lahko bolj\u0161e za vas. Na primer, za GKE obstaja integracija Stackdriver, ki ponuja odli\u010dno re\u0161itev za spremljanje. Teh nismo vklju\u010dili v na\u0161o analizo v tem \u010dlanku.<\/p>\n<p><\/p>\n<p>Linkovi:<\/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>\u010clanek je bil preveden in pripravljen za Habr s strani zaposlenih <noindex><a rel=\"nofollow\" href=\"http:\/\/to.slurm.io\/7x-vEQ\">izobra\u017eevalnega centra Sl\u00ebrm<\/a><\/noindex> \u2014 intenzivni te\u010daji, video te\u010daji in korporativno usposabljanje s praktiki (Kubernetes, DevOps, Docker, Ansible, Ceph, SRE, Agile)<\/em><\/p>\n<p>Izvor: <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\/sl\/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=\"sl_SI\" \/>\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\/sl\/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\udd47Dnevniki v Kubernetesu: EFK proti PLG | ProHoster","description":"Spremljanje je postalo zelo pomembna komponenta.","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/administrirovanie\/logirovanie-v-kubernetes-efk-protiv-plg","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","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\/sl\/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\/sl\/wp-json\/wp\/v2\/posts\/89038","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=89038"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/89038\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/89039"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=89038"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=89038"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=89038"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}