{"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\/sq\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus","title":{"rendered":"Loki \u2014 mbledhja e logeve duke p\u00ebrdorur qasjen e Prometheus","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>P\u00ebrsh\u00ebndetje, lexues t\u00eb Habr! N\u00eb prag t\u00eb nisjes s\u00eb grupit t\u00eb ri p\u00ebr kursin <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/P37L\/\">\u00abPraktikat dhe mjetet DevOps\u00bb<\/a><\/noindex> kemi p\u00ebrgatitur p\u00ebr ju nj\u00eb p\u00ebrkthim t\u00eb nj\u00eb materiali interesant.<\/i><\/p>\n<p>Ky artikull \u00ebsht\u00eb nj\u00eb hyrje e shkurt\u00ebr n\u00eb Loki. Projekti Loki <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/oss\/loki\/\">mb\u00ebshtetet nga Grafana<\/a><\/noindex> dhe \u00ebsht\u00eb i orientuar drejt mbledhjes s\u00eb centralizuar t\u00eb logeve (nga server\u00ebt ose kontejner\u00ebt).<\/p>\n<p>Burimi kryesor i frym\u00ebzimit p\u00ebr Loki ishte <noindex><a rel=\"nofollow\" href=\"http:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex> me iden\u00eb e zbatimit t\u00eb qasjeve t\u00eb tij n\u00eb menaxhimin e logeve:<\/p>\n<ul>\n<li>p\u00ebrdorimi i etiketave (labels) p\u00ebr ruajtjen e t\u00eb dh\u00ebnave<\/li>\n<li>konsum i ul\u00ebt i burimeve<\/li>\n<\/ul>\n<p>Do t\u2019u rikthehemi ende parimeve t\u00eb funksionimit t\u00eb Prometheus dhe do t\u00eb sjellim disa shembuj t\u00eb p\u00ebrdorimit t\u00eb tij n\u00eb kontekstin e Kubernetes.<\/p>\n<h3>Disa fjal\u00eb p\u00ebr Prometheus<\/h3>\n<p>P\u00ebr ta kuptuar plot\u00ebsisht se si funksionon Loki, \u00ebsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb b\u00ebjm\u00eb nj\u00eb hap pas dhe t\u00eb kujtojm\u00eb shkurtimisht Prometheus.<\/p>\n<p>Nj\u00eb nga karakteristikat dalluese t\u00eb Prometheus \u00ebsht\u00eb mbledhja e metrikave nga pikat e grumbullimit (p\u00ebrmes exporter\u00ebve) dhe ruajtja e tyre n\u00eb TSDB (Time Series Data Base, baz\u00eb e t\u00eb dh\u00ebnave t\u00eb serive kohore) me shtimin e metadatave n\u00eb form\u00ebn e etiketave.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Pse \u00ebsht\u00eb e nevojshme kjo?<\/h3>\n<p>Koh\u00ebt e fundit, Prometheus \u00ebsht\u00eb b\u00ebr\u00eb standard de facto n\u00eb bot\u00ebn e kontejner\u00ebve dhe Kubernetes: instalimi i tij \u00ebsht\u00eb shum\u00eb i thjesht\u00eb, nd\u00ebrsa n\u00eb nj\u00eb klaster Kubernetes ekziston q\u00eb n\u00eb fillim nj\u00eb endpoint p\u00ebr Prometheus. Prometheus gjithashtu mund t\u00eb mbledh\u00eb metrika nga aplikacionet e vendosura n\u00eb kontejner, duke ruajtur nj\u00ebkoh\u00ebsisht etiketa t\u00eb caktuara. Prandaj, monitorimi i aplikacioneve \u00ebsht\u00eb shum\u00eb i leht\u00eb p\u00ebr t\u2019u zbatuar.<\/p>\n<p>Fatkeq\u00ebsisht, p\u00ebr menaxhimin e logeve ende nuk ka nj\u00eb zgjidhje \u201c\u00e7el\u00ebs n\u00eb dor\u00eb\u201d, ndaj duhet t\u00eb gjeni vet\u00eb zgjidhjen e duhur:<\/p>\n<ul>\n<li>sh\u00ebrbim cloud i menaxhuar p\u00ebr centralizimin e logeve (AWS, Azure ose Google)<\/li>\n<li>sh\u00ebrbim monitorimi \u00abmonitorim si sh\u00ebrbim\u00bb (monitoring as a service) (p\u00ebr shembull, Datadog)<\/li>\n<li>krijimi i sh\u00ebrbimit tuaj p\u00ebr mbledhjen e logeve.<\/li>\n<\/ul>\n<p>P\u00ebr opsionin e tret\u00eb, tradicionalisht kam p\u00ebrdorur Elasticsearch, megjith\u00ebse jo gjithmon\u00eb kam qen\u00eb i k\u00ebnaqur me t\u00eb (sidomos p\u00ebr shkak t\u00eb pesh\u00ebs s\u00eb tij dhe kompleksitetit t\u00eb konfigurimit).<\/p>\n<p>Loki \u00ebsht\u00eb projektuar p\u00ebr t\u00eb thjeshtuar zbatimin sipas parimeve t\u00eb m\u00ebposhtme:<\/p>\n<ul>\n<li>t\u00eb jet\u00eb i thjesht\u00eb p\u00ebr t\u2019u nisur<\/li>\n<li>t\u00eb konsumoj\u00eb pak burime<\/li>\n<li>t\u00eb funksionoj\u00eb n\u00eb m\u00ebnyr\u00eb t\u00eb pavarur pa ndonj\u00eb mir\u00ebmbajtje t\u00eb ve\u00e7ant\u00eb<\/li>\n<li>t\u00eb sh\u00ebrbej\u00eb si plot\u00ebsues i Prometheus p\u00ebr t\u00eb ndihmuar n\u00eb hetimin e bug-eve<\/li>\n<\/ul>\n<p>Megjithat\u00eb, kjo thjesht\u00ebsi arrihet me disa kompromise. Nj\u00ebri prej tyre \u00ebsht\u00eb mungesa e indeksimit t\u00eb p\u00ebrmbajtjes. Prandaj, k\u00ebrkimi n\u00eb tekst nuk \u00ebsht\u00eb shum\u00eb efikas ose i pasur dhe nuk lejon mbledhjen e statistikave mbi p\u00ebrmbajtjen e tekstit. Por, duke qen\u00eb se Loki synon t\u00eb jet\u00eb ekuivalenti i grep dhe nj\u00eb plot\u00ebsim p\u00ebr Prometheus, kjo nuk konsiderohet mang\u00ebsi.<\/p>\n<h3>Hetimi i incidenteve<\/h3>\n<p>P\u00ebr t\u00eb kuptuar m\u00eb mir\u00eb pse Loki nuk ka nevoj\u00eb p\u00ebr indeksim, le t\u00eb kthehemi te metoda e hetimit t\u00eb incidenteve q\u00eb p\u00ebrdor\u00ebn zhvilluesit e Loki:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 mbledhja e logeve duke p\u00ebrdorur qasjen e Prometheus\" src=\"\/wp-content\/uploads\/2020\/02\/2f9ba72d68ccafbe44ab1700d08e3a33.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>1 Alert \u2192 2 Dashboard \u2192 3 Adhoc Query \u2192 4 Log Aggregation \u2192 5 Distributed Tracing \u2192 6 Fix!<br \/>\n(1 Alarm \u2192 2 Dashboard \u2192 3 Adhoc Query \u2192 4 Agregimi i logeve \u2192 5 Gjurmim i shp\u00ebrndar\u00eb \u2192 6 E rregullojm\u00eb!)<\/i><\/p>\n<p>Ideja \u00ebsht\u00eb q\u00eb marrim nj\u00eb alarm t\u00eb caktuar (Slack Notification, SMS etj.) dhe m\u00eb pas:<\/p>\n<ul>\n<li>shohim dashboard-et e Grafana<\/li>\n<li>shohim metrikat e sh\u00ebrbimeve (p\u00ebr shembull, n\u00eb Prometheus)<\/li>\n<li>shohim hyrjet e logeve (p\u00ebr shembull, n\u00eb Elasticsearch)<\/li>\n<li>ndoshta hedhim nj\u00eb sy te gjurmimet e shp\u00ebrndara (Jaeger, Zipkin etj.)<\/li>\n<li>dhe, n\u00eb fund, rregullojm\u00eb problemin fillestar.<\/li>\n<\/ul>\n<p>K\u00ebtu, n\u00eb rastin e stack-ut Grafana + Prometheus + Elasticsearch + Zipkin, do t\u00eb duhet t\u00eb p\u00ebrdoren kat\u00ebr mjete t\u00eb ndryshme. P\u00ebr t\u00eb shkurtuar koh\u00ebn, do t\u00eb ishte mir\u00eb t\u00eb kishim mund\u00ebsin\u00eb t\u2019i kryenim t\u00eb gjitha k\u00ebto hapa me nj\u00eb mjet t\u00eb vet\u00ebm: Grafana. Vlen t\u00eb theksohet se kjo qasje ndaj hetimit \u00ebsht\u00eb zbatuar n\u00eb Grafana q\u00eb nga versioni 6. K\u00ebshtu, b\u00ebhet e mundur qasja te t\u00eb dh\u00ebnat e Prometheus drejtp\u00ebrdrejt nga Grafana.<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 mbledhja e logeve duke p\u00ebrdorur qasjen e Prometheus\" src=\"\/wp-content\/uploads\/2020\/02\/eefc5a599a23abeb0624f4e3265a31e6.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Ekrani Explorer \u00ebsht\u00eb i ndar\u00eb mes Prometheus dhe Loki<\/i><\/p>\n<p>N\u00eb k\u00ebt\u00eb ekran mund t\u00eb shikoni loget n\u00eb Loki t\u00eb lidhura me metrikat e Prometheus, duke p\u00ebrdorur konceptin e ndarjes s\u00eb ekranit. Duke filluar nga versioni 6.5, Grafana lejon p\u00ebrpunimin e identifikuesit t\u00eb gjurmimit (trace id) n\u00eb hyrjet e logeve t\u00eb Loki p\u00ebr t\u00eb ndjekur lidhjet drejt mjeteve tuaja t\u00eb preferuara t\u00eb gjurmimit t\u00eb shp\u00ebrndar\u00eb (Jaeger).<\/p>\n<h3>Testim lokal i Loki<\/h3>\n<p>M\u00ebnyra m\u00eb e thjesht\u00eb p\u00ebr t\u00eb testuar Loki n\u00eb nivel lokal \u00ebsht\u00eb p\u00ebrdorimi i docker-compose. Skedari docker-compose ndodhet n\u00eb depozitorin e Loki. Depozitorin mund ta merrni me komand\u00ebn e m\u00ebposhtme <code>git<\/code>:<\/p>\n<pre><code class=\"go\">$ git clone https:\/\/github.com\/grafana\/loki.git<\/code><\/pre>\n<p>M\u00eb pas duhet t\u00eb kaloni n\u00eb direktorin\u00eb production:<\/p>\n<pre><code class=\"go\">$ cd production<\/code><\/pre>\n<p>Pas k\u00ebsaj, mund t\u00eb shkarkoni versionin m\u00eb t\u00eb fundit t\u00eb imazheve Docker:<\/p>\n<pre><code class=\"go\">$ docker-compose pull<\/code><\/pre>\n<p>S\u00eb fundi, stack-u Loki niset me komand\u00ebn e m\u00ebposhtme:<\/p>\n<pre><code class=\"go\">$ docker-compose up<\/code><\/pre>\n<h3>Arkitektura e Loki<\/h3>\n<p>Ja nj\u00eb diagram\u00eb e vog\u00ebl me arkitektur\u00ebn e Loki:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 mbledhja e logeve duke p\u00ebrdorur qasjen e Prometheus\" src=\"\/wp-content\/uploads\/2020\/02\/fc5703bcebc1391e719640e99544f909.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Parimet e arkitektur\u00ebs s\u00eb Loki<\/i><\/p>\n<p>Klienti web ekzekuton aplikacionet n\u00eb server, Promtail mbledh log-et dhe i d\u00ebrgon n\u00eb Loki, nd\u00ebrsa klienti web d\u00ebrgon gjithashtu metadata n\u00eb Loki. Loki i agregon t\u00eb gjitha dhe i kalon n\u00eb Grafana.<br \/>\nLoki \u00ebsht\u00eb nisur. P\u00ebr t\u00eb par\u00eb komponent\u00ebt e disponuesh\u00ebm, ekzekutoni komand\u00ebn e m\u00ebposhtme:<\/p>\n<pre><code class=\"go\">$ docker ps<\/code><\/pre>\n<p>N\u00eb rastin e nj\u00eb instalimi t\u00eb ri t\u00eb Docker, komanda duhet t\u00eb kthej\u00eb rezultatin e m\u00ebposht\u00ebm:<\/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>Shohim komponent\u00ebt e m\u00ebposht\u00ebm:<\/p>\n<ul>\n<li>Promtail: agjent p\u00ebrgjegj\u00ebs p\u00ebr centralizimin e log-eve<\/li>\n<li>Grafana: nj\u00eb mjet i njohur p\u00ebr dashboard-e<\/li>\n<li>Loki: sh\u00ebrbim p\u00ebr centralizimin e t\u00eb dh\u00ebnave<\/li>\n<\/ul>\n<p>N\u00eb nj\u00eb infrastruktur\u00eb klasike (p\u00ebr shembull, t\u00eb bazuar n\u00eb makina virtuale), agjenti Promtail duhet t\u00eb vendoset n\u00eb \u00e7do makin\u00eb. Grafana dhe Loki mund t\u00eb instalohen n\u00eb t\u00eb nj\u00ebjt\u00ebn makin\u00eb.<\/p>\n<h3>Vendosja n\u00eb Kubernetes<\/h3>\n<p>Instalimi i komponent\u00ebve t\u00eb Loki n\u00eb Kubernetes do t\u00eb p\u00ebrb\u00ebhet nga sa vijon:<\/p>\n<ul>\n<li>DaemonSet p\u00ebr vendosjen e agjentit Promtail n\u00eb secil\u00ebn nga makinat e klasterit t\u00eb server\u00ebve<\/li>\n<li>vendosja (Deployment) e Loki<\/li>\n<li>dhe s\u00eb fundi \u2014 vendosja e Grafana.<\/li>\n<\/ul>\n<p>P\u00ebr fat t\u00eb mir\u00eb, Loki \u00ebsht\u00eb i disponuesh\u00ebm si paket\u00eb Helm, gj\u00eb q\u00eb e thjeshton vendosjen e tij.<\/p>\n<h3>Instalimi p\u00ebrmes Helm<\/h3>\n<p>Helm duhet ta keni tashm\u00eb t\u00eb instaluar. Mund t\u00eb shkarkohet nga repository GitHub i projektit. Instalohet duke shpaketuar arkivin q\u00eb i p\u00ebrshtatet arkitektur\u00ebs suaj dhe duke shtuar helm n\u00eb <code>$PATH<\/code>.<\/p>\n<blockquote><p><i><b>V\u00ebrejtje:<\/b> Versioni 3.0.0 i Helm \u00ebsht\u00eb publikuar s\u00eb fundmi. Duke qen\u00eb se p\u00ebrfshin shum\u00eb ndryshime, lexuesit i rekomandohet t\u00eb pres\u00eb pak p\u00ebrpara se t\u00eb filloj\u00eb ta p\u00ebrdor\u00eb<\/i>.<\/p><\/blockquote>\n<h3>Shtimi i burimit p\u00ebr Helm<\/h3>\n<p>Hapi i par\u00eb do t\u00eb jet\u00eb shtimi i repository \u201cloki\u201d me ndihm\u00ebn e komand\u00ebs s\u00eb m\u00ebposhtme:<\/p>\n<pre><code class=\"go\">$ helm add loki https:\/\/grafana.github.io\/loki\/charts<\/code><\/pre>\n<p>Pas k\u00ebsaj, mund t\u00eb k\u00ebrkoni paketa me emrin \u201cloki\u201d:<\/p>\n<pre><code class=\"go\">$ helm search loki<\/code><\/pre>\n<p>Rezultati:<\/p>\n<pre><code class=\"go\">loki\/loki       0.17.2 v0.4.0 Loki: like Prometheus, but for logs.\nloki\/loki-stack 0.19.1 v0.4.0 Loki: like Prometheus, but for logs.\nloki\/fluent-bit 0.0.2  v0.0.1 Uses fluent-bit Loki go plugin for...\nloki\/promtail   0.13.1 v0.4.0 Responsible for gathering logs and...<\/code><\/pre>\n<p>K\u00ebto paketa kan\u00eb funksionet e m\u00ebposhtme:<\/p>\n<ul>\n<li>paket\u00ebn <b>loki\/loki<\/b> i korrespondon vet\u00ebm serverit Loki<\/li>\n<li>paket\u00ebn <b>loki\/fluent-bit<\/b> ju lejon t\u00eb vendosni nj\u00eb DaemonSet, duke p\u00ebrdorur fluent-bin p\u00ebr mbledhjen e log-eve n\u00eb vend t\u00eb Promtail<\/li>\n<li>paket\u00ebn <b>loki\/promtail<\/b> p\u00ebrmban agjentin p\u00ebr mbledhjen e skedar\u00ebve log<\/li>\n<li>paket\u00ebn <b>loki\/loki-stack<\/b>, ju lejon t\u00eb vendosni menj\u00ebher\u00eb Loki s\u00eb bashku me Promtail.<\/li>\n<\/ul>\n<h3>Instalimi i Loki<\/h3>\n<p>P\u00ebr t\u00eb vendosur Loki n\u00eb Kubernetes, ekzekutoni komand\u00ebn e m\u00ebposhtme n\u00eb namespace \u201cmonitoring\u201d:<\/p>\n<pre><code class=\"go\">$ helm upgrade --install loki loki\/loki-stack --namespace monitoring<\/code><\/pre>\n<p>P\u00ebr ta ruajtur n\u00eb disk, shtoni parametrin <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>V\u00ebrejtje:<\/b> n\u00ebse d\u00ebshironi t\u00eb vendosni nj\u00ebkoh\u00ebsisht edhe Grafana, at\u00ebher\u00eb shtoni parametrin <code>--set grafana.enabled = true<\/code><\/i><\/p><\/blockquote>\n<p>Gjat\u00eb ekzekutimit t\u00eb k\u00ebsaj komande, duhet t\u00eb merrni rezultatin e m\u00ebposht\u00ebm:<\/p>\n<pre><code class=\"go\">E FUNDIT I VENDOSUR: Mar N&euml;n 19 15:56:54 2019\nHAP&Euml;SIRA E EMRAVE: monitoring\nSTATUSI: I VENDOSUR\nBURIMET:\n==&amp;gt; v1\/ClusterRole\nEMRI VJET&Euml;RSIA\nloki-promtail-clusterrole 189d\n&hellip;\nSH&Euml;NIME:\nStack-u Loki &euml;sht&euml; vendosur n&euml; cluster-in tuaj. Loki tani mund t&euml; shtohet si burim t&euml; dh&euml;nash n&euml; Grafana.\nShihni &lt;a href=&quot;http:\/\/docs.grafana.org\/features\/datasources\/loki\/&quot;&gt;http:\/\/docs.grafana.org\/features\/datasources\/loki\/&lt;\/a&gt; p&euml;r m&euml; shum&euml; detaje.<\/code><\/pre>\n<p>Duke par\u00eb gjendjen e pod-eve n\u00eb namespace \u201cmonitoring\u201d, do t\u00eb shohim se gjith\u00e7ka \u00ebsht\u00eb vendosur:<\/p>\n<pre><code class=\"go\">$ kubectl -n monitoring get pods -l release=loki<\/code><\/pre>\n<p>Rezultati:<\/p>\n<pre><code class=\"go\">NAME                 READY  STATUS   RESTARTS  AGE\nloki-0               1\/1    Running  0         147m\nloki-promtail-9zjvc  1\/1    Running  0         3h25m\nloki-promtail-f6brf  1\/1    Running  0         11h\nloki-promtail-hdcj7  1\/1    Running  0         3h23m\nloki-promtail-jbqhc  1\/1    Running  0         11h\nloki-promtail-mj642  1\/1    Running  0         62m\nloki-promtail-nm64g  1\/1    Running  0         24m<\/code><\/pre>\n<p>T\u00eb gjith\u00eb pod-et jan\u00eb n\u00eb pun\u00eb. Tani \u00ebsht\u00eb koha t\u00eb b\u00ebjm\u00eb disa teste!<\/p>\n<h3>Lidhja me Grafana<\/h3>\n<p>P\u00ebr t\u2019u lidhur me Grafana n\u00eb Kubernetes, duhet t\u00eb hapni nj\u00eb tunel drejt pod-it t\u00eb saj. M\u00eb posht\u00eb \u00ebsht\u00eb komanda p\u00ebr t\u00eb hapur portin 3000 p\u00ebr pod-in e Grafana:<\/p>\n<pre><code class=\"go\">$ kubectl -n port-forward monitoring svc\/loki-grafana 3000:80<\/code><\/pre>\n<p>Nj\u00eb tjet\u00ebr pik\u00eb e r\u00ebnd\u00ebsishme \u00ebsht\u00eb nevoja p\u00ebr t\u00eb rikuperuar fjal\u00ebkalimin e administratorit t\u00eb Grafana. Fjal\u00ebkalimi ruhet n\u00eb secret-in <code>loki-grafana<\/code> n\u00eb fush\u00ebn <code>.data.admin-user<\/code> n\u00eb formatin base64.<\/p>\n<p>P\u00ebr ta rikuperuar, duhet t\u00eb ekzekutoni komand\u00ebn e m\u00ebposhtme:<\/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>P\u00ebrdoreni k\u00ebt\u00eb fjal\u00ebkalim s\u00eb bashku me llogarin\u00eb e parazgjedhur t\u00eb administratorit (admin).<\/p>\n<h3>P\u00ebrcaktimi i burimit t\u00eb t\u00eb dh\u00ebnave Loki n\u00eb Grafana<\/h3>\n<p>S\u00eb pari, sigurohuni q\u00eb burimi i t\u00eb dh\u00ebnave Loki t\u00eb jet\u00eb krijuar (Configuration \/ Datasource).<br \/>\nJa nj\u00eb shembull:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 mbledhja e logeve duke p\u00ebrdorur qasjen e Prometheus\" src=\"\/wp-content\/uploads\/2020\/02\/3b670a4b1a8b4db74b1e1f525fd03129.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Shembull i konfigurimit t\u00eb burimit t\u00eb t\u00eb dh\u00ebnave p\u00ebr Loki<\/i><\/p>\n<p>Duke klikuar \u201cTest\u201d, mund t\u00eb kontrolloni lidhjen me Loki.<\/p>\n<h3>B\u00ebrja e k\u00ebrkesave n\u00eb Loki<\/h3>\n<p>Tani shkoni n\u00eb Grafana te seksioni \u201cExplore\u201d. Gjat\u00eb marrjes s\u00eb log-eve nga kontejner\u00ebt, Loki shton metadata nga Kubernetes. K\u00ebshtu, b\u00ebhet e mundur t\u00eb shikohen log-et e nj\u00eb kontejneri t\u00eb caktuar.<\/p>\n<p>P\u00ebr shembull, p\u00ebr t\u00eb zgjedhur log-et e kontejnerit promtail, mund t\u00eb p\u00ebrdorni k\u00ebrkes\u00ebn e m\u00ebposhtme: <code>{container_name = \"promtail\"}<\/code>.<br \/>\nEdhe k\u00ebtu mos harroni t\u00eb zgjidhni burimin e t\u00eb dh\u00ebnave Loki.<\/p>\n<p>Kjo k\u00ebrkes\u00eb do t\u00eb kthej\u00eb aktivitetin e kontejner\u00ebve n\u00eb form\u00ebn e m\u00ebposhtme:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 mbledhja e logeve duke p\u00ebrdorur qasjen e Prometheus\" src=\"\/wp-content\/uploads\/2020\/02\/ed2baebd374b9a6242cfc397776fa65f.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Rezultati i k\u00ebrkes\u00ebs n\u00eb Grafana <\/i><\/p>\n<h3>Shtimi n\u00eb dashboard<\/h3>\n<p>Duke filluar nga Grafana 6.4, informacioni i log-eve mund t\u00eb vendoset drejtp\u00ebrdrejt n\u00eb dashboard. Pas k\u00ebsaj, p\u00ebrdoruesi do t\u00eb mund t\u00eb kaloj\u00eb shpejt nga numri i k\u00ebrkesave n\u00eb faqen e tij te trace-et e aplikacionit.<\/p>\n<p>M\u00eb posht\u00eb \u00ebsht\u00eb nj\u00eb shembull dashboard-i q\u00eb realizon k\u00ebt\u00eb nd\u00ebrveprim:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 mbledhja e logeve duke p\u00ebrdorur qasjen e Prometheus\" src=\"\/wp-content\/uploads\/2020\/02\/d76c5345d543579eb3768fcdb0a2567b.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Shembull paneli me metrika Prometheus dhe logje Loki<\/i><\/p>\n<h3>E ardhmja e Loki<\/h3>\n<p>Kam filluar t\u00eb p\u00ebrdor Loki qysh n\u00eb maj\/qershor, q\u00eb nga versioni 0.1. Sot tashm\u00eb \u00ebsht\u00eb publikuar versioni 1, madje edhe 1.1 dhe 1.2.<\/p>\n<p>Duhet pranuar se versioni 0.1 nuk ishte mjaftuesh\u00ebm i q\u00ebndruesh\u00ebm. Por 0.3 tregoi tashm\u00eb shenja reale pjekurie, nd\u00ebrsa versionet pasuese (0.4, pastaj 1.0) vet\u00ebm sa e p\u00ebrforcuan k\u00ebt\u00eb p\u00ebrshtypje.<\/p>\n<p>Pas 1.0.0, askush nuk ka m\u00eb justifikim p\u00ebr t\u00eb mos e p\u00ebrdorur k\u00ebt\u00eb mjet t\u00eb shk\u00eblqyer.<\/p>\n<p>P\u00ebrmir\u00ebsimet e m\u00ebtejshme duhet t\u00eb lidhen jo aq me Loki-n, sa me integrimin e tij me Grafana-n e shk\u00eblqyer. N\u00eb fakt, n\u00eb Grafana 6.4 tashm\u00eb \u00ebsht\u00eb shfaqur nj\u00eb integrim i mir\u00eb me dashboard-et.<\/p>\n<p>Grafana 6.5, e cila u publikua s\u00eb fundmi, e p\u00ebrmir\u00ebson edhe m\u00eb tej k\u00ebt\u00eb integrim duke njohur automatikisht p\u00ebrmbajtjen e logjeve n\u00eb format JSON.<\/p>\n<p>M\u00eb posht\u00eb, n\u00eb video, \u00ebsht\u00eb dh\u00ebn\u00eb nj\u00eb shembull i vog\u00ebl i k\u00ebtij mekanizmi:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2014 mbledhja e logeve duke p\u00ebrdorur qasjen e Prometheus\" src=\"\/wp-content\/uploads\/2020\/02\/1e0a5269f21e401f349a35788672aec1.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>P\u00ebrdorimi i rreshtave t\u00eb Loki t\u00eb shfaqur n\u00eb Grafana<\/i><\/p>\n<p>B\u00ebhet e mundur p\u00ebrdorimi i nj\u00eb prej fushave JSON, p\u00ebr shembull, p\u00ebr:<\/p>\n<ul>\n<li>lidhje drejt nj\u00eb mjeti t\u00eb jasht\u00ebm<\/li>\n<li>filtrimin e p\u00ebrmbajtjes s\u00eb logjeve<\/li>\n<\/ul>\n<p>P\u00ebr shembull, mund t\u00eb klikoni mbi traceId p\u00ebr t\u00eb kaluar te Zipkin ose Jaeger.<\/p>\n<p>Si zakonisht, presim komentet tuaja dhe ju ftojm\u00eb n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/P37L\/\">webinarin e hapur<\/a><\/noindex>, ku do t\u00eb flasim p\u00ebr m\u00ebnyr\u00ebn si u zhvillua industria DevOps gjat\u00eb vitit 2019 dhe do t\u00eb diskutojm\u00eb rrug\u00ebt e mundshme t\u00eb zhvillimit p\u00ebr vitin 2020.<\/p>\n<p>Burimi: <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.2 - 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\/sq\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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 mbledhja e logjeve me qasjen Prometheus | ProHoster","description":"P\u00ebrsh\u00ebndetje, habrovian\u00eb!","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/56206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=56206"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/56206\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=56206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=56206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=56206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}