{"id":56206,"date":"2020-02-07T00:00:00","date_gmt":"2020-02-06T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/loki-sbor-logov-ispolzuya-podhod-prometheus"},"modified":"2021-02-01T11:41:00","modified_gmt":"2021-02-01T09:41:00","slug":"loki-sbor-logov-ispolzuya-podhod-prometheus","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus","title":{"rendered":"Loki \u2014 loggy\u0171jt\u00e9s a Prometheus megk\u00f6zel\u00edt\u00e9s\u00e9vel","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>\u00dcdv\u00f6zlet, Habr lak\u00f3i! Az \u00faj kurzusra val\u00f3 felv\u00e9tel el\u0151tt <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/P37L\/\">az \u00faj ford\u00edt\u00e1st osztjuk meg veletek. Induljunk.<\/a><\/noindex> \u00e9rdekes anyag ford\u00edt\u00e1s\u00e1t k\u00e9sz\u00edtett\u00fck el nektek.<\/i><\/p>\n<p>Ez a cikk egy r\u00f6vid bevezet\u00e9st ny\u00fajt a Lokiba. A Loki projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/oss\/loki\/\">t\u00e1mogatva van a Grafana \u00e1ltal<\/a><\/noindex> \u00e9s c\u00e9lja a napl\u00f3k k\u00f6zpontos\u00edtott gy\u0171jt\u00e9se (szerverekr\u0151l vagy kont\u00e9nerekr\u0151l).<\/p>\n<p>A Loki f\u0151 inspir\u00e1ci\u00f3s forr\u00e1sa <noindex><a rel=\"nofollow\" href=\"http:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex> az \u00f6tlet volt, hogy alkalmazza megk\u00f6zel\u00edt\u00e9seit a napl\u00f3k kezel\u00e9s\u00e9re:<\/p>\n<ul>\n<li>c\u00edmk\u00e9k (labels) haszn\u00e1lata az adatok t\u00e1rol\u00e1s\u00e1ra<\/li>\n<li>kis er\u0151forr\u00e1s-felhaszn\u00e1l\u00e1s<\/li>\n<\/ul>\n<p>M\u00e9g visszat\u00e9r\u00fcnk a Prometheus m\u0171k\u00f6d\u00e9si elveire, \u00e9s n\u00e9h\u00e1ny p\u00e9ld\u00e1t hozunk fel annak haszn\u00e1lat\u00e1r\u00f3l a Kubernetes kontextus\u00e1ban.<\/p>\n<h3>N\u00e9h\u00e1ny sz\u00f3 a Prometheusr\u00f3l<\/h3>\n<p>Ahhoz, hogy teljesen meg\u00e9rts\u00fck, hogyan m\u0171k\u00f6dik a Loki, fontos egy l\u00e9p\u00e9st h\u00e1tra l\u00e9pni, \u00e9s kicsit visszaeml\u00e9kezni a Prometheuszra.<\/p>\n<p>A Prometheus egy megk\u00fcl\u00f6nb\u00f6ztet\u0151 jellemz\u0151je, hogy metrik\u00e1kat nyer ki a gy\u0171jt\u00e9si pontokb\u00f3l (exporterek seg\u00edts\u00e9g\u00e9vel), \u00e9s azokat TSDB-be (Time Series Data Base, id\u0151beli adatsorok adatb\u00e1zisa) menti, mik\u00f6zben metaadatokat ad hozz\u00e1 c\u00edmk\u00e9k form\u00e1j\u00e1ban.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Mi\u00e9rt van sz\u00fcks\u00e9g erre<\/h3>\n<p>Az ut\u00f3bbi id\u0151ben a Prometheus de facto standard lett a kont\u00e9nerek \u00e9s a Kubernetes vil\u00e1g\u00e1ban: telep\u00edt\u00e9se nagyon egyszer\u0171, \u00e9s a Kubernetes klaszterben alap\u00e9rtelmez\u00e9s szerint el\u00e9rhet\u0151 egy v\u00e9gpont a Prometheus sz\u00e1m\u00e1ra. A Prometheus a kont\u00e9nerben fut\u00f3 alkalmaz\u00e1sok metrik\u00e1it is ki tudja nyerni, mik\u00f6zben bizonyos c\u00edmk\u00e9ket megtart. Ez\u00e9rt az alkalmaz\u00e1sok monitoroz\u00e1sa nagyon egyszer\u0171en megval\u00f3s\u00edthat\u00f3.<\/p>\n<p>Sajnos a napl\u00f3k kezel\u00e9s\u00e9re a mai napig nincs \u201ekulcsrak\u00e9sz\u201d megold\u00e1s, \u00e9s neked kell megtal\u00e1lnod a megold\u00e1st:<\/p>\n<ul>\n<li>fel\u00fcgyelt felh\u0151szolg\u00e1ltat\u00e1s a napl\u00f3k k\u00f6zpontos\u00edt\u00e1s\u00e1ra (AWS, Azure vagy Google)<\/li>\n<li>monitoroz\u00e1si szolg\u00e1ltat\u00e1s \"monitoroz\u00e1s mint szolg\u00e1ltat\u00e1s\" (monitoring as a service) (p\u00e9ld\u00e1ul Datadog)<\/li>\n<li>saj\u00e1t napl\u00f3k gy\u0171jt\u00e9s\u00e9re szolg\u00e1l\u00f3 szolg\u00e1ltat\u00e1s l\u00e9trehoz\u00e1sa.<\/li>\n<\/ul>\n<p>A harmadik opci\u00f3hoz hagyom\u00e1nyosan az Elasticsearch-t haszn\u00e1ltam, annak ellen\u00e9re, hogy nem mindig voltam el\u00e9gedett vele (k\u00fcl\u00f6n\u00f6sen a neh\u00e9zs\u00e9ge \u00e9s a be\u00e1ll\u00edt\u00e1s bonyolults\u00e1ga miatt).<\/p>\n<p>A Lokit azzal a c\u00e9llal tervezt\u00e9k, hogy egyszer\u0171s\u00edtse a megval\u00f3s\u00edt\u00e1st az al\u00e1bbi elvek figyelembev\u00e9tel\u00e9vel:<\/p>\n<ul>\n<li>k\u00f6nnyen ind\u00edthat\u00f3 legyen<\/li>\n<li>kev\u00e9s er\u0151forr\u00e1st haszn\u00e1ljon<\/li>\n<li>\u00f6n\u00e1ll\u00f3an m\u0171k\u00f6dj\u00f6n, k\u00fcl\u00f6n\u00f6sebb karbantart\u00e1s n\u00e9lk\u00fcl<\/li>\n<li>kieg\u00e9sz\u00edt\u0151 legyen a Prometheus sz\u00e1m\u00e1ra a hib\u00e1k kivizsg\u00e1l\u00e1s\u00e1ban<\/li>\n<\/ul>\n<p>Ez a egyszer\u0171s\u00e9g azonban kompromisszumba ker\u00fcl. Az egyik az, hogy nem indexelj\u00fck a tartalmat. Ez\u00e9rt a sz\u00f6vegyi keres\u00e9s nem t\u00fal hat\u00e9kony vagy gazdag, \u00e9s nem teszi lehet\u0151v\u00e9 a sz\u00f6vegtartalom statisztikai elemz\u00e9s\u00e9t. Mivel a Loki a grep megfelel\u0151je \u00e9s a Prometheus kieg\u00e9sz\u00edt\u00e9se akar lenni, ez nem tekinthet\u0151 h\u00e1tr\u00e1nynak.<\/p>\n<h3>Incidensnyomoz\u00e1s<\/h3>\n<p>Ahhoz, hogy jobban meg\u00e9rts\u00fck, mi\u00e9rt nincs sz\u00fcks\u00e9g index\u00e1l\u00e1sra a Loki eset\u00e9ben, t\u00e9rj\u00fcnk vissza a Loki fejleszt\u0151i \u00e1ltal haszn\u00e1lt incidensnyomoz\u00e1si m\u00f3dszerhez:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 loggy\u0171jt\u00e9s a Prometheus megk\u00f6zel\u00edt\u00e9s\u00e9vel\" src=\"\/wp-content\/uploads\/2020\/02\/2f9ba72d68ccafbe44ab1700d08e3a33.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>1 Figyelmeztet\u00e9s \u2192 2 M\u0171szerfal \u2192 3 Ad-hoc lek\u00e9rdez\u00e9s \u2192 4 Napl\u00f3agglom\u00e1l\u00e1s \u2192 5 Elosztott nyomk\u00f6vet\u00e9s \u2192 6 Jav\u00edt\u00e1s!<br \/>\n(1 Figyelmeztet\u00e9s \u2192 2 M\u0171szerfal \u2192 3 Ad-hoc lek\u00e9rdez\u00e9s \u2192 4 Napl\u00f3gy\u0171jt\u00e9s \u2192 5 Elosztott nyomk\u00f6vet\u00e9s \u2192 6 Jav\u00edtjuk!)<\/i><\/p>\n<p>Az \u00f6tlet az, hogy kapunk egy figyelmeztet\u00e9st (Slack \u00e9rtes\u00edt\u00e9s, SMS stb.), \u00e9s ezt k\u00f6vet\u0151en:<\/p>\n<ul>\n<li>megtekintj\u00fck a Grafana m\u0171szerfalakat<\/li>\n<li>megn\u00e9zz\u00fck a szolg\u00e1ltat\u00e1sok metrik\u00e1it (p\u00e9ld\u00e1ul a Prometheusban)<\/li>\n<li>\u00e1ttekintj\u00fck a napl\u00f3bejegyz\u00e9seket (p\u00e9ld\u00e1ul az Elasticsearchban)<\/li>\n<li>esetleg r\u00e1n\u00e9z\u00fcnk az elosztott nyomk\u00f6vet\u00e9sekre (Jaeger, Zipkin stb.)<\/li>\n<li>\u00e9s v\u00e9g\u00fcl kijav\u00edtjuk az eredeti probl\u00e9m\u00e1t.<\/li>\n<\/ul>\n<p>Ebben az esetben a Grafana + Prometheus + Elasticsearch + Zipkin alkalmaz\u00e1s\u00e1val n\u00e9gy k\u00fcl\u00f6nb\u00f6z\u0151 eszk\u00f6zt kell haszn\u00e1lnunk. Az id\u0151 ler\u00f6vid\u00edt\u00e9se \u00e9rdek\u00e9ben j\u00f3 lenne, ha lehet\u0151s\u00e9g lenne ezeket a l\u00e9p\u00e9seket egyetlen eszk\u00f6z, a Grafana seg\u00edts\u00e9g\u00e9vel v\u00e9grehajtani. \u00c9rdemes megjegyezni, hogy ez a kutat\u00e1si m\u00f3dszer a Grafana 6. verzi\u00f3j\u00e1t\u00f3l kezd\u0151d\u0151en implement\u00e1lva van. \u00cdgy lehet\u0151s\u00e9g ny\u00edlik, hogy k\u00f6zvetlen\u00fcl a Grafana-b\u00f3l h\u00edvjuk el\u0151 a Prometheus adatait.<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 loggy\u0171jt\u00e9s a Prometheus megk\u00f6zel\u00edt\u00e9s\u00e9vel\" src=\"\/wp-content\/uploads\/2020\/02\/eefc5a599a23abeb0624f4e3265a31e6.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Az Explorer k\u00e9perny\u0151 el van osztva a Prometheus \u00e9s a Loki k\u00f6z\u00f6tt<\/i><\/p>\n<p>Ezen a k\u00e9perny\u0151n meg lehet n\u00e9zni a Loki-ban tal\u00e1lhat\u00f3 napl\u00f3kat, amelyek a Prometheus metrik\u00e1ihoz kapcsol\u00f3dnak, a k\u00e9perny\u0151megoszt\u00e1s koncepci\u00f3j\u00e1nak felhaszn\u00e1l\u00e1s\u00e1val. A 6.5-\u00f6s verzi\u00f3t\u00f3l kezd\u0151d\u0151en a Grafana k\u00e9pes kezelni a nyomk\u00f6vet\u00e9si azonos\u00edt\u00f3t (trace id) a Loki napl\u00f3bejegyz\u00e9seiben, hogy hivatkoz\u00e1ss\u00e1 v\u00e1ljanak a kedvenc elosztott nyomk\u00f6vet\u0151 eszk\u00f6zeidhez (Jaeger).<\/p>\n<h3>Loki helyi tesztel\u00e9se<\/h3>\n<p>A Loki helyi tesztel\u00e9s\u00e9nek legegyszer\u0171bb m\u00f3dja a docker-compose haszn\u00e1lata. A docker-compose f\u00e1jl el\u00e9rhet\u0151 a Loki t\u00e1rol\u00f3j\u00e1ban. A t\u00e1rol\u00f3t az al\u00e1bbi parancs seg\u00edts\u00e9g\u00e9vel lehet megszerezni <code>git<\/code>:<\/p>\n<pre><code class=\"go\">$ git clone https:\/\/github.com\/grafana\/loki.git<\/code><\/pre>\n<p>Ezut\u00e1n a production mapp\u00e1ba kell l\u00e9pni:<\/p>\n<pre><code class=\"go\">$ cd production<\/code><\/pre>\n<p>Ezut\u00e1n a legfrissebb Docker k\u00e9pek el\u00e9rhet\u0151k:<\/p>\n<pre><code class=\"go\">$ docker-compose pull<\/code><\/pre>\n<p>V\u00e9g\u00fcl a Loki stack a k\u00f6vetkez\u0151 parancsot haszn\u00e1lva ind\u00edthat\u00f3 el:<\/p>\n<pre><code class=\"go\">$ docker-compose up<\/code><\/pre>\n<h3>Loki architekt\u00fara<\/h3>\n<p>\u00cdme egy kis diagram a Loki architekt\u00far\u00e1j\u00e1r\u00f3l:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 loggy\u0171jt\u00e9s a Prometheus megk\u00f6zel\u00edt\u00e9s\u00e9vel\" src=\"\/wp-content\/uploads\/2020\/02\/fc5703bcebc1391e719640e99544f909.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>A Loki architekt\u00fara alapelvei<\/i><\/p>\n<p>A webkliens alkalmaz\u00e1sokat ind\u00edt a szerveren, a Promtail \u00f6sszegy\u0171jti a napl\u00f3kat, \u00e9s elk\u00fcldi azokat a Loki-nak, a webkliens emellett metaadatokat is k\u00fcld a Loki-nak. A Loki mindent aggreg\u00e1l, \u00e9s \u00e1tadja a Grafana-nak.<br \/>\nA Loki elindult. A megl\u00e9v\u0151 komponensek megtekint\u00e9s\u00e9hez futtassa a k\u00f6vetkez\u0151 parancsot:<\/p>\n<pre><code class=\"go\">$ docker ps<\/code><\/pre>\n<p>Frissen telep\u00edtett Docker eset\u00e9n a parancsnak a k\u00f6vetkez\u0151 eredm\u00e9nyt kell adnia:<\/p>\n<pre><code class=\"go\">IMAGE               PORTS                  NAMES\ngrafana\/promtail:                          production_promtail_1\ngrafana\/grafana: m  0.0.0.0:3000-&gt;3000\/tcp production_grafana_1\ngrafana\/loki: late  80\/tcp,0.0.0.0:3100... production_loki_1<\/code><\/pre>\n<p>A k\u00f6vetkez\u0151 komponenseket l\u00e1tjuk:<\/p>\n<ul>\n<li>Promtail: \u00fcgyn\u00f6k, amely a napl\u00f3k k\u00f6zpontos\u00edt\u00e1s\u00e1\u00e9rt felel\u0151s<\/li>\n<li>Grafana: ismert eszk\u00f6z a m\u0171szerfalakhoz<\/li>\n<li>Loki: az adatok k\u00f6zpontos\u00edt\u00e1s\u00e1nak d\u00e9monja<\/li>\n<\/ul>\n<p>A klasszikus infrastrukt\u00fara keretein bel\u00fcl (p\u00e9ld\u00e1ul virtu\u00e1lis g\u00e9pek alapjain) minden g\u00e9pen telep\u00edteni kell a Promtail \u00fcgyn\u00f6k\u00f6t. A Grafana \u00e9s a Loki egy g\u00e9pen is telep\u00edthet\u0151.<\/p>\n<h3>Telep\u00edt\u00e9s Kubernetesben<\/h3>\n<p>A Loki komponenseinek telep\u00edt\u00e9se Kubernetesben a k\u00f6vetkez\u0151kb\u0151l fog \u00e1llni:<\/p>\n<ul>\n<li>daemonSet a Promtail \u00fcgyn\u00f6k telep\u00edt\u00e9s\u00e9hez a klaszter g\u00e9pein<\/li>\n<li>a Loki telep\u00edt\u00e9se (Deployment)<\/li>\n<li>\u00e9s v\u00e9g\u00fcl a Grafana telep\u00edt\u00e9se.<\/li>\n<\/ul>\n<p>A szerencs\u00e9nkre a Loki Helm csomagk\u00e9nt el\u00e9rhet\u0151, ami megk\u00f6nny\u00edti a telep\u00edt\u00e9s\u00e9t.<\/p>\n<h3>Telep\u00edt\u00e9s Helm seg\u00edts\u00e9g\u00e9vel<\/h3>\n<p>A Helm m\u00e1r legyen telep\u00edtve a rendszeren. A projekt GitHub t\u00e1rh\u00e1z\u00e1b\u00f3l let\u00f6lthet\u0151. A telep\u00edt\u00e9se az architekt\u00far\u00e1hoz megfelel\u0151 arch\u00edvum kib\u0151v\u00edt\u00e9s\u00e9vel \u00e9s a helm hozz\u00e1ad\u00e1s\u00e1val t\u00f6rt\u00e9nik <code>$PATH<\/code>.<\/p>\n<blockquote><p><i><b>Megjegyz\u00e9s:<\/b> A 3.0.0 verzi\u00f3j\u00fa Helm nemr\u00e9giben ker\u00fclt kiad\u00e1sra. Mivel sok v\u00e1ltoz\u00e1s t\u00f6rt\u00e9nt benne, aj\u00e1nlott v\u00e1rni egy kicsit a haszn\u00e1latba v\u00e9tel\u00e9vel kapcsolatban.<\/i>.<\/p><\/blockquote>\n<h3>Forr\u00e1s hozz\u00e1ad\u00e1sa a Helmhez<\/h3>\n<p>Az els\u0151 l\u00e9p\u00e9s a \"loki\" rep\u00f3 hozz\u00e1ad\u00e1sa a k\u00f6vetkez\u0151 paranccsal:<\/p>\n<pre><code class=\"go\">$ helm add loki https:\/\/grafana.github.io\/loki\/charts<\/code><\/pre>\n<p>Ezt k\u00f6vet\u0151en keresheti a \"loki\" nev\u0171 csomagokat:<\/p>\n<pre><code class=\"go\">$ helm search loki<\/code><\/pre>\n<p>Eredm\u00e9ny:<\/p>\n<pre><code class=\"go\">loki\/loki       0.17.2 v0.4.0 Loki: mint a Prometheus, de napl\u00f3khoz.\nloki\/loki-stack 0.19.1 v0.4.0 Loki: mint a Prometheus, de napl\u00f3khoz.\nloki\/fluent-bit 0.0.2  v0.0.1 Fluent-bit Loki go plugint haszn\u00e1l...\nloki\/promtail   0.13.1 v0.4.0 Felel\u0151s a napl\u00f3k \u00f6sszegy\u0171jt\u00e9s\u00e9\u00e9rt \u00e9s...<\/code><\/pre>\n<p>Ezeknek a csomagoknak a k\u00f6vetkez\u0151 funkci\u00f3ik vannak:<\/p>\n<ul>\n<li>csomag <b>loki\/loki<\/b> csak a Loki szervernek felel meg<\/li>\n<li>csomag <b>loki\/fluent-bit<\/b> lehet\u0151v\u00e9 teszi a DaemonSet telep\u00edt\u00e9s\u00e9t, a Promtail helyett fluent-bit haszn\u00e1lat\u00e1val a napl\u00f3k \u00f6sszegy\u0171jt\u00e9s\u00e9re<\/li>\n<li>csomag <b>loki\/promtail<\/b> tartalmazza a napl\u00f3n alapul\u00f3 \u00fcgyn\u00f6k\u00f6t<\/li>\n<li>csomag <b>loki\/loki-stack<\/b>, lehet\u0151v\u00e9 teszi a Loki \u00e9s a Promtail egy\u00fcttes telep\u00edt\u00e9s\u00e9t.<\/li>\n<\/ul>\n<h3>Loki telep\u00edt\u00e9se<\/h3>\n<p>A Loki Kubernetesben t\u00f6rt\u00e9n\u0151 telep\u00edt\u00e9s\u00e9hez futtassa a k\u00f6vetkez\u0151 parancsot a \"monitoring\" n\u00e9vt\u00e9rben:<\/p>\n<pre><code class=\"go\">$ helm upgrade --install loki loki\/loki-stack --namespace monitoring<\/code><\/pre>\n<p>A lemezre val\u00f3 ment\u00e9shez adja hozz\u00e1 a param\u00e9tert <code>--set loki.persistence.enabled = true:<\/code><\/p>\n<pre><code class=\"go\">$ helm upgrade --install loki loki\/loki-stack \n              --namespace monitoring \n              --set loki.persistence.enabled=true<\/code><\/pre>\n<blockquote><p><i><b>Megjegyz\u00e9s:<\/b> ha egyszerre szeretn\u00e9 telep\u00edteni a Grafan\u00e1t, adja hozz\u00e1 a param\u00e9tert <code>--set grafana.enabled = true<\/code><\/i><\/p><\/blockquote>\n<p>A parancs futtat\u00e1sa ut\u00e1n a k\u00f6vetkez\u0151 kimenetet kell kapnia:<\/p>\n<pre><code class=\"go\">UTOLS&Oacute; TELEP&Iacute;T&Eacute;S: 2019. nov. 19., kedd 15:56:54\nN&Eacute;VTER: monitoring\n&Aacute;LLAPOT: TELEP&Iacute;TVE\nER\u0150FORR&Aacute;SOK:\n==&amp;gt; v1\/ClusterRole\nN&Eacute;V KOR\nloki-promtail-clusterrole 189nap\n&hellip;\nMEGJEGYZ&Eacute;SEK:\nA Loki stack telep&iacute;tve lett a klaszter&eacute;re. A Loki most hozz&aacute;adhat&oacute; forr&aacute;sk&eacute;nt a Grafan&aacute;hoz.\nL&aacute;sd &lt;a href=&quot;http:\/\/docs.grafana.org\/features\/datasources\/loki\/&quot;&gt;http:\/\/docs.grafana.org\/features\/datasources\/loki\/&lt;\/a&gt; tov&aacute;bbi r&eacute;szletek&eacute;rt.<\/code><\/pre>\n<p>A \u201emonitoring\u201d n\u00e9vt\u00e9rben a podok \u00e1llapot\u00e1nak megtekint\u00e9s\u00e9vel l\u00e1thatjuk, hogy minden telep\u00edtve van:<\/p>\n<pre><code class=\"go\">$ kubectl -n monitoring get pods -l release=loki<\/code><\/pre>\n<p>Eredm\u00e9ny:<\/p>\n<pre><code class=\"go\">N\u00c9V                   K\u00c9SZ   \u00c1LLAPOT  \u00daJRAT\u00d6LT\u00c9S  \u00c9LETKOR\nloki-0                 1\/1    Futtat\u00e1s  0           147m\nloki-promtail-9zjvc   1\/1    Futtat\u00e1s  0           3h25m\nloki-promtail-f6brf    1\/1    Futtat\u00e1s  0           11h\nloki-promtail-hdcj7   1\/1    Futtat\u00e1s  0           3h23m\nloki-promtail-jbqhc   1\/1    Futtat\u00e1s  0           11h\nloki-promtail-mj642   1\/1    Futtat\u00e1s  0           62m\nloki-promtail-nm64g   1\/1    Futtat\u00e1s  0           24m<\/code><\/pre>\n<p>Minden pod fut. Most itt az id\u0151 n\u00e9h\u00e1ny teszt elv\u00e9gz\u00e9s\u00e9re!<\/p>\n<h3>Kapcsol\u00f3d\u00e1s a Grafan\u00e1hoz<\/h3>\n<p>A Kubernetes alatt a Grafan\u00e1hoz val\u00f3 kapcsol\u00f3d\u00e1shoz alagutat kell l\u00e9trehozni a podj\u00e1hoz. Az al\u00e1bbi parancs nyitja meg a 3000-es portot a Grafana podhoz:<\/p>\n<pre><code class=\"go\">$ kubectl -n port-forward monitoring svc\/loki-grafana 3000:80<\/code><\/pre>\n<p>Egy m\u00e1sik fontos dolog a Grafana adminisztr\u00e1tor jelszav\u00e1nak helyre\u00e1ll\u00edt\u00e1sa. A jelsz\u00f3 a titkos f\u00e1jlban t\u00e1rol\u00f3dik <code>loki-grafana<\/code> a mez\u0151ben <code>.data.admin-user<\/code> base64 form\u00e1tumban.<\/p>\n<p>A helyre\u00e1ll\u00edt\u00e1shoz hajtsa v\u00e9gre az al\u00e1bbi parancsot:<\/p>\n<pre><code class=\"go\">$ kubectl -n monitoring get secret loki-grafana \n --template '{{index .data \"admin-password\" | base64decode}}'; echo<\/code><\/pre>\n<p>Haszn\u00e1lja ezt a jelsz\u00f3t az alap\u00e9rtelmezett adminisztr\u00e1tori fi\u00f3kkal (admin).<\/p>\n<h3>Forr\u00e1s defini\u00e1l\u00e1sa a Loki adatforr\u00e1shoz a Grafan\u00e1ban<\/h3>\n<p>Els\u0151sorban gy\u0151z\u0151dj\u00f6n meg r\u00f3la, hogy a Loki adatforr\u00e1s l\u00e9trej\u00f6tt (Be\u00e1ll\u00edt\u00e1sok \/ Adatforr\u00e1s).<br \/>\nEz egy p\u00e9lda:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 loggy\u0171jt\u00e9s a Prometheus megk\u00f6zel\u00edt\u00e9s\u00e9vel\" src=\"\/wp-content\/uploads\/2020\/02\/3b670a4b1a8b4db74b1e1f525fd03129.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>P\u00e9lda adatforr\u00e1s be\u00e1ll\u00edt\u00e1s\u00e1ra a Lokihoz<\/i><\/p>\n<p>A 'Teszt' gombra kattintva ellen\u0151rizheti a kapcsolatot a Lokival.<\/p>\n<h3>Lek\u00e9rdez\u00e9sek a Lokihoz<\/h3>\n<p>Most t\u00e9rjen \u00e1t a Grafan\u00e1ba az 'Explore' r\u00e9szlegbe. A Loki a kont\u00e9nerekb\u0151l \u00e9rkez\u0151 napl\u00f3kn\u00e1l metainform\u00e1ci\u00f3kat ad hozz\u00e1 a Kubernetesb\u0151l. \u00cdgy lehet\u0151v\u00e9 v\u00e1lik a konkr\u00e9t kont\u00e9ner napl\u00f3inak megtekint\u00e9se.<\/p>\n<p>P\u00e9ld\u00e1ul a promtail kont\u00e9ner napl\u00f3inak lek\u00e9rdez\u00e9s\u00e9hez haszn\u00e1lhatja a k\u00f6vetkez\u0151 lek\u00e9rdez\u00e9st: <code>{container_name = \"promtail\"}<\/code>.<br \/>\nNe felejtse el itt is kiv\u00e1lasztani a Loki adatforr\u00e1st.<\/p>\n<p>Ez a lek\u00e9rdez\u00e9s a kont\u00e9nerek aktivit\u00e1s\u00e1t az al\u00e1bbi form\u00e1ban adja vissza:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 loggy\u0171jt\u00e9s a Prometheus megk\u00f6zel\u00edt\u00e9s\u00e9vel\" src=\"\/wp-content\/uploads\/2020\/02\/ed2baebd374b9a6242cfc397776fa65f.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>A lek\u00e9rdez\u00e9s eredm\u00e9nye a Grafan\u00e1ban <\/i><\/p>\n<h3>Hozz\u00e1ad\u00e1s a m\u0171szerfalhoz<\/h3>\n<p>A Grafana 6.4-t\u0151l kezdve a napl\u00f3inform\u00e1ci\u00f3kat k\u00f6zvetlen\u00fcl a m\u0171szerfalra lehet helyezni. Ezt k\u00f6vet\u0151en a felhaszn\u00e1l\u00f3 gyorsan \u00e1tkapcsolhat az alkalmaz\u00e1s nyom\u00e1sait\u00f3l a webhely\u00e9n tett lek\u00e9rdez\u00e9sek mennyis\u00e9g\u00e9re.<\/p>\n<p>\u00cdme egy p\u00e9lda a m\u0171szerfalra, amely ezt az interakci\u00f3t megval\u00f3s\u00edtja:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 loggy\u0171jt\u00e9s a Prometheus megk\u00f6zel\u00edt\u00e9s\u00e9vel\" src=\"\/wp-content\/uploads\/2020\/02\/d76c5345d543579eb3768fcdb0a2567b.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>P\u00e9lda a Prometheus metrik\u00e1kkal \u00e9s Loki napl\u00f3kkal rendelkez\u0151 m\u0171szerfalra<\/i><\/p>\n<h3>Loki j\u00f6v\u0151je<\/h3>\n<p>M\u00e1jusban\/j\u00faniusban kezdtem el haszn\u00e1lni a Loki-t a 0.1-es verzi\u00f3val. Ma m\u00e1r a 1-es verzi\u00f3 is megjelent, s\u0151t a 1.1 \u00e9s 1.2 is.<\/p>\n<p>El kell ismerni, hogy a 0.1-es verzi\u00f3 nem volt el\u00e9g stabil. De a 0.3 m\u00e1r igazi \u00e9retts\u00e9gi jeleit mutatta, a k\u00f6vetkez\u0151 verzi\u00f3k (0.4, majd 1.0) csak er\u0151s\u00edtett\u00e9k ezt a benyom\u00e1st.<\/p>\n<p>Az 1.0.0 ut\u00e1n m\u00e1r senkinek sem lehet kifog\u00e1sa, hogy ne haszn\u00e1lja ezt a csod\u00e1latos eszk\u00f6zt.<\/p>\n<p>A tov\u00e1bbi fejleszt\u00e9sek ink\u00e1bb nem a Loki-ra, hanem a kiv\u00e1l\u00f3 Grafana integr\u00e1ci\u00f3j\u00e1ra kell, hogy vonatkozzanak. Val\u00f3j\u00e1ban a Grafana 6.4-ben m\u00e1r j\u00f3l m\u0171k\u00f6d\u0151 integr\u00e1ci\u00f3 van a m\u0171szerfalakkal.<\/p>\n<p>A nemr\u00e9giben kiadott Grafana 6.5 m\u00e9g ink\u00e1bb jav\u00edtja ezt az integr\u00e1ci\u00f3t, automatikusan felismerve a JSON form\u00e1tum\u00fa napl\u00f3k tartalm\u00e1t.<\/p>\n<p>Az al\u00e1bbi vide\u00f3ban egy kis p\u00e9ld\u00e1t mutatunk be err\u0151l a mechanizmusr\u00f3l:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 loggy\u0171jt\u00e9s a Prometheus megk\u00f6zel\u00edt\u00e9s\u00e9vel\" src=\"\/wp-content\/uploads\/2020\/02\/1e0a5269f21e401f349a35788672aec1.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Loki sorok haszn\u00e1lata a Grafa\u00e1ban<\/i><\/p>\n<p>Lehet\u0151v\u00e9 v\u00e1lik az egyik JSON mez\u0151 haszn\u00e1lata, p\u00e9ld\u00e1ul:<\/p>\n<ul>\n<li>hivatkoz\u00e1s egy k\u00fcls\u0151 eszk\u00f6zre<\/li>\n<li>napl\u00f3tartalom sz\u0171r\u00e9se<\/li>\n<\/ul>\n<p>P\u00e9ld\u00e1ul r\u00e1kattinthat a traceId-re, hogy \u00e1tl\u00e9pjen a Zipkin vagy a Jaeger oldal\u00e1ra.<\/p>\n<p>Hagyom\u00e1nyosan v\u00e1rjuk a megjegyz\u00e9seiket \u00e9s megh\u00edvunk a <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/P37L\/\">ny\u00edlt webin\u00e1riumra<\/a><\/noindex>, ahol a 2019-es DevOps ipar\u00e1g fejl\u0151d\u00e9s\u00e9r\u0151l fogunk besz\u00e9lgetni \u00e9s megvitatjuk a 2020-as fejl\u0151d\u00e9si ir\u00e1nyokat.<\/p>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/487118\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0430\u043b\u044e\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435! \u0412 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0440\u0442\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u043d\u0430 \u043a\u0443\u0440\u0441 \u00abDevOps \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b\u00bb \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u0434\u043b\u044f \u0432\u0430\u0441 \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u2014 \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u0432\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 Loki. \u041f\u0440\u043e\u0435\u043a\u0442 Loki \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f Grafana \u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u0431\u043e\u0440 \u043b\u043e\u0433\u043e\u0432 (\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432). \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u043c \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u0434\u043b\u044f Loki \u0431\u044b\u043b Prometheus \u0441 \u0438\u0434\u0435\u0435\u0439 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0435\u0433\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u043e\u0432 \u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043b\u043e\u0433\u0430\u043c\u0438: [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-56206","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u0430\u043b\u044e\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435!\" \/>\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\/hu\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\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\udd47Loki \u2014 \u0441\u0431\u043e\u0440 \u043b\u043e\u0433\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0434\u0445\u043e\u0434 Prometheus | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0430\u043b\u044e\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus\" \/>\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-02-06T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-02-01T09:41:00+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\udd47Loki \u2014 napl\u00f3k gy\u0171jt\u00e9se a Prometheus megk\u00f6zel\u00edt\u00e9s\u00e9vel | ProHoster","description":"\u00dcdv\u00f6zlet, Habr-beli olvas\u00f3k!","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\udd47Loki \u2014 \u0441\u0431\u043e\u0440 \u043b\u043e\u0433\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u0434\u0445\u043e\u0434 Prometheus | ProHoster","og:description":"\u0421\u0430\u043b\u044e\u0442, \u0445\u0430\u0431\u0440\u043e\u0432\u0447\u0430\u043d\u0435!","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus","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-02-06T21:00:00+00:00","article:modified_time":"2021-02-01T09:41:00+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"56206","title":null,"description":"","keywords":"","keyphrases":null,"primary_term":null,"canonical_url":"","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 19:29:18","updated":"2022-09-28 02:03:48","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/56206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=56206"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/56206\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=56206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=56206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=56206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}