{"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\/de\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus","title":{"rendered":"Loki \u2013 Log-Sammlung unter Verwendung des Prometheus-Ansatzes","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i>Hallo, Habr-Bewohner! Im Vorfeld des Starts eines neuen Kurses <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/P37L\/\">\u201eDevOps-Praktiken und -Werkzeuge\u201c<\/a><\/noindex> haben wir f\u00fcr euch eine \u00dcbersetzung eines interessanten Materials vorbereitet.<\/i><\/p>\n<p>Dieser Artikel ist eine kurze Einf\u00fchrung in Loki. Das Loki-Projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/grafana.com\/oss\/loki\/\">wird von Grafana<\/a><\/noindex> unterst\u00fctzt und zielt darauf ab, Logs zentral zu sammeln (von Servern oder Containern).<\/p>\n<p>Die Hauptquelle der Inspiration f\u00fcr Loki war <noindex><a rel=\"nofollow\" href=\"http:\/\/prometheus.io\/\">Prometheus<\/a><\/noindex> die Idee, seine Ans\u00e4tze f\u00fcr das Log-Management anzuwenden:<\/p>\n<ul>\n<li>die Verwendung von Labels zur Speicherung von Daten<\/li>\n<li>der geringe Ressourcenverbrauch<\/li>\n<\/ul>\n<p>Wir werden noch auf die Funktionsweise von Prometheus zur\u00fcckkommen und einige Beispiele f\u00fcr seine Verwendung im Kontext von Kubernetes anf\u00fchren.<\/p>\n<h3>Ein paar Worte zu Prometheus<\/h3>\n<p>Um zu verstehen, wie Loki funktioniert, ist es wichtig, einen Schritt zur\u00fcckzutreten und sich ein wenig an Prometheus zu erinnern.<\/p>\n<p>Eine der charakteristischen Eigenschaften von Prometheus ist das Sammeln von Metriken aus den Sammelpunkten (\u00fcber Exporteure) und deren Speicherung in einer TSDB (Time Series Data Base) unter Hinzuf\u00fcgung von Metadaten in Form von Labels.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Wozu das Ganze?<\/h3>\n<p>In letzter Zeit ist Prometheus zum De-facto-Standard in der Welt der Container und Kubernetes geworden: Seine Installation ist sehr einfach, und im Kubernetes-Cluster gibt es von Anfang an einen Endpunkt f\u00fcr Prometheus. Prometheus kann auch Metriken aus in Containern bereitgestellten Anwendungen extrahieren, wobei bestimmte Labels beibehalten werden. Daher ist das Monitoring von Anwendungen sehr einfach umzusetzen.<\/p>\n<p>Leider gibt es bisher keine schl\u00fcsselfertige L\u00f6sung f\u00fcr das Log-Management, und ihr m\u00fcsst eine L\u00f6sung f\u00fcr euch finden:<\/p>\n<ul>\n<li>einen verwalteten Cloud-Service zur Zentralisierung von Logs (AWS, Azure oder Google)<\/li>\n<li>einen \u00dcberwachungsdienst \"Monitoring as a Service\" (zum Beispiel Datadog)<\/li>\n<li>oder die Erstellung eines eigenen Log-Sammeldienstes.<\/li>\n<\/ul>\n<p>F\u00fcr die dritte Option habe ich traditionell Elasticsearch verwendet, obwohl ich nicht immer damit zufrieden war (insbesondere wegen seiner Komplexit\u00e4t und der schwierigen Konfiguration).<\/p>\n<p>Loki wurde mit dem Ziel entworfen, die Implementierung gem\u00e4\u00df den folgenden Prinzipien zu erleichtern:<\/p>\n<ul>\n<li>einfach zu starten sein<\/li>\n<li>wenig Ressourcen verbrauchen<\/li>\n<li>eigenst\u00e4ndig ohne spezielle Wartung funktionieren<\/li>\n<li>als Erg\u00e4nzung zu Prometheus dienen, um bei der Fehlersuche zu helfen.<\/li>\n<\/ul>\n<p>Diese Einfachheit wird jedoch durch einige Kompromisse erreicht. Einer davon ist, dass der Inhalt nicht indiziert wird. Daher ist die Textsuche nicht sehr effektiv oder umfassend und erm\u00f6glicht keine Statistiken \u00fcber den Textinhalt. Aber da Loki das \u00c4quivalent zu grep und eine Erg\u00e4nzung zu Prometheus sein m\u00f6chte, ist das kein Nachteil.<\/p>\n<h3>Vorfalluntersuchung<\/h3>\n<p>Um besser zu verstehen, warum Loki keine Indizierung ben\u00f6tigt, wollen wir auf die Methode der Vorfalluntersuchung zur\u00fcckblicken, die die Entwickler von Loki verwendet haben:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2013 Log-Sammlung unter Verwendung des Prometheus-Ansatzes\" src=\"\/wp-content\/uploads\/2020\/02\/2f9ba72d68ccafbe44ab1700d08e3a33.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>1 Alarm \u2192 2 Dashboard \u2192 3 Ad-hoc-Abfrage \u2192 4 Protokollaggregation \u2192 5 Verteiltes Tracing \u2192 6 Beheben!<br \/>\n(1 Alarm \u2192 2 Dashboard \u2192 3 Ad-hoc-Abfrage \u2192 4 Protokollaggregation \u2192 5 Verteiltes Tracing \u2192 6 Beheben!)<\/i><\/p>\n<p>Die Idee ist, dass wir einen Alarm erhalten (Slack-Benachrichtigung, SMS usw.) und dann:<\/p>\n<ul>\n<li>die Grafana-Dashboards ansehen<\/li>\n<li>die Metriken der Dienste ansehen (z. B. in Prometheus)<\/li>\n<li>die Protokolle anzeigen (z. B. in Elasticsearch)<\/li>\n<li>vielleicht einen Blick auf die verteilten Traces werfen (Jaeger, Zipkin usw.)<\/li>\n<li>und schlie\u00dflich das urspr\u00fcngliche Problem beheben.<\/li>\n<\/ul>\n<p>Hier, im Fall von Grafana + Prometheus + Elasticsearch + Zipkin, m\u00fcssen vier verschiedene Werkzeuge verwendet werden. Um die Zeit zu verk\u00fcrzen, w\u00e4re es gut, all diese Schritte mit einem Tool auszuf\u00fchren: Grafana. Es ist erw\u00e4hnenswert, dass dieser Ansatz zur Ermittlung in Grafana seit Version 6 implementiert ist. Somit ist es m\u00f6glich, direkt aus Grafana auf die Daten von Prometheus zuzugreifen.<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2013 Log-Sammlung unter Verwendung des Prometheus-Ansatzes\" src=\"\/wp-content\/uploads\/2020\/02\/eefc5a599a23abeb0624f4e3265a31e6.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Der Explorer-Bildschirm ist zwischen Prometheus und Loki aufgeteilt<\/i><\/p>\n<p>Auf diesem Bildschirm k\u00f6nnen Logs in Loki, die mit den Metriken von Prometheus verkn\u00fcpft sind, unter Verwendung des Konzeptes der Bildschirmteilung angesehen werden. Seit Version 6.5 erm\u00f6glicht Grafana die Verarbeitung der Trace-ID in den Protokollaufzeichnungen von Loki, um zu Ihren bevorzugten verteilten Tracing-Tools (Jaeger) zu navigieren.<\/p>\n<h3>Lokaler Loki-Test<\/h3>\n<p>Der einfachste Weg, Loki lokal zu testen, ist die Verwendung von docker-compose. Die docker-compose-Datei befindet sich im Loki-Repository. Das Repository kann mit folgendem Befehl abgerufen werden: <code>git<\/code>:<\/p>\n<pre><code class=\"go\">$ git clone https:\/\/github.com\/grafana\/loki.git<\/code><\/pre>\n<p>Dann m\u00fcssen Sie in das Verzeichnis production wechseln:<\/p>\n<pre><code class=\"go\">$ cd production<\/code><\/pre>\n<p>Danach k\u00f6nnen die neuesten Docker-Images abgerufen werden:<\/p>\n<pre><code class=\"go\">$ docker-compose pull<\/code><\/pre>\n<p>Schlie\u00dflich wird der Loki-Stack mit folgendem Befehl gestartet:<\/p>\n<pre><code class=\"go\">$ docker-compose up<\/code><\/pre>\n<h3>Architektur von Loki<\/h3>\n<p>Hier ist ein kleines Diagramm zur Architektur von Loki:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2013 Log-Sammlung unter Verwendung des Prometheus-Ansatzes\" src=\"\/wp-content\/uploads\/2020\/02\/fc5703bcebc1391e719640e99544f909.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Prinzipien der Architektur von Loki<\/i><\/p>\n<p>Der Web-Client startet Anwendungen auf dem Server, Promtail sammelt die Protokolle und sendet sie an Loki. Der Web-Client sendet auch Metadaten an Loki. Loki aggregiert alles und \u00fcbertr\u00e4gt es an Grafana.<br \/>\nLoki ist gestartet. Um die vorhandenen Komponenten anzuzeigen, f\u00fchren Sie den folgenden Befehl aus:<\/p>\n<pre><code class=\"go\">$ docker ps<\/code><\/pre>\n<p>Im Falle einer frisch installierten Docker-Umgebung sollte der Befehl das folgende Ergebnis zur\u00fcckgeben:<\/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>Wir sehen die folgenden Komponenten:<\/p>\n<ul>\n<li>Promtail: ein Agent, der f\u00fcr die Zentralisierung der Protokolle verantwortlich ist<\/li>\n<li>Grafana: ein bekanntes Tool f\u00fcr Dashboards<\/li>\n<li>Loki: ein Datenzentralisierungsdaemon<\/li>\n<\/ul>\n<p>Im Rahmen einer klassischen Infrastruktur (z. B. auf virtuellen Maschinen) sollte auf jeder Maschine ein Promtail-Agent bereitgestellt werden. Grafana und Loki k\u00f6nnen auf einer Maschine installiert werden.<\/p>\n<h3>Bereitstellung in Kubernetes<\/h3>\n<p>Die Installation der Loki-Komponenten in Kubernetes besteht aus Folgendem:<\/p>\n<ul>\n<li>DaemonSet zur Bereitstellung des Promtail-Agents auf jeder Maschine im Server-Cluster<\/li>\n<li>Bereitstellung (Deployment) von Loki<\/li>\n<li>und zuletzt \u2013 Bereitstellung von Grafana.<\/li>\n<\/ul>\n<p>Gl\u00fccklicherweise ist Loki als Helm-Paket verf\u00fcgbar, was die Bereitstellung erleichtert.<\/p>\n<h3>Installation \u00fcber Helm<\/h3>\n<p>Helm sollte bereits auf Ihrem System installiert sein. Es kann aus dem GitHub-Repository des Projekts heruntergeladen werden. Es wird installiert, indem das Archiv entpackt wird, das Ihrer Architektur entspricht, und helm hinzugef\u00fcgt wird zu <code>$PATH<\/code>.<\/p>\n<blockquote><p><i><b>Hinweis:<\/b> Die Version 3.0.0 von Helm wurde k\u00fcrzlich ver\u00f6ffentlicht. Da viele \u00c4nderungen darin enthalten sind, wird dem Leser empfohlen, etwas zu warten, bevor er sie verwendet.<\/i>.<\/p><\/blockquote>\n<h3>Hinzuf\u00fcgen einer Quelle f\u00fcr Helm<\/h3>\n<p>Der erste Schritt besteht darin, das Repository \"loki\" mit dem folgenden Befehl hinzuzuf\u00fcgen:<\/p>\n<pre><code class=\"go\">$ helm add loki https:\/\/grafana.github.io\/loki\/charts<\/code><\/pre>\n<p>Danach k\u00f6nnen Sie nach Paketen mit dem Namen \"loki\" suchen:<\/p>\n<pre><code class=\"go\">$ helm search loki<\/code><\/pre>\n<p>Ergebnis:<\/p>\n<pre><code class=\"go\">loki\/loki       0.17.2 v0.4.0 Loki: wie Prometheus, aber f\u00fcr Protokolle.\nloki\/loki-stack 0.19.1 v0.4.0 Loki: wie Prometheus, aber f\u00fcr Protokolle.\nloki\/fluent-bit 0.0.2  v0.0.1 Verwendet das fluent-bit Loki Go-Plugin f\u00fcr...\nloki\/promtail   0.13.1 v0.4.0 Verantwortlich f\u00fcr das Sammeln von Protokollen und...<\/code><\/pre>\n<p>Diese Pakete bieten folgende Funktionen:<\/p>\n<ul>\n<li>das Paket <b>loki\/loki<\/b> entspricht nur dem Loki-Server<\/li>\n<li>das Paket <b>loki\/fluent-bit<\/b> erm\u00f6glicht es Ihnen, einen DaemonSet bereitzustellen, der fluent-bit zur Protokollsammlung anstelle von Promtail verwendet<\/li>\n<li>das Paket <b>loki\/promtail<\/b> enth\u00e4lt einen Agenten zur Protokolldatensammlung<\/li>\n<li>das Paket <b>loki\/loki-stack<\/b>, erm\u00f6glicht die gleichzeitige Bereitstellung von Loki zusammen mit Promtail.<\/li>\n<\/ul>\n<h3>Installation von Loki<\/h3>\n<p>Um Loki in Kubernetes bereitzustellen, f\u00fchren Sie den folgenden Befehl im Namespace \"monitoring\" aus:<\/p>\n<pre><code class=\"go\">$ helm upgrade --install loki loki\/loki-stack --namespace monitoring<\/code><\/pre>\n<p>Um auf der Festplatte zu speichern, f\u00fcgen Sie den Parameter hinzu <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>Hinweis:<\/b> Wenn Sie Grafana gleichzeitig bereitstellen m\u00f6chten, f\u00fcgen Sie den Parameter hinzu <code>--set grafana.enabled = true<\/code><\/i><\/p><\/blockquote>\n<p>Beim Ausf\u00fchren dieses Befehls sollten Sie die folgende Ausgabe erhalten:<\/p>\n<pre><code class=\"go\">LETZTER DEPLOYMENT: Di, 19. Nov 2019 15:56:54\nNAMESPACE: monitoring\nSTATUS: DEPLOYED\nRESSOURCEN:\n==&amp;gt; v1\/ClusterRole\nNAME ALTER\nloki-promtail-clusterrole 189d\n&hellip;\nHINWEISE:\nDer Loki-Stack wurde in Ihrem Cluster bereitgestellt. Loki kann nun als Datenquelle in Grafana hinzugef&uuml;gt werden.\nSiehe &lt;a href=&quot;http:\/\/docs.grafana.org\/features\/datasources\/loki\/&quot;&gt;http:\/\/docs.grafana.org\/features\/datasources\/loki\/&lt;\/a&gt; f&uuml;r weitere Details.<\/code><\/pre>\n<p>Wenn wir den Zustand der Pods im Namespace \u201emonitoring\u201c betrachten, sehen wir, dass alles bereitgestellt wurde:<\/p>\n<pre><code class=\"go\">$ kubectl -n monitoring get pods -l release=loki<\/code><\/pre>\n<p>Ergebnis:<\/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>Alle Pods sind gestartet. Jetzt ist es Zeit, einige Tests durchzuf\u00fchren!<\/p>\n<h3>Verbindung zu Grafana<\/h3>\n<p>Um sich \u00fcber Kubernetes mit Grafana zu verbinden, m\u00fcssen Sie einen Tunnel zu seinem Pod \u00f6ffnen. Unten finden Sie den Befehl, um Port 3000 f\u00fcr den Grafana-Pod zu \u00f6ffnen:<\/p>\n<pre><code class=\"go\">$ kubectl -n port-forward monitoring svc\/loki-grafana 3000:80<\/code><\/pre>\n<p>Ein weiterer wichtiger Punkt ist die Wiederherstellung des Administratorpassworts von Grafana. Das Passwort wird im Geheimnis <code>loki-grafana<\/code> im Feld <code>.data.admin-user<\/code> im Base64-Format gespeichert.<\/p>\n<p>Um es wiederherzustellen, m\u00fcssen Sie den folgenden Befehl ausf\u00fchren:<\/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>Verwenden Sie dieses Passwort zusammen mit dem Standard-Administrator-Konto (admin).<\/p>\n<h3>Festlegen der Datenquelle Loki in Grafana<\/h3>\n<p>Stellen Sie zun\u00e4chst sicher, dass die Datenquelle Loki (Konfiguration \/ Datenquelle) erstellt wurde.<br \/>\nHier ist ein Beispiel:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2013 Log-Sammlung unter Verwendung des Prometheus-Ansatzes\" src=\"\/wp-content\/uploads\/2020\/02\/3b670a4b1a8b4db74b1e1f525fd03129.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Beispiel f\u00fcr die Konfiguration einer Datenquelle f\u00fcr Loki<\/i><\/p>\n<p>Durch Klicken auf \u201eTest\u201c k\u00f6nnen Sie die Verbindung zu Loki \u00fcberpr\u00fcfen.<\/p>\n<h3>Anfragen an Loki stellen<\/h3>\n<p>Gehen Sie jetzt in Grafana zum Abschnitt \u201eExplore\u201c. Beim Empfang von Logs von Containern f\u00fcgt Loki Metadaten von Kubernetes hinzu. Somit wird es m\u00f6glich, die Logs eines bestimmten Containers anzuzeigen.<\/p>\n<p>Um beispielsweise die Logs des Containers promtail auszuw\u00e4hlen, k\u00f6nnen Sie die folgende Anfrage verwenden: <code>{container_name = \"promtail\"}<\/code>.<br \/>\nVergessen Sie auch nicht, die Datenquelle Loki auszuw\u00e4hlen.<\/p>\n<p>Diese Anfrage gibt die Aktivit\u00e4t der Container in folgender Form zur\u00fcck:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2013 Log-Sammlung unter Verwendung des Prometheus-Ansatzes\" src=\"\/wp-content\/uploads\/2020\/02\/ed2baebd374b9a6242cfc397776fa65f.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Ergebnis der Anfrage in Grafana <\/i><\/p>\n<h3>Hinzuf\u00fcgen zum Dashboard<\/h3>\n<p>Seit Grafana 6.4 ist es m\u00f6glich, Loginformationen direkt auf dem Dashboard anzuzeigen. Danach kann der Benutzer schnell zwischen der Anzahl der Anfragen auf seiner Website und den Anwendungstraces wechseln.<\/p>\n<p>Nachfolgend ein Beispiel eines Dashboards, das diese Interaktion implementiert:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2013 Log-Sammlung unter Verwendung des Prometheus-Ansatzes\" src=\"\/wp-content\/uploads\/2020\/02\/d76c5345d543579eb3768fcdb0a2567b.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Beispiel eines Dashboards mit Prometheus-Metriken und Loki-Protokollen<\/i><\/p>\n<h3>Die Zukunft von Loki<\/h3>\n<p>Ich begann im Mai\/Juni mit der Verwendung von Loki in Version 0.1. Heute wurde bereits Version 1 sowie 1.1 und 1.2 ver\u00f6ffentlicht.<\/p>\n<p>Man muss zugeben, dass Version 0.1 nicht besonders stabil war. Aber 0.3 zeigte bereits echte Anzeichen von Reife, und die folgenden Versionen (0.4, dann 1.0) verst\u00e4rkten diesen Eindruck nur.<\/p>\n<p>Nach 1.0.0 gibt es keine Ausreden mehr, dieses wunderbare Werkzeug nicht zu benutzen.<\/p>\n<p>Zuk\u00fcnftige Verbesserungen sollten sich weniger auf Loki konzentrieren, sondern vielmehr auf seine Integration mit dem hervorragenden Grafana. Tats\u00e4chlich gibt es in Grafana 6.4 bereits eine gute Integration mit Dashboards.<\/p>\n<p>Grafana 6.5, das k\u00fcrzlich ver\u00f6ffentlicht wurde, verbessert diese Integration weiter, indem es den Inhalt von Protokollen im JSON-Format automatisch erkennt.<\/p>\n<p>Unten im Video finden Sie ein kleines Beispiel f\u00fcr diesen Mechanismus:<\/p>\n<p><img decoding=\"async\" alt=\"Loki \u2013 Log-Sammlung unter Verwendung des Prometheus-Ansatzes\" src=\"\/wp-content\/uploads\/2020\/02\/1e0a5269f21e401f349a35788672aec1.jpg\" style=\"display:block;margin: 0 auto;\"><br \/>\n<i>Verwendung von Loki-Zeilen, die in Grafana angezeigt werden<\/i><\/p>\n<p>Es wird m\u00f6glich, eines der JSON-Felder zu verwenden, zum Beispiel f\u00fcr:<\/p>\n<ul>\n<li>Links zu externen Werkzeugen<\/li>\n<li>Filtern von Protokollinhalten<\/li>\n<\/ul>\n<p>Zum Beispiel k\u00f6nnen Sie auf traceId klicken, um zu Zipkin oder Jaeger zu gelangen.<\/p>\n<p>Traditionell erwarten wir Ihre Kommentare und laden Sie ein zu <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/P37L\/\">einem offenen Webinar<\/a><\/noindex>, in dem wir \u00fcber die Entwicklungen in der DevOps-Branche im Jahr 2019 sprechen und m\u00f6gliche Entwicklungsm\u00f6glichkeiten f\u00fcr 2020 diskutieren.<\/p>\n<p>Quelle: <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.1.1 - 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\/de\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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\/de\/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 \u2013 Protokollsammlung unter Verwendung des Prometheus-Ansatzes | ProHoster","description":"Hallo, Habr-Nutzer!","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/loki-sbor-logov-ispolzuya-podhod-prometheus","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/56206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=56206"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/56206\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=56206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=56206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=56206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}