{"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\/lv\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus","title":{"rendered":"Loki \u2014 \u017eurn\u0101lu v\u0101k\u0161ana, izmantojot Prometheus pieeju","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Sveiki, h\u0101bri! Pirms jaun\u0101 kursa uzs\u0101k\u0161anas m\u0113s esam sagatavoju\u0161i jums interesanta materi\u0101la tulkojumu. <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/P37L\/\">\u00abDevOps prakse un r\u012bki\u00bb<\/a><\/noindex> \u0160is raksts ir \u012bss ievads Loki. Loki projekts<\/i><\/p>\n<p>tiek atbalst\u012bts ar Grafana <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/oss\/loki\/\">un ir v\u0113rsts uz centraliz\u0113tu \u017eurn\u0101lu v\u0101k\u0161anu (no serveriem vai konteineriem).<\/a><\/noindex> Galvenais iedvesmas avots Loki bija<\/p>\n<p>ideja par t\u0101 pieeju \u017eurn\u0101lu p\u0101rvald\u012bbai: <noindex><a rel=\"nofollow\" href=\"http:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex> izmantojot eti\u0137etes (labels) datu uzglab\u0101\u0161anai<\/p>\n<ul>\n<li>pat\u0113r\u0113jot maz resursu<\/li>\n<li>M\u0113s v\u0113l atgriez\u012bsimies pie Prometheus darb\u012bbas principiem un sniegsim da\u017eus piem\u0113rus t\u0101 izmanto\u0161anai Kubernetes kontekst\u0101.<\/li>\n<\/ul>\n<p>Da\u017ei v\u0101rdi par Prometheus<\/p>\n<h3>Lai piln\u012bb\u0101 izprastu Loki darb\u012bbu, ir svar\u012bgi atk\u0101pties un nedaudz atcer\u0113ties Prometheus.<\/h3>\n<p>Viens no Prometheus izce\u013co\u0161an\u0101s raksturlielumiem ir metrikas izguve no iev\u0101k\u0161anas punktiem (caur eksport\u0113t\u0101jiem) un to saglab\u0101\u0161ana TSDB (Time Series Data Base), pievienojot metadatus k\u0101 eti\u0137etes.<\/p>\n<p>K\u0101p\u0113c tas ir nepiecie\u0161ams<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>P\u0113d\u0113jos gados Prometheus k\u013cuvis par de facto standartu konteineru un Kubernetes pasaul\u0113: t\u0101 uzst\u0101d\u012b\u0161ana ir \u013coti vienk\u0101r\u0161a, un Kubernetes klaster\u012b s\u0101kotn\u0113ji ir iek\u013cauts gals Prometheus. Prometheus var ar\u012b izvilkt metrikas no konteineros palaist\u0101m aplik\u0101cij\u0101m, vienlaikus saglab\u0101jot noteiktas eti\u0137etes. T\u0101d\u0113\u013c aplik\u0101ciju uzraudz\u012bba ir viegli \u012bstenojama.<\/h3>\n<p>Diem\u017e\u0113l \u017eurn\u0101lu p\u0101rvald\u012bbai joproj\u0101m nav<\/p>\n<p>\u012bpa\u0161i d\u0101rgakme\u0146u risin\u0101juma<\/p>\n<ul>\n<li>un jums ir j\u0101trod risin\u0101jums sev:<\/li>\n<li>p\u0101rvald\u012bts m\u0101ko\u0146u pakalpojums \u017eurn\u0101lu centraliz\u0113\u0161anai (AWS, Azure vai Google)<\/li>\n<li>uzraudz\u012bbas pakalpojums \u201cuzraudz\u012bba k\u0101 pakalpojums\u201d (monitoring as a service) (piem\u0113ram, Datadog)<\/li>\n<\/ul>\n<p>\u017eurn\u0101lu v\u0101k\u0161anas pakalpojuma izveide.<\/p>\n<p>Tre\u0161ajam variantam es tradicion\u0101li izmantoju Elasticsearch, neskatoties uz to, ka ne vienm\u0113r biju apmierin\u0101ts ar to (\u012bpa\u0161i ar t\u0101s smagumu un sare\u017e\u0123\u012bt\u012bbu).<\/p>\n<ul>\n<li>Loki tika izstr\u0101d\u0101ts, lai vienk\u0101r\u0161otu \u012bsteno\u0161anu saska\u0146\u0101 ar \u0161\u0101diem principiem:<\/li>\n<li>b\u016bt vieglam uzs\u0101kt<\/li>\n<li>pat\u0113r\u0113t maz resursu<\/li>\n<li>str\u0101d\u0101t patst\u0101v\u012bgi bez jebk\u0101das \u012bpa\u0161as apkalpes<\/li>\n<\/ul>\n<p>Tom\u0113r \u0161\u012b vienk\u0101r\u0161\u012bba ir pan\u0101kta, veicot noteiktus kompromisus. Viens no tiem ir satura indeks\u0113\u0161anas neesam\u012bba. T\u0101d\u0113\u013c mekl\u0113\u0161ana tekst\u0101 nav p\u0101r\u0101k efekt\u012bva vai bag\u0101ta un ne\u013cauj veikt statistiku par teksta saturu. Ta\u010du, \u0146emot v\u0113r\u0101, ka Loki v\u0113las b\u016bt ekvivalents grep un papildin\u0101jums Prometheus, tas nav tr\u016bkums.<\/p>\n<h3>Incidentu izmekl\u0113\u0161ana<\/h3>\n<p>Lai lab\u0101k saprastu, k\u0101p\u0113c Loki nav nepiecie\u0161ama indeks\u0113\u0161ana, atgriez\u012bsimies pie incidentu izmekl\u0113\u0161anas metodes, ko izmantoja Loki izstr\u0101d\u0101t\u0101ji:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 \u017eurn\u0101lu v\u0101k\u0161ana, izmantojot Prometheus pieeju\" src=\"\/wp-content\/uploads\/2020\/02\/2f9ba72d68ccafbe44ab1700d08e3a33.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>1 Br\u012bdin\u0101jums \u2192 2 Pane\u013ca skat\u012bjums \u2192 3 Adhoc vaic\u0101jumi \u2192 4 \u017durn\u0101lu apkopojums \u2192 5 Izklied\u0113t\u0101 izseko\u0161ana \u2192 6 Labot!<br \/>\n(1 Br\u012bdin\u0101jums \u2192 2 Pane\u013ca skat\u012bjums \u2192 3 Adhoc vaic\u0101jumi \u2192 4 \u017durn\u0101lu apkopojums \u2192 5 Izklied\u0113t\u0101 izseko\u0161ana \u2192 6 Labojam!)<\/i><\/p>\n<p>Ideja ir t\u0101da, ka m\u0113s sa\u0146emam k\u0101du br\u012bdin\u0101jumu (Slack pazi\u0146ojumu, SMS utt.), un p\u0113c tam:<\/p>\n<ul>\n<li>skat\u0101mies Grafana pane\u013cus<\/li>\n<li>skat\u0101mies pakalpojumu metrikas (piem\u0113ram, Prometheus)<\/li>\n<li>skat\u0101mies \u017eurn\u0101lu ierakstus (piem\u0113ram, Elasticsearch)<\/li>\n<li>iesp\u0113jams, apskat\u0101m izklied\u0113t\u0101s izseko\u0161anas (Jaeger, Zipkin u.c.)<\/li>\n<li>un, visbeidzot, labojam pamatprobl\u0113mu.<\/li>\n<\/ul>\n<p>\u0160aj\u0101 gad\u012bjum\u0101, izmantojot Grafana + Prometheus + Elasticsearch + Zipkin, b\u016bs nepiecie\u0161ami \u010detri da\u017e\u0101di r\u012bki. Lai sa\u012bsin\u0101tu laiku, b\u016btu labi sp\u0113t veikt visus \u0161os posmus, izmantojot vienu r\u012bku: Grafana. J\u0101atz\u012bm\u0113, ka \u0161\u0101ds izp\u0113tes pieejas risin\u0101jums s\u0101kot ar 6. versiju ir \u012bstenots Grafana. T\u0101d\u0113j\u0101di ir iesp\u0113jams piek\u013c\u016bt Prometheus datiem tie\u0161i no Grafana.<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 \u017eurn\u0101lu v\u0101k\u0161ana, izmantojot Prometheus pieeju\" src=\"\/wp-content\/uploads\/2020\/02\/eefc5a599a23abeb0624f4e3265a31e6.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Ekr\u0101ns Explorer sadal\u012bts starp Prometheus un Loki<\/i><\/p>\n<p>\u0160aj\u0101 ekr\u0101n\u0101 var skat\u012bt \u017eurn\u0101lus Loki, kas saist\u012bti ar Prometheus metriem, izmantojot ekr\u0101na sadales koncepciju. S\u0101kot ar 6.5 versiju, Grafana \u013cauj apstr\u0101d\u0101t izseko\u0161anas identifikatoru (trace id) Loki \u017eurn\u0101la ierakstos, lai p\u0101rietu uz j\u016bsu iecien\u012bt\u0101kajiem izklied\u0113t\u0101s izseko\u0161anas r\u012bkiem (Jaeger).<\/p>\n<h3>Loki lok\u0101lais tests<\/h3>\n<p>Vienk\u0101r\u0161\u0101kais veids, k\u0101 lok\u0101li test\u0113t Loki, ir izmantot docker-compose. Docker-compose fails atrodas Loki repozitorij\u0101. Repozitoriju var ieg\u016bt, izmantojot \u0161o komandu <code>git<\/code>:<\/p>\n<pre><code class=\"go\">$ git clone https:\/\/github.com\/grafana\/loki.git<\/code><\/pre>\n<p>Tad jums j\u0101p\u0101riet uz production katalogu:<\/p>\n<pre><code class=\"go\">$ cd production<\/code><\/pre>\n<p>P\u0113c tam varat sa\u0146emt jaun\u0101ko Docker att\u0113lu versiju:<\/p>\n<pre><code class=\"go\">$ docker-compose pull<\/code><\/pre>\n<p>Visbeidzot, Loki kaudze tiek palaista ar n\u0101kamo komandu:<\/p>\n<pre><code class=\"go\">P\u0113c \u0161\u012bs komandas izpildes termin\u0101l\u012b j\u0101par\u0101d\u0101s tekstam, ko klients ir ieguvis no servera:<\/code><\/pre>\n<h3>Loki arhitekt\u016bra<\/h3>\n<p>\u0160eit ir neliela diagramma ar Loki arhitekt\u016bru:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 \u017eurn\u0101lu v\u0101k\u0161ana, izmantojot Prometheus pieeju\" src=\"\/wp-content\/uploads\/2020\/02\/fc5703bcebc1391e719640e99544f909.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Loki arhitekt\u016bras principi<\/i><\/p>\n<p>Web klients palaidz aplik\u0101cijas server\u012b, Promtail apkopo \u017eurn\u0101lus un nos\u016bta tos Lokijam, web klients ar\u012b nos\u016bta metadatus Lokijam. Lokijs visu apkopot un nodot Grafanai.<br \/>\nLokijs ir palaists. Lai apskat\u012btu eso\u0161\u0101s komponentes, izpildiet sekojo\u0161o komandu:<\/p>\n<pre><code class=\"go\">$ docker ps<\/code><\/pre>\n<p>Ja Docker ir svaigi uzst\u0101d\u012bts, komandai vajadz\u0113tu atgriezt sekojo\u0161o rezult\u0101tu:<\/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>M\u0113s redzam sekojo\u0161as komponentes:<\/p>\n<ul>\n<li>Promtail: a\u0123ents, kas atbild par \u017eurn\u0101lu centraliz\u0101ciju<\/li>\n<li>Grafana: paz\u012bstams r\u012bks pane\u013cu izveidei<\/li>\n<li>Lokijs: datu centraliz\u0101cijas demaons<\/li>\n<\/ul>\n<p>Klasisk\u0101 infrastrukt\u016br\u0101 (piem\u0113ram, balst\u012bta uz virtu\u0101laj\u0101m ma\u0161\u012bn\u0101m) katrai ma\u0161\u012bnai j\u0101b\u016bt izvietotam Promtail a\u0123entam. Grafana un Lokijs var tikt uzst\u0101d\u012bti vien\u0101 ma\u0161\u012bn\u0101.<\/p>\n<h3>Izvieto\u0161ana Kubernetes<\/h3>\n<p>Komponentu Loki uzst\u0101d\u012b\u0161ana Kubernetes sast\u0101v\u0113s no sekojo\u0161\u0101:<\/p>\n<ul>\n<li>daemonSet, lai izvietotu Promtail a\u0123entu uz katras ma\u0161\u012bnas serveru klast\u0113r\u0101<\/li>\n<li>izvieto\u0161ana (Deployment) Lokijam<\/li>\n<li>un visbeidzot \u2014 Grafana izvieto\u0161ana.<\/li>\n<\/ul>\n<p>Par laimi, Lokijs ir pieejams k\u0101 Helm pakotne, kas atvieglo t\u0101 izvieto\u0161anu.<\/p>\n<h3>Uzst\u0101d\u012b\u0161ana caur Helm<\/h3>\n<p>Helm jau ir j\u0101b\u016bt jums uzst\u0101d\u012btam. To var lejupiel\u0101d\u0113t no projekta GitHub repozitorija. Tas tiek uzst\u0101d\u012bts, izpakkojot arh\u012bvu, kas atbilst j\u016bsu arhitekt\u016brai, un pievienojot helm <code>$PATH<\/code>.<\/p>\n<blockquote><p><i><b>Piez\u012bme:<\/b> versija 3.0.0 Helm tika nesen izlaista. T\u0101 k\u0101 taj\u0101 ir daudz izmai\u0146u, las\u012bt\u0101jam ieteicams nedaudz pagaid\u012bt pirms t\u0101s izmanto\u0161anas uzs\u0101k\u0161anas<\/i>.<\/p><\/blockquote>\n<h3>Avota pievieno\u0161ana Helm<\/h3>\n<p>Pirmais solis b\u016bs pievienot repozitoriju \"loki\" ar sekojo\u0161o komandu:<\/p>\n<pre><code class=\"go\">$ helm add loki https:\/\/grafana.github.io\/loki\/charts<\/code><\/pre>\n<p>P\u0113c tam var mekl\u0113t pakotnes ar nosaukumu \"loki\":<\/p>\n<pre><code class=\"go\">$ helm search loki<\/code><\/pre>\n<p>Rezult\u0101ts:<\/p>\n<pre><code class=\"go\">loki\/loki       0.17.2 v0.4.0 Loki: k\u0101 Prometheus, bet \u017eurn\u0101liem.\nloki\/loki-stack 0.19.1 v0.4.0 Loki: k\u0101 Prometheus, bet \u017eurn\u0101liem.\nloki\/fluent-bit 0.0.2  v0.0.1 Izmanto fluent-bit Loki go papildin\u0101jumu...\nloki\/promtail   0.13.1 v0.4.0 Atbild\u012bgs par \u017eurn\u0101lu apkopo\u0161anu un...<\/code><\/pre>\n<p>\u0160\u012bm pakotn\u0113m ir sekojo\u0161as funkcijas:<\/p>\n<ul>\n<li>pakotne <b>loki\/loki<\/b> atbilst tikai Loki serverim<\/li>\n<li>pakotne <b>loki\/fluent-bit<\/b> \u013cauj jums izvietot DaemonSet, izmantojot fluent-bit \u017eurn\u0101lu apkopo\u0161anai, nevis Promtail<\/li>\n<li>pakotne <b>loki\/promtail<\/b> satur \u017eurn\u0101lu failu apkopo\u0161anas a\u0123entu<\/li>\n<li>pakotne <b>loki\/loki-stack<\/b>, \u013cauj uzreiz izvietot Loki kop\u0101 ar Promtail.<\/li>\n<\/ul>\n<h3>Loki uzst\u0101d\u012b\u0161ana<\/h3>\n<p>Lai izvietotu Loki Kubernetes, izpildiet sekojo\u0161o komandu nosac\u012bjum\u0101 \"monitoring\":<\/p>\n<pre><code class=\"go\">$ helm upgrade --install loki loki\/loki-stack --namespace monitoring<\/code><\/pre>\n<p>Lai saglab\u0101tu disk\u0101, pievienojiet parametru <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>Piez\u012bme:<\/b> ja v\u0113laties vienlaic\u012bgi izv\u0113rst Grafanu, pievienojiet parametru <code>--set grafana.enabled = true<\/code><\/i><\/p><\/blockquote>\n<p>Izpildot \u0161o komandu, jums vajadz\u0113tu sa\u0146emt sekojo\u0161u izvadi:<\/p>\n<pre><code class=\"go\">P\u0112D\u0112J\u0100 IZVEIDE: 2019. gada 19. novembr\u012b 15:56:54\nNOSAUKUMS: monitoring\nST\u0100VOKLIS: IZVEIDOTS\nRESURSI:\n==&amp;gt; v1\/ClusterRole\nV\u0100RDS DPI\nloki-promtail-clusterrole 189d\n&hellip;\nPIEMIN\u0112JUMI:\nLoki kaudze ir uzst\u0101d\u012bta j\u016bsu klaster\u012b. Tagad Loki var pievienot k\u0101 datu avotu Grafana.\nSkat\u012bt &lt;a href=&quot;http:\/\/docs.grafana.org\/features\/datasources\/loki\/&quot;&gt;http:\/\/docs.grafana.org\/features\/datasources\/loki\/&lt;\/a&gt; vair\u0101k inform\u0101cijas.<\/code><\/pre>\n<p>P\u0101rbaudot podu st\u0101vokli nosaukumu telp\u0101 \u201cmonitoring\u201d, m\u0113s redz\u0113sim, ka viss ir izv\u0113rsts:<\/p>\n<pre><code class=\"go\">$ kubectl -n monitoring get pods -l release=loki<\/code><\/pre>\n<p>Rezult\u0101ts:<\/p>\n<pre><code class=\"go\">NOSAUKUMS             GATAVS  ST\u0100VOKLIS  ATJAUNO\u0160ANU SKAITS  VECUMS\nloki-0               1\/1    Darbojas  0         147m\nloki-promtail-9zjvc  1\/1    Darbojas  0         3h25m\nloki-promtail-f6brf  1\/1    Darbojas  0         11h\nloki-promtail-hdcj7  1\/1    Darbojas  0         3h23m\nloki-promtail-jbqhc  1\/1    Darbojas  0         11h\nloki-promtail-mj642  1\/1    Darbojas  0         62m\nloki-promtail-nm64g  1\/1    Darbojas  0         24m<\/code><\/pre>\n<p>Visi podi ir palaisti. Tagad ir laiks veikt da\u017eus testus!<\/p>\n<h3>Savienojums ar Grafanu<\/h3>\n<p>Lai piesl\u0113gtos Grafanai izmantojot Kubernetes, nepiecie\u0161ams atv\u0113rt tuneli uz t\u0101s podu. Zem\u0101k ir komanda, lai atv\u0113rtu portu 3000 Grafanas podam:<\/p>\n<pre><code class=\"go\">$ kubectl -n port-forward monitoring svc\/loki-grafana 3000:80<\/code><\/pre>\n<p>V\u0113l viens svar\u012bgs moments ir nepiecie\u0161am\u012bba atjaunot Grafanas administratora paroli. Parole tiek glab\u0101ta slepen\u012bb\u0101 <code>loki-grafana<\/code> lauku <code>.data.admin-user<\/code> base64 form\u0101t\u0101.<\/p>\n<p>Lai to atjaunotu, j\u0101izpilda sekojo\u0161a komanda:<\/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>Izmantojiet \u0161o paroli kop\u0101 ar noklus\u0113juma administratora kontu (admin).<\/p>\n<h3>Datu avota Loki defin\u0113\u0161ana Grafan\u0101<\/h3>\n<p>Pirmk\u0101rt, p\u0101rliecinieties, ka ir izveidots datu avots Loki (Configuration \/ Datasource).<br \/>\nL\u016bk, piem\u0113rs:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 \u017eurn\u0101lu v\u0101k\u0161ana, izmantojot Prometheus pieeju\" src=\"\/wp-content\/uploads\/2020\/02\/3b670a4b1a8b4db74b1e1f525fd03129.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Datu avota iestat\u012b\u0161anas piem\u0113rs Loki<\/i><\/p>\n<p>Noklik\u0161\u0137inot uz \u201cTest\u201d, var p\u0101rbaud\u012bt savienojumu ar Loki.<\/p>\n<h3>Veicot piepras\u012bjumus uz Loki<\/h3>\n<p>Tagad dodieties uz Grafanu sada\u013c\u0101 \u201cExplore\u201d. Sa\u0146emot \u017eurn\u0101lus no konteineriem, Loki pievieno metadatus no Kubernetes. T\u0101d\u0113j\u0101di k\u013c\u016bst iesp\u0113jams apskat\u012bt konkr\u0113ta konteineru \u017eurn\u0101lus.<\/p>\n<p>Piem\u0113ram, lai izv\u0113l\u0113tos promtail konteineru \u017eurn\u0101lus, varat izmantot sekojo\u0161u piepras\u012bjumu: <code>{container_name = \"promtail\"}<\/code>.<br \/>\n\u0160eit ar\u012b neaizmirstiet izv\u0113l\u0113ties datu avotu Loki.<\/p>\n<p>\u0160is piepras\u012bjums atgriez\u012bs konteineru aktivit\u0101ti sekojo\u0161\u0101 form\u0101:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 \u017eurn\u0101lu v\u0101k\u0161ana, izmantojot Prometheus pieeju\" src=\"\/wp-content\/uploads\/2020\/02\/ed2baebd374b9a6242cfc397776fa65f.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Piepras\u012bjuma rezult\u0101ts Grafan\u0101 <\/i><\/p>\n<h3>Pievieno\u0161ana pane\u013ca<\/h3>\n<p>S\u0101kot ar Grafanu 6.4, var ievietot \u017eurn\u0101lu inform\u0101ciju tie\u0161i panel\u012b. P\u0113c tam lietot\u0101js var\u0113s \u0101tri p\u0101rl\u0113kt starp piepras\u012bjumu skaitu sav\u0101 vietn\u0113 un aplik\u0101cijas izseko\u0161anu.<\/p>\n<p>Zem\u0101k ir piem\u0113rs pane\u013ca, kas realiz\u0113 \u0161o mijiedarb\u012bbu:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 \u017eurn\u0101lu v\u0101k\u0161ana, izmantojot Prometheus pieeju\" src=\"\/wp-content\/uploads\/2020\/02\/d76c5345d543579eb3768fcdb0a2567b.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Paraugs instrumenta panelim ar m\u0113r\u012bjumiem no Prometheus un Loki \u017eurn\u0101liem<\/i><\/p>\n<h3>Loki n\u0101kotne<\/h3>\n<p>Es s\u0101ku izmantot Loki v\u0113l maij\u0101 \/ j\u016bnij\u0101 ar versiju 0.1. \u0160odien jau ir izlaista versija 1, un pat 1.1 un 1.2.<\/p>\n<p>J\u0101atz\u012bst, ka versija 0.1 nebija pietiekami stabila. Bet 0.3 jau par\u0101d\u012bja re\u0101las gatav\u012bbas paz\u012bmes, bet n\u0101kam\u0101s versijas (0.4, tad 1.0) tikai pastiprin\u0101ja \u0161o iespaidu.<\/p>\n<p>P\u0113c 1.0.0 nevienam vairs nevar b\u016bt attaisnojumu, k\u0101p\u0113c neizmantot \u0161o br\u012bni\u0161\u0137\u012bgo r\u012bku.<\/p>\n<p>Turpm\u0101kajiem uzlabojumiem b\u016btu j\u0101attiecas nevis uz Loki, bet dr\u012bz\u0101k uz t\u0101 integr\u0101ciju ar izcilo Grafana. Paties\u012bb\u0101, Grafana 6.4 jau pied\u0101v\u0101ja labu integr\u0101ciju ar pane\u013ciem.<\/p>\n<p>Grafana 6.5, kas nesen tika izlaista, v\u0113l vair\u0101k uzlabo \u0161o integr\u0101ciju, autom\u0101tiski atpaz\u012bstot \u017eurn\u0101lu saturu JSON form\u0101t\u0101.<\/p>\n<p>T\u0101l\u0101k ir sniegts neliels \u0161\u012b meh\u0101nisma piem\u0113rs video:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 \u017eurn\u0101lu v\u0101k\u0161ana, izmantojot Prometheus pieeju\" src=\"\/wp-content\/uploads\/2020\/02\/1e0a5269f21e401f349a35788672aec1.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Loki rindas izmanto\u0161ana, par\u0101dot Grafana<\/i><\/p>\n<p>Ir iesp\u0113jams izmantot vienu no JSON laukiem, piem\u0113ram, lai:<\/p>\n<ul>\n<li>saite uz \u0101r\u0113jo r\u012bku<\/li>\n<li>filtr\u0113tu \u017eurn\u0101lu saturu<\/li>\n<\/ul>\n<p>Piem\u0113ram, j\u016bs varat noklik\u0161\u0137in\u0101t uz traceId, lai p\u0101rietu uz Zipkin vai Jaeger.<\/p>\n<p>Tradicion\u0101li gaid\u0101m j\u016bsu koment\u0101rus un aicin\u0101m uz <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/P37L\/\">atkl\u0101to tie\u0161saistes semin\u0101ru<\/a><\/noindex>, kur parun\u0101sim par to, k\u0101 ir att\u012bst\u012bjusies DevOps nozare 2019. gad\u0101 un apspried\u012bsim iesp\u0113jamos att\u012bst\u012bbas ce\u013cus 2020. gadam.<\/p>\n<p>Avots: <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.4 - 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\/lv\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\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\/lv\/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 \u017eurn\u0101lu apkopojums, izmantojot Prometheus pieeju | ProHoster","description":"Sveiki, habrov\u010d\u0101ni!","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","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\/lv\/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\/lv\/wp-json\/wp\/v2\/posts\/56206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=56206"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/56206\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=56206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=56206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=56206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}