{"id":13289,"date":"2026-07-13T19:46:59","date_gmt":"2026-07-13T12:46:59","guid":{"rendered":"\/de\/tutorials\/?p=13289"},"modified":"2026-07-13T19:51:40","modified_gmt":"2026-07-13T12:51:40","slug":"lgtm-stack-einrichten","status":"publish","type":"post","link":"\/de\/tutorials\/lgtm-stack-einrichten\/","title":{"rendered":"So richten Sie den LGTM-Stack f\u00fcr eine durchg\u00e4ngige Beobachtbarkeit ein"},"content":{"rendered":"<p>Der LGTM-Stack &ndash; bestehend aus <strong>Loki <\/strong>f&uuml;r Protokolle, <strong>Grafana <\/strong>f&uuml;r die Visualisierung, <strong>Tempo <\/strong>f&uuml;r die Ablaufverfolgung und <strong>Mimir <\/strong>f&uuml;r Metriken &ndash; ist eine von Grafana Labs entwickelte Open-Source-Suite zur Observability.<\/p><p>Dieser leistungsstarke Stack vereint Metriken, Protokolle und Traces auf einer einzigen Plattform und bietet Teams so einen umfassenden &Uuml;berblick &uuml;ber die Systemleistung.<\/p><p>In dieser Anleitung erhalten Sie einen klaren, durchg&auml;ngigen Einblick in Ihre Anwendungen und Infrastruktur, und erfahren, wie Sie den LGTM-Stack auf einem Virtual Private Server (VPS) einrichten &ndash; von der Konfiguration jeder Komponente bis zur Erstellung eines umfassenden Observability-Dashboards.<\/p><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-what-is-end-to-end-observability\\\"'>Was ist durchg&auml;ngige Observability?<\/h2><p>End-to-End-Observability bedeutet die &Uuml;berwachung und Analyse des gesamten Lebenszyklus einer Anwendung, von den Benutzerinteraktionen im Frontend bis hin zu den Diensten und Infrastrukturkomponenten im Backend.<\/p><p>Im Gegensatz zur herk&ouml;mmlichen &Uuml;berwachung, die lediglich vordefinierte Metriken erfasst, um den Systemzustand zu messen und bei bekannten Problemen Warnmeldungen auszugeben, bietet die durchg&auml;ngige Observability einen einheitlichen &Uuml;berblick &uuml;ber:<\/p><ul class=\"wp-block-list\">\n<li><strong>Benutzerinteraktionen <\/strong>&ndash; Frontend-Metriken und Benutzerverhalten erfassen.<\/li>\n\n\n\n<li><strong>Anwendungsleistung <\/strong>&ndash; Backend-Dienste und interne APIs &uuml;berwachen.<\/li>\n\n\n\n<li><strong>Zustand der Infrastruktur <\/strong>&ndash; Status von Servern, Datenbanken und Netzwerken bewerten.<\/li>\n\n\n\n<li><strong>Drittanbieter-Dienste <\/strong>&ndash; Abh&auml;ngigkeiten wie Zahlungsgateways oder Cloud-Anbieter beobachten.<\/li>\n<\/ul><p>Durch die Korrelation von Daten &uuml;ber alle Ebenen hinweg gewinnen Teams Einblicke darin, wie sich &Auml;nderungen in einem Bereich auf die Gesamtleistung des Systems auswirken, und k&ouml;nnen Probleme schnell erkennen, wo immer sie auftreten.<\/p><p>Der LGTM-Stack unterst&uuml;tzt eine durchg&auml;ngige Beobachtbarkeit, indem er Apps so instrumentiert, dass Telemetriedaten erfasst werden: <strong>Protokolle<\/strong>, <strong>Metriken <\/strong>und <strong>Traces<\/strong>. Der Stack aggregiert diese Daten &uuml;ber seine Komponenten und visualisiert sie in Grafana-Dashboards zur einfachen Analyse.<\/p><p>Dieser Ansatz bietet mehrere Vorteile:<\/p><ul class=\"wp-block-list\">\n<li><strong>Umfassende &Uuml;berwachung <\/strong>&ndash; Der LGTM-Stack bietet einen ganzheitlichen &Uuml;berblick &uuml;ber das Systemverhalten und erm&ouml;glicht so die proaktive Erkennung und Behebung von Problemen.<\/li>\n\n\n\n<li><strong>Verbesserte Fehlerbehebung <\/strong>&ndash; Die Korrelation von Daten aus mehreren Quellen hilft Teams dabei, die Grundursachen schnell zu identifizieren und so die durchschnittliche Zeit bis zur Behebung (MTTR) zu verk&uuml;rzen.<\/li>\n\n\n\n<li><strong>Skalierbarkeit <\/strong>&ndash; Jede LGTM-Komponente l&auml;sst sich horizontal skalieren, um komplexe, verteilte Systeme zu unterst&uuml;tzen.<\/li>\n\n\n\n<li><strong>Kosteneffizienz <\/strong>&ndash; Als Open-Source-L&ouml;sung entfallen beim LGTM-Stack die Lizenzgeb&uuml;hren, die bei propriet&auml;ren Observability-Tools anfallen.<\/li>\n<\/ul><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-prerequisites\\\"'>Voraussetzungen<\/h2><p>Bevor Sie den LGTM-Stack einrichten, m&uuml;ssen Sie eine VPS-Instanz vorbereiten, auf der er gehostet werden soll. Grafana, die Hauptoberfl&auml;che zur Visualisierung von Observability-Daten, ben&ouml;tigt keine umfangreichen Ressourcen. Sie k&ouml;nnen den vollst&auml;ndigen LGTM-Stack auf einem VPS mit folgenden Mindestanforderungen ausf&uuml;hren:<\/p><ul class='wp-block-list \\\"wp-block-list\\\"'>\n<li><strong>1 <\/strong>CPU-Kern.<\/li>\n\n\n\n<li><strong>512 MB <\/strong>RAM.<\/li>\n<\/ul><p>Da der LGTM-Stack jedoch die Systemleistung und das Anwendungsverhalten &uuml;berwacht, sollten Sie einen VPS-Plan w&auml;hlen, der der Gr&ouml;&szlig;e und Nutzung Ihres Systems entspricht.<\/p><p><a href=\"\/de\/vps\">Hostingers VPS-Dienst<\/a> ist eine hervorragende Wahl und bietet Pl&auml;ne ab <strong>5.49 \u20ac <\/strong>bis <strong>21.99 \u20ac<\/strong>.<\/p><p>Die Pl&auml;ne von Hostinger umfassen bis zu <strong>8 <\/strong>vCPU-Kerne, <strong>32 GB <\/strong>RAM und <strong>400 GB <\/strong>NVMe-Speicher. Ein Upgrade ist jederzeit m&ouml;glich, falls Ihr Observability-Stack mehr Leistung oder Speicherplatz erfordert.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/de\/vps-server\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/02\/DE-VPS-hosting_in-text-banner.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-3556\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/02\/DE-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/02\/DE-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2024\/02\/DE-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>Konfigurieren Sie als N&auml;chstes Ihre Firewall. &Ouml;ffnen Sie die folgenden Ports auf Ihrem VPS, um einen reibungslosen Betrieb der LGTM-Komponenten zu gew&auml;hrleisten:<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><tbody><tr><td><strong>Port<\/strong><\/td><td><strong>Komponente<\/strong><\/td><td><strong>Zweck<\/strong><\/td><\/tr><tr><td><strong>3000\/TCP<\/strong><\/td><td>Grafana<\/td><td>Weboberfl&auml;che f&uuml;r Dashboards und die Verwaltung von Datenquellen<\/td><\/tr><tr><td><strong>3100\/TCP<\/strong><\/td><td>Loki<\/td><td>Empf&auml;ngt Protokolldaten und bearbeitet Protokollabfragen<\/td><\/tr><tr><td><strong>3200\/TCP<\/strong><\/td><td>Tempo<\/td><td>Ist f&uuml;r die Erfassung und Abfrage von Trace-Daten zust&auml;ndig<\/td><\/tr><tr><td><strong>9090\/TCP<\/strong><\/td><td>Mimir (basiert auf Prometheus)<\/td><td>Stellt Prometheus-kompatible APIs f&uuml;r die Speicherung und Abfrage von Metriken bereit<\/td><\/tr><tr><td><strong>4318\/TCP<\/strong><\/td><td>OpenTelemetry Collector (zus&auml;tzliches Tool)<\/td><td>Nimmt Telemetriedaten im OTLP-\/HTTP-Format entgegen<\/td><\/tr><\/tbody><\/table><\/figure><p>Falls Sie gerade erst einen VPS erworben oder noch keine Firewall konfiguriert haben, k&ouml;nnen Sie diesen Schritt &uuml;berspringen.<\/p><p>Wenn Sie die Uncomplicated Firewall (UFW) aktiviert haben, dann &ouml;ffnen Sie Ihr Terminal und f&uuml;hren Sie folgende Befehle aus:<br><\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo ufw allow 3000\/tcp    # Grafana  \nsudo ufw allow 3100\/tcp    # Loki  \nsudo ufw allow 3200\/tcp    # Tempo  \nsudo ufw allow 9090\/tcp    # Mimir  \nsudo ufw allow 4318\/tcp    # OpenTelemetry Collector<\/pre><p>&Uuml;berpr&uuml;fen Sie anschlie&szlig;end, ob UFW aktiv ist und die Regeln angewendet werden, indem Sie folgenden Befehl ausf&uuml;hren:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo ufw status<\/pre><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-how-to-set-up-the-lgtm-stack-on-a-vps\\\"'>So richten Sie den LGTM-Stack auf einem VPS ein<\/h2><p>Sie k&ouml;nnen den LGTM-Stack auf Ihrem VPS auf verschiedene Arten einrichten. In diesem Tutorial wird <strong>Docker Compose <\/strong>verwendet, mit dem Sie alle Komponenten schnell in einer einzigen Datei bereitstellen und verwalten k&ouml;nnen. Dies ist die einfachste Methode und eignet sich gut f&uuml;r Anf&auml;nger.<\/p><p>Falls Sie mehr Kontrolle bevorzugen oder Docker vermeiden m&ouml;chten, stellen wir Ihnen auch Anleitungen zur manuellen Installation der einzelnen Komponenten zur Verf&uuml;gung.<\/p><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-1-prepare-the-environment\\\"'>1. Bereiten Sie die Umgebung vor<\/h2><p>Beginnen Sie damit, die Paketlisten Ihres VPS zu aktualisieren und die installierten Pakete auf die neuesten Versionen zu aktualisieren. Dadurch wird sichergestellt, dass Ihr Server &uuml;ber die neuesten Sicherheitspatches und Softwareverbesserungen verf&uuml;gt:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt update &amp;&amp; sudo apt upgrade -y<\/pre><p>Wenn gew&uuml;nscht oder n&ouml;tig, k&ouml;nnen Sie nicht mehr ben&ouml;tigte Pakete und Abh&auml;ngigkeiten entfernen, um Speicherplatz freizugeben:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt autoremove -y<\/pre><p>Installieren Sie anschlie&szlig;end <a href=\"\/de\/tutorials\/docker-auf-ubuntu-installieren\/\">Docker auf Ihrem Server<\/a>, um die containerisierte Bereitstellung zu erm&ouml;glichen und Docker Compose zu nutzen.<\/p><p>Hostinger VPS-Kunden k&ouml;nnen die Einrichtung vereinfachen, indem sie eine vorkonfigurierte Docker-Vorlage per 1-Klick-Installation verwenden. Andernfalls m&uuml;ssen Sie die Plattform manuell mithilfe von Linux-Befehlen installieren.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5ac467\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5ac467\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1015\" height=\"231\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/de\/tutorials\/wp-content\/uploads\/sites\/29\/2026\/05\/choose-docker-hpanel.png\" alt=\"Die Docker-Vorlage im hPanel-VPS\" class=\"wp-image-11454\" srcset=\"https:\/\/www.hostinger.com\/de\/tutorials\/wp-content\/uploads\/sites\/29\/2026\/05\/choose-docker-hpanel.png 1015w, https:\/\/www.hostinger.com\/de\/tutorials\/wp-content\/uploads\/sites\/29\/2026\/05\/choose-docker-hpanel-300x68.png 300w, https:\/\/www.hostinger.com\/de\/tutorials\/wp-content\/uploads\/sites\/29\/2026\/05\/choose-docker-hpanel-768x175.png 768w\" sizes=\"(max-width: 1015px) 100vw, 1015px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Wenn Sie Docker nicht verwenden werden, k&ouml;nnen Sie diesen Abschnitt einfach &uuml;berspringen.<\/p><p>&Uuml;berpr&uuml;fen Sie nach der Installation, ob Docker funktioniert, indem Sie folgenden Befehl ausf&uuml;hren:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl status docker<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5adb6e\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5adb6e\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"466\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Terminal-Docker-aktiv-laufend-hervorgehoben.png\/public\" alt=\"Ein Terminalausgang, der anzeigt, dass Docker aktiv ist und ausgef&uuml;hrt wird\" class=\"wp-image-13270\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Terminal-Docker-aktiv-laufend-hervorgehoben.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Terminal-Docker-aktiv-laufend-hervorgehoben.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Terminal-Docker-aktiv-laufend-hervorgehoben.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Dr&uuml;cken Sie <strong>Strg + C, <\/strong>um die Statusansicht zu verlassen.<\/p><p>Erstellen Sie anschlie&szlig;end ein neues Verzeichnis f&uuml;r Ihre LGTM-Stack-Dateien und wechseln Sie in dieses Verzeichnis. Ersetzen Sie <strong>grafana-lgtm <\/strong>durch den von Ihnen gew&uuml;nschten Verzeichnisnamen:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir grafana-lgtm\n\ncd grafana-lgtm<\/pre><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-2-set-up-loki-for-log-aggregation\\\"'>2. Richten Sie Loki f&uuml;r die Protokollaggregation ein<\/h2><p>Loki &uuml;bernimmt die Protokollaggregation, indem es Protokolle aus verschiedenen Quellen sammelt und speichert.<\/p><p>Es indexiert lediglich Metadaten anstelle des vollst&auml;ndigen Log-Inhalts, um Speicherkosten zu senken und die Abfrageleistung zu steigern &ndash; insbesondere beim Umgang mit gro&szlig;en Mengen an Log-Daten.<\/p><p>Erstellen Sie in Ihrem Verzeichnis <strong>grafana-lgtm <\/strong>mit dem Texteditor nano eine neue Datei mit dem Namen <strong>loki-local-config.yaml<\/strong>:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo nano loki-local-config.yaml<\/pre><p>F&uuml;gen Sie die folgende Konfiguration in die Datei ein:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">auth_enabled: false\n\nserver:\n  http_listen_port: 3100\n\nschema_config:\n  configs:\n    - from: 2020-10-24\n      store: boltdb-shipper\n      object_store: filesystem\n      schema: v11\n      index:\n        prefix: index_\n        period: 24h\n\nstorage_config:\n  boltdb_shipper:\n    active_index_directory: \/tmp\/loki\/boltdb-shipper-active\n    cache_location: \/tmp\/loki\/boltdb-shipper-cache\n    cache_ttl: 24h\n  filesystem:\n    directory: \/tmp\/loki\/chunks\n\nlimits_config:\n  reject_old_samples: true\n  reject_old_samples_max_age: 168h\n  allow_structured_metadata: false\n\ningester:\n  lifecycler:\n    address: 127.0.0.1\n    ring:\n      kvstore:\n        store: inmemory\n      replication_factor: 1\n    final_sleep: 0s\n  chunk_idle_period: 5m\n  chunk_retain_period: 30s\n\ncommon:\n  path_prefix: \/tmp\/loki\n\ncompactor:\n  working_directory: \/tmp\/loki\/compactor<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5af31d\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5af31d\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"621\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-loki-local-config-yaml.png\/public\" alt=\"Inhalt der Loki-Konfigurationsdatei\" class=\"wp-image-13269\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-loki-local-config-yaml.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-loki-local-config-yaml.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-loki-local-config-yaml.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Wenn Sie fertig sind, dr&uuml;cken Sie <strong>Strg + X &rarr; Y &rarr; Enter, <\/strong>um die Datei zu speichern und <strong>nano<\/strong> zu beenden.<\/p><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-3-configure-mimir-for-metric-storage\\\"'>3. Konfigurieren Sie Mimir f&uuml;r die Speicherung von Metriken<\/h2><p>Grafana Mimir baut auf Prometheus auf und erweitert dieses um skalierbare, langfristige Speicherung sowie leistungsstarke Abfragen f&uuml;r gro&szlig;e Mengen an Zeitreihendaten.<\/p><p>In dieser Anleitung verwenden wir jedoch ausschlie&szlig;lich Prometheus, da es sich besser in den OpenTelemetry Collector integrieren l&auml;sst, um Metriken f&uuml;r diese Konfiguration zu erfassen.<\/p><p>Erstellen Sie mit <strong>nano <\/strong>eine neue Datei <strong>prometheus.yml<\/strong>, genau wie bei der Konfiguration von Loki. F&uuml;gen Sie anschlie&szlig;end die folgende Konfiguration ein:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">global:\n  scrape_interval: 5s            # Scraping interval, shortened to 5 seconds to get data faster (default is 1m)\nscrape_configs:\n  - job_name: 'otel-collector'\n    static_configs:\n      - targets: ['otel-collector:9464']   # Target is the Prometheus Exporter port of OTel Collector<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5b09c6\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5b09c6\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"141\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-prometheus-yml.png\/public\" alt=\"Inhalt der Prometheus-Konfigurationsdatei\" class=\"wp-image-13267\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-prometheus-yml.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-prometheus-yml.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-prometheus-yml.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Speichern Sie die Datei, wenn Sie fertig sind.<\/p><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-4-integrate-tempo-for-distributed-tracing\\\"'>4. Integrieren Sie Tempo f&uuml;r verteilte Tracing-Funktionen<\/h2><p>Grafana Tempo ist ein hochskalierbares, verteiltes Tracing-Backend, das Trace-Daten &uuml;ber Microservice-Architekturen hinweg sammelt, speichert und abfragt.<\/p><p>Mit Tempo k&ouml;nnen Sie den Weg von Anfragen visualisieren, w&auml;hrend diese verschiedene Dienste durchlaufen. Dies hilft, Engp&auml;sse schnell und effektiv zu identifizieren.<\/p><p>Erstellen Sie wie bei den vorherigen Komponenten eine Datei mit dem Namen <strong>tempo-local.yaml<\/strong>, um die Konfiguration von Tempo zu speichern:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">distributor:\n  receivers:\n    otlp:\n      protocols:\n        http:\n          endpoint: \"0.0.0.0:4318\"\n\nstorage:\n  trace:\n    backend: local\n    local:\n      path: \/tmp\/tempo\/blocks\n    wal:\n      path: \/tmp\/tempo\/wal\n\ningester:\n  trace_idle_period: 30s\n  max_block_duration: \"5m\"\n  lifecycler:\n    ring:\n      kvstore:\n        store: inmemory\n      replication_factor: 1\n\ncompactor:\n  compaction:\n    block_retention: 1h\n\nquerier: {}  # &#11088; Must be added, otherwise it will automatically exit\n\nmultitenancy_enabled: false  # &#11088; Recommended to add, to avoid single-tenant environment errors<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5b1f11\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5b1f11\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"600\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-tempo-local-yaml.png\/public\" alt=\"Inhalt der Tempo-Konfigurationsdatei\" class=\"wp-image-13271\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-tempo-local-yaml.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-tempo-local-yaml.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-tempo-local-yaml.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>F&uuml;r diejenigen, die einen praktischen Ansatz bevorzugen, bieten wir au&szlig;erdem eine Anleitung zur manuellen Einrichtung von Tempo an.<\/p><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-5-install-grafana-for-observability\\\"'>5. Installieren Sie Grafana f&uuml;r die Observability<\/h2><p>Grafana dient als zentrale Visualisierungsebene im LGTM-Stack und b&uuml;ndelt Daten aus allen anderen Komponenten an einem Ort. Dies vereinfacht das Erkennen und Beheben von Systemanomalien.<\/p><p>Sie k&ouml;nnen Grafana auf Ihrem VPS entweder manuell oder als Teil der Dienste in einer Docker-Compose-Datei installieren.<\/p><p>Wenn Sie sich f&uuml;r Letzteres entscheiden, dann erstellen Sie zun&auml;chst einen neuen Ordner namens <strong>grafana <\/strong>innerhalb des Verzeichnisses <strong>grafana-lgtm<\/strong>:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir grafana\n\ncd grafana<\/pre><p>Erstellen Sie anschlie&szlig;end eine Datei mit dem Namen <strong>datasources.yml <\/strong>im Verzeichnis <strong>grafana-lgtm\/grafana<\/strong>, um die Datenquellen zu konfigurieren. F&uuml;gen Sie den folgenden Inhalt ein:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apiVersion: 1\ndatasources:\n  - name: Prometheus\n    type: prometheus\n    access: proxy\n    url: http:\/\/prometheus:9090\n    isDefault: true\n\n  - name: Loki\n    type: loki\n    access: proxy\n    url: http:\/\/loki:3100\n    isDefault: false\n\n  - name: Tempo\n    type: tempo\n    access: proxy\n    url: http:\/\/tempo:3200\n    isDefault: false<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5b3552\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5b3552\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"658\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-datasources-yml.png\/public\" alt=\"Inhalt der Grafana-Datenquellendatei\" class=\"wp-image-13273\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-datasources-yml.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-datasources-yml.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-datasources-yml.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Erstellen Sie anschlie&szlig;end im selben Ordner eine weitere Datei namens <strong>dashboards.yml<\/strong>, um die Dashboard-Anbieter einzurichten:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">apiVersion: 1\nproviders:\n  - name: 'Local Dashboards'\n    orgId: 1\n    folder: ''\n    type: file\n    disableDeletion: false\n    updateIntervalSeconds: 5\n    options:\n      path: \/var\/lib\/grafana\/dashboards<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5b4962\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5b4962\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"378\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-dashboards-yml.png\/public\" alt=\"Inhalt der Grafana Dashboardprovider-Datei\" class=\"wp-image-13272\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-dashboards-yml.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-dashboards-yml.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-dashboards-yml.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Erstellen Sie anschlie&szlig;end einen Ordner <strong>Dashboard <\/strong>und wechseln Sie in diesen Ordner:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir dashboards\n\ncd dashboards<\/pre><p>F&uuml;gen Sie eine Datei mit dem Namen <strong>springboot-observability.json<\/strong> hinzu. Diese Datei dient als Beispiel-Dashboard:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n    \"uid\": \"springboot-observability\",\n    \"title\": \"Spring Boot OTEL Demo Dashboard\",\n    \"time\": {\n        \"from\": \"now-5m\",\n        \"to\": \"now\"\n    },\n    \"panels\": [\n        {\n            \"type\": \"timeseries\",\n            \"title\": \"JVM Heap Memory Used\",\n            \"datasource\": \"Prometheus\",\n            \"targets\": [\n                {\n                    \"expr\": \"process_runtime_jvm_memory_usage{service_name=\\\"springboot-otel-demo\\\", type=\\\"heap\\\"}\"\n                }\n            ],\n            \"fieldConfig\": {\n                \"defaults\": {\n                    \"unit\": \"bytes\"\n                }\n            },\n            \"gridPos\": {\n                \"x\": 0,\n                \"y\": 0,\n                \"w\": 12,\n                \"h\": 8\n            }\n        },\n        {\n            \"type\": \"logs\",\n            \"title\": \"Application Logs (springboot-otel-demo)\",\n            \"datasource\": \"Loki\",\n            \"targets\": [\n                {\n                    \"expr\": \"{service_name=\\\"springboot-otel-demo\\\"}\"\n                }\n            ],\n            \"gridPos\": {\n                \"x\": 0,\n                \"y\": 8,\n                \"w\": 24,\n                \"h\": 8\n            }\n        }\n    ]\n}<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5b5d77\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5b5d77\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"596\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-sprintboot-observability-json.png\/public\" alt=\"Inhalt der Grafana Beispiel-Dashboard-Datei\" class=\"wp-image-13274\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-sprintboot-observability-json.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-sprintboot-observability-json.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-grafana-sprintboot-observability-json.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-6-create-a-docker-compose-file\\\"'>6. Erstellen Sie eine Docker-Compose-Datei<\/h2><p>Nachdem Sie alle Komponenten konfiguriert haben, k&ouml;nnen Sie nun eine Docker-Compose-Datei erstellen. Diese Datei definiert und verwaltet alle LGTM-Stack-Dienste an einem Ort, wodurch die Bereitstellung einfach und einheitlich gestaltet wird.<\/p><p>Sie k&ouml;nnen diesen Schritt &uuml;berspringen, wenn Sie alle Komponenten manuell ohne Docker installiert haben.<\/p><p>Kehren Sie zun&auml;chst in das Verzeichnis <strong>grafana-lgtm<\/strong> zur&uuml;ck und erstellen Sie dann eine <strong>docker-compose.yml<\/strong>-Datei:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd ~\/grafana-lgtm\nsudo nano docker-compose.yml<\/pre><p>F&uuml;gen Sie die folgende Konfiguration in die Datei ein:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">services:\n\n  prometheus:\n    image: prom\/prometheus:latest\n    container_name: prometheus\n    volumes:\n      - .\/prometheus.yml:\/etc\/prometheus\/prometheus.yml:ro\n    ports:\n      - \"9090:9090\"\n\n  loki:\n    image: grafana\/loki:latest\n    container_name: loki\n    user: \"0:0\"  # Run as root user\n    volumes:\n      - .\/loki-local-config.yaml:\/etc\/loki\/local-config.yaml:ro\n      - loki-data:\/tmp\/loki\n    command: -config.file=\/etc\/loki\/local-config.yaml\n    ports:\n      - \"3100:3100\"\n\n  tempo:\n    image: grafana\/tempo:latest\n    container_name: tempo\n    user: \"0:0\"  # Run as root user\n    volumes:\n      - .\/tempo-local.yaml:\/etc\/tempo\/tempo-local.yaml:ro\n      - tempo-data:\/tmp\/tempo\n    command: [\"-config.file=\/etc\/tempo\/tempo-local.yaml\"]\n    ports:\n      - \"3200:3200\"   # HTTP query port\n\n  grafana:\n    image: grafana\/grafana:latest\n    container_name: grafana\n    environment:\n      - GF_SECURITY_ADMIN_USER=admin \n      - GF_SECURITY_ADMIN_PASSWORD=admin \n    volumes:\n      - .\/grafana\/datasources.yml:\/etc\/grafana\/provisioning\/datasources\/datasources.yml:ro\n      - .\/grafana\/dashboards.yml:\/etc\/grafana\/provisioning\/dashboards\/dashboards.yml:ro\n      - .\/grafana\/dashboards\/:\/var\/lib\/grafana\/dashboards:ro\n    ports:\n      - \"3000:3000\"\n    depends_on:\n      - prometheus\n      - loki\n      - tempo\n\nvolumes:\n  loki-data: {}\n  tempo-data: {}<\/pre><p>&Auml;ndern Sie die Werte f&uuml;r <strong>GF_SECURITY_ADMIN_USER <\/strong>und <strong>GF_SECURITY_ADMIN_PASSWORD <\/strong>unter dem Grafana-Dienst. Die vorgegebenen Werte sind Ihre Standard-Anmeldedaten f&uuml;r das Grafana-Dashboard. &Auml;ndern Sie sie, um die Sicherheit zu erh&ouml;hen.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5b73d0\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5b73d0\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"767\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-docker-compose-yml-gf-security-admin-hervorgehoben.png\/public\" alt=\"Inhalt der Docker Compose-Datei\" class=\"wp-image-13275\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-docker-compose-yml-gf-security-admin-hervorgehoben.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-docker-compose-yml-gf-security-admin-hervorgehoben.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-docker-compose-yml-gf-security-admin-hervorgehoben.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Vergessen Sie nicht, die Datei nach der Bearbeitung zu speichern.<\/p><p>Stellen Sie anschlie&szlig;end alle Dienste auf Ihrem Server mit folgendem Befehl bereit:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose up -d<\/pre><p>F&uuml;hren Sie folgenden Befehl aus, um zu &uuml;berpr&uuml;fen, ob die Dienste reibungslos funktionieren:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose ps<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5b8bee\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5b8bee\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"269\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Terminal-Docker-Zusammensetzungs-Schritte.png\/public\" alt=\"Ein Terminalausgang, der die laufenden Docker-Dienste anzeigt\" class=\"wp-image-13277\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Terminal-Docker-Zusammensetzungs-Schritte.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Terminal-Docker-Zusammensetzungs-Schritte.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Terminal-Docker-Zusammensetzungs-Schritte.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-7-access-the-grafana-dashboard\\\"'>7. Rufen Sie das Grafana-Dashboard auf<\/h2><p>&Ouml;ffnen Sie Ihren Browser und rufen Sie das Grafana-Dashboard &uuml;ber diese URL auf. Ersetzen Sie <strong>your_vps_ip <\/strong>durch die tats&auml;chliche IP-Adresse Ihres Servers:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">http:\/\/your_vps_ip:3000<\/pre><p>Wenn Sie Ihren LGTM-Stack auf dem Hostinger VPS hosten, finden Sie Ihre IP-Adresse im hPanel unter <strong>VPS &rarr; Verwalten &rarr; &Uuml;bersicht &rarr; VPS-Details<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5b9f2c\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5b9f2c\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1136\" height=\"364\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/05\/vps-overview-ipv4-hpanel.png\/public\" alt=\"Die IPv4-Informationen zum VPS in hPanel\" class=\"wp-image-12038\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/05\/vps-overview-ipv4-hpanel.png\/w=1136,fit=scale-down 1136w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/05\/vps-overview-ipv4-hpanel.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/05\/vps-overview-ipv4-hpanel.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/05\/vps-overview-ipv4-hpanel.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1136px) 100vw, 1136px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Melden Sie sich mit dem Benutzernamen und dem Passwort an, die Sie in der Compose-Datei festgelegt haben. Wenn Sie die Standard-Anmeldedaten verwenden, fordert Grafana Sie auf dem n&auml;chsten Bildschirm auf, Ihr Passwort zu &auml;ndern.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5bb3b0\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5bb3b0\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"851\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Login.png\/public\" alt=\"Die Grafana Login-Seite\" class=\"wp-image-13278\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Login.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Login.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Login.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Auf der Dashboard-Oberfl&auml;che finden Sie in der linken Seitenleiste ein Navigationsmen&uuml;, und auf der rechten Seite einen Hauptarbeitsbereich, in dem Sie Dashboards anzeigen und verwalten k&ouml;nnen.<\/p><p>Wenn Sie die Komponenten &uuml;ber Docker Compose eingerichtet haben, f&uuml;gt Grafana automatisch alle Datenquellen hinzu. &Uuml;berpr&uuml;fen Sie diese unter <strong>Verbindungen &rarr; Datenquellen<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5bc671\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5bc671\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"415\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Verbindungen-Datenquellen.png\/public\" alt=\"Das Men&uuml; Datenquellen in Grafana\" class=\"wp-image-13279\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Verbindungen-Datenquellen.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Verbindungen-Datenquellen.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Verbindungen-Datenquellen.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Wenn Sie die Komponenten manuell installiert haben, m&uuml;ssen Sie die Datenquellen selbst hinzuf&uuml;gen. Klicken Sie auf <strong>Neue Datenquelle hinzuf&uuml;gen<\/strong>, suchen Sie nach dem Namen der Komponente und w&auml;hlen Sie diese aus.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5bd862\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5bd862\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"285\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Add-Datenquellen.png\/public\" alt=\"Die Option Datenquelle in Grafana hinzuf&uuml;gen\" class=\"wp-image-13280\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Add-Datenquellen.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Add-Datenquellen.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Add-Datenquellen.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>F&uuml;llen Sie anschlie&szlig;end das URL-Feld f&uuml;r jede Komponente wie folgt aus:<\/p><ul class='wp-block-list \\\"wp-block-list\\\"'>\n<li><strong>Loki <\/strong>&ndash; http:\/\/loki:3100<\/li>\n\n\n\n<li><strong>Mimir und Prometheus <\/strong>&ndash; http:\/\/prometheus:9090<\/li>\n\n\n\n<li><strong>Tempo <\/strong>&ndash; http:\/\/tempo:3200<\/li>\n<\/ul><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5bed59\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5bed59\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"468\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Loki-Konfiguration.png\/public\" alt=\"Die Datenquellenkonfigurationsseite f&uuml;r Loki in Grafana\" class=\"wp-image-13281\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Loki-Konfiguration.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Loki-Konfiguration.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Loki-Konfiguration.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Sobald Sie jede Datenquelle eingegeben haben, scrollen Sie nach unten und klicken auf <strong>Speichern &amp; testen<\/strong>.<\/p><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-8-explore-data-sources\\\"'>8. Erkunden Sie Ihre Datenquellen<\/h2><p>Als N&auml;chstes betrachten wir Ihre Daten, indem wir Abfragen ausf&uuml;hren. Jede Komponente verwendet ihre eigene Abfragesprache: <strong>LogQL <\/strong>f&uuml;r Loki, <strong>PromQL <\/strong>f&uuml;r Mimir und Prometheus sowie <strong>TraceQL <\/strong>f&uuml;r Tempo.<\/p><p>W&auml;hlen Sie in der linken Seitenleiste des Dashboards <strong>Explore<\/strong> aus und w&auml;hlen Sie anschlie&szlig;end im oberen <strong>Dropdown-Men&uuml;<\/strong> Ihre bevorzugte Datenquelle aus.<\/p><p>Klicken Sie f&uuml;r Loki und Prometheus auf den Abschnitt <strong>Code<\/strong>. W&auml;hlen Sie f&uuml;r Tempo <strong>TraceQL<\/strong> aus. Geben Sie Ihre Abfrage ein und dr&uuml;cken Sie <strong>Umschalt + Eingabetaste<\/strong>, um sie auszuf&uuml;hren.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5c0614\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5c0614\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"425\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-explore-prometheus-code-hervorgehoben.png\/public\" alt=\"Der Abschnitt f&uuml;r Prometheus in Grafana\" class=\"wp-image-13282\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-explore-prometheus-code-hervorgehoben.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-explore-prometheus-code-hervorgehoben.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-explore-prometheus-code-hervorgehoben.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Hier finden Sie einige grundlegende Abfragebeispiele f&uuml;r jede Datenquelle:<\/p><p><strong>Loki<\/strong><\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{service_name= \"my-app\"}       # Show all logs for a specific service  \n{service_name=\"my-app\"} |= \"debug\"  # Show only debug logs<\/pre><p>Weitere Abfragen finden Sie in der <a href=\"https:\/\/grafana.com\/docs\/loki\/latest\/query\" target=\"_blank\" rel=\"noopener\">Offizielle LogQL-Dokumentation<\/a>.<\/p><p><strong>Mimir und Prometheus<\/strong><\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{service_name= \"my-app\"}       # Show all metrics for a specific service  \nprocess_cpu_usage{service_name=\"my-app\"}  # Show CPU usage<\/pre><p>Beispiele f&uuml;r fortgeschrittene Abfragen finden Sie in der <a href=\"https:\/\/prometheus.io\/docs\/prometheus\/latest\/querying\/basics\" target=\"_blank\" rel=\"noopener\">PromQL-Dokumentation<\/a>.<\/p><p><strong>Tempo<\/strong><\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{ resource.service.name = \"my-app\" &amp;&amp; status = error }         # Show error traces for a specific service  \n{ resource.service.name = \"my-app\" &amp;&amp; duration &gt; 500ms }      # Show traces with long durations<\/pre><p>Erfahren Sie mehr &uuml;ber <a href=\"https:\/\/grafana.com\/docs\/tempo\/latest\/traceql\" target=\"_blank\" rel=\"noopener\">Basis- und erweiterte TraceQL-Abfragen<\/a> auf der entsprechenden Dokumentationsseite.<\/p><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-9-create-a-unified-observability-dashboard\\\"'>9. Erstellen Sie ein einheitliches Observability-Dashboard<\/h2><p>&Ouml;ffnen Sie das Men&uuml; <strong>Dashboards <\/strong>in der linken Seitenleiste, um Ihre Metriken, Protokolle und Traces in einer umfassenden Ansicht darzustellen.<\/p><p>Wenn Sie den LGTM-Stack mit Docker Compose eingerichtet haben, steht Ihnen bereits ein Beispiel-Dashboard zur Verf&uuml;gung, das einen schnellen &Uuml;berblick &uuml;ber die Speicherauslastung und die Protokolle von mit OpenTelemetry instrumentierten Anwendungen bietet.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5c1fe5\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5c1fe5\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"283\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Dashboards.png\/public\" alt=\"Das Dashboards-Men&uuml; in Grafana\" class=\"wp-image-13283\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Dashboards.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Dashboards.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Dashboards.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Sie k&ouml;nnen auch ein neues Dashboard erstellen, indem Sie auf <strong>Neu &rarr; Neues Dashboard &rarr; Visualisierung hinzuf&uuml;gen <\/strong>klicken.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5c373f\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5c373f\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"683\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/grafana-dashboard-add-visualisierung-hervorgehoben.png\/public\" alt='Die Schaltfl&auml;che \"Visualisierung hinzuf&uuml;gen\" im Dashboards-Men&uuml; von Grafana' class=\"wp-image-13285\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/grafana-dashboard-add-visualisierung-hervorgehoben.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/grafana-dashboard-add-visualisierung-hervorgehoben.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/grafana-dashboard-add-visualisierung-hervorgehoben.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>W&auml;hlen Sie anschlie&szlig;end eine Datenquelle aus Ihren Komponenten aus. Benennen Sie das Panel im Panel-Editor so um, dass es den Namen der Komponente widerspiegelt, und geben Sie dann Ihre Abfrage in das daf&uuml;r vorgesehene Feld ein, um die gew&uuml;nschten Daten anzuzeigen.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5c4cce\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5c4cce\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"694\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Panel-Tempo.png\/public\" alt=\"Die Panel-Editor-Seite f&uuml;r Tempo in Grafana\" class=\"wp-image-13284\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Panel-Tempo.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Panel-Tempo.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Panel-Tempo.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Klicken Sie anschlie&szlig;end auf <strong>Zur&uuml;ck zum Dashboard &rarr; Hinzuf&uuml;gen &rarr; Visualisierung <\/strong>und wiederholen Sie diesen Vorgang, um Panels f&uuml;r alle Komponenten hinzuzuf&uuml;gen.<\/p><p>Nachdem Sie die Panels hinzugef&uuml;gt haben, k&ouml;nnen Sie nun deren Breite und H&ouml;he mithilfe des <strong>Gr&ouml;&szlig;enreglers <\/strong>in der unteren rechten Ecke jedes Panels anpassen. Sobald Sie die Anpassung abgeschlossen haben, klicken Sie auf <strong>Dashboard speichern <\/strong>und geben einen Namen ein, um Ihre &Auml;nderungen zu speichern.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5c613a\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5c613a\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"678\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Dashboards-speichern-Dashboard-hervorgehoben.png\/public\" alt=\"Die Schaltfl&auml;che Dashboard speichern in Grafana\" class=\"wp-image-13286\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Dashboards-speichern-Dashboard-hervorgehoben.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Dashboards-speichern-Dashboard-hervorgehoben.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/Grafana-Dashboards-speichern-Dashboard-hervorgehoben.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-10-add-apps-to-the-observability-system\\\"'>10. F&uuml;gen Sie Apps zum Observability-System hinzu<\/h2><p>Wie Sie bereits im vorherigen Schritt gesehen haben, ist das Dashboard leer, da noch keine zu &uuml;berwachenden Apps hinzugef&uuml;gt wurden. Sie k&ouml;nnen dies auf unterschiedliche Weisen tun.<\/p><p>Da Sie den Stack mit Docker Compose eingerichtet haben, f&uuml;hren wir Sie nun durch das Hinzuf&uuml;gen &uuml;ber <strong>OpenTelemetry Collector<\/strong>.<\/p><p>Es handelt sich um einen herstellerneutralen Agenten, der Telemetriedaten aus Ihren Apps erfasst und diese auf standardisierte Weise an die entsprechenden Komponenten weiterleitet.<\/p><p>Um den OpenTelemetry Collector einzurichten, m&uuml;ssen Sie Ihr Terminal &ouml;ffnen und in das Verzeichnis <strong>grafana-lgtm<\/strong> wechseln. Erstellen Sie anschlie&szlig;end mit <strong>nano <\/strong>eine Datei namens <strong>otel-collector-config.yaml<\/strong>:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd grafana-lgtm\nsudo nano otel-collector-config.yaml<\/pre><p>F&uuml;gen Sie der Datei die folgende Konfiguration hinzu. Diese Konfiguration empf&auml;ngt Daten aus Ihren Anwendungen und leitet sie an die richtigen Komponenten weiter:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">receivers:\n  otlp:\n    protocols:\n      http:\n        endpoint: 0.0.0.0:4318    # Listen on OTLP\/HTTP, port should match the Compose definition\n      grpc:\n        endpoint: 0.0.0.0:4317    # Listen on OTLP\/gRPC, optional\n\nprocessors:\n  batch: {}  # Batch processor, sends telemetry data in batches to improve performance\n\nexporters:\n  # Export metrics as a Prometheus scraping endpoint\n  prometheus:\n    endpoint: \"0.0.0.0:9464\"\n    # Enable conversion of Resource attributes to metric labels, ensuring service.name etc. appear in Prometheus labels\n    resource_to_telemetry_conversion:\n      enabled: true\n\n  # Export logs to Loki via OTLP HTTP (using Loki's native OTLP log receiver)\n  otlphttp\/loki:\n    endpoint: \"http:\/\/loki:3100\/loki\/api\/v1\/push\"  # Loki's OTLP log receiver HTTP API\n    # Loki receives OTLP logs using otlphttp exporter\n\n  # Export traces to Tempo via OTLP HTTP\n  otlphttp\/tempo:\n    endpoint: \"http:\/\/tempo:3200\/v1\/traces\"\n\n# Define processing pipelines for each type of telemetry data\nservice:\n  pipelines:\n    metrics:\n      receivers: [otlp]\n      processors: [batch]\n      exporters: [prometheus]        # Metrics are processed and exposed in Prometheus format\n    logs:\n      receivers: [otlp]\n      processors: [batch]\n      exporters: [otlphttp\/loki]     # Logs are processed and sent to Loki (OTLP HTTP)\n    traces:\n      receivers: [otlp]\n      processors: [batch]\n      exporters: [otlphttp\/tempo]     # Traces are processed and sent to Tempo (OTLP HTTP)<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5c7748\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5c7748\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"580\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-otel-collector-config-yaml.png\/public\" alt=\"Inhalt der Konfigurationsdatei des OpenTelemetry Collector\" class=\"wp-image-13287\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-otel-collector-config-yaml.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-otel-collector-config-yaml.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-otel-collector-config-yaml.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Bearbeiten Sie anschlie&szlig;end Ihre Datei <strong>docker-compose.yml <\/strong>und f&uuml;gen Sie den Dienst <strong>otel-collector <\/strong>unter dem bestehenden Abschnitt <strong>services <\/strong>hinzu:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">  otel-collector:\n    image: otel\/opentelemetry-collector-contrib:latest\n    container_name: otel-collector\n    volumes:\n      - .\/otel-collector-config.yaml:\/etc\/otel-collector-config.yaml:ro\n    command: [\"--config\", \"\/etc\/otel-collector-config.yaml\"]\n    ports:\n      - \"4318:4318\"                   # OTLP HTTP\n      - \"9464:9464\"                   # Prometheus metrics\n    depends_on:\n      - prometheus\n      - loki\n      - tempo<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a559de5c8ada\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a559de5c8ada\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" width=\"1024\" height=\"441\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-docker-compose-yml-otel-collector.png\/public\" alt=\"Der Inhalt des OpenTelemetry Collector-Dienstes in der Docker Compose-Datei\" class=\"wp-image-13288\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-docker-compose-yml-otel-collector.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-docker-compose-yml-otel-collector.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/29\/2026\/07\/terminal-nano-docker-compose-yml-otel-collector.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>Starten Sie nach der Aktualisierung der Compose-Datei alle Dienste neu, um die &Auml;nderungen zu &uuml;bernehmen:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose down -v\ndocker compose up -d<\/pre><p>Konfigurieren Sie anschlie&szlig;end Ihre App so, dass sie Telemetriedaten an den OpenTelemetry Collector sendet. Dies h&auml;ngt von der Sprache und dem Framework Ihrer App ab. Ein Beispiel:<\/p><p><strong>Node.js-basierte Apps<\/strong><\/p><p>Installieren Sie die erforderlichen OpenTelemetry-Pakete:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">npm install @opentelemetry\/sdk-node @opentelemetry\/exporter-trace-otlp-http @opentelemetry\/exporter-metrics-otlp-http @opentelemetry\/exporter-logs-otlp-http<\/pre><p>F&uuml;gen Sie diesen Initialisierungscode in Ihre App ein:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">const { NodeSDK } = require('@opentelemetry\/sdk-node');\nconst { OTLPTraceExporter } = require('@opentelemetry\/exporter-trace-otlp-http');\nconst { OTLPMetricExporter } = require('@opentelemetry\/exporter-metrics-otlp-http');\nconst { OTLPLogExporter } = require('@opentelemetry\/exporter-logs-otlp-http');\nconst sdk = new NodeSDK({\ntraceExporter: new OTLPTraceExporter({\nurl: 'http:\/\/localhost:4318\/v1\/traces'\n}),\nmetricExporter: new OTLPMetricExporter({\nurl: 'http:\/\/localhost:4318\/v1\/metrics'\n}),\nlogExporter: new OTLPLogExporter({\nurl: 'http:\/\/localhost:4318\/v1\/logs'\n}),\nserviceName: 'my-nodejs-app'\n});\nsdk.start();<\/pre><p><strong>Java-basierte Apps<\/strong><\/p><p>Laden Sie den OpenTelemetry Java-Agent herunter:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">curl -L -o opentelemetry-javaagent.jar https:\/\/github.com\/open-telemetry\/opentelemetry-java-instrumentation\/releases\/latest\/download\/opentelemetry-javaagent.jar<\/pre><p>F&uuml;hren Sie Ihre App mit dem integrierten Agenten aus und ersetzen Sie dabei <strong>my-app <\/strong>durch den Namen Ihres Dienstes:<\/p><pre class='EnlighterJSRAW \\\"EnlighterJSRAW\\\"' data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">java -javaagent:opentelemetry-javaagent.jar \\\n\n-Dotel.exporter.otlp.endpoint=http:\/\/localhost:4318 \\\n\n-Dotel.resource.attributes=service.name=my-app \\\n\n-jar your-application.jar<\/pre><p>Kehren Sie zu Ihrem Grafana-Dashboard zur&uuml;ck, um zu sehen, wie die Telemetriedaten Ihrer App eingehen. So erhalten Sie Echtzeit-Einblicke in deren Leistung, Protokolle und Ablaufverfolgungen.<\/p><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-conclusion\\\"'>Fazit<\/h2><p>Der LGTM-Stack vereint Protokolle, Metriken, Traces und Visualisierungen an einem Ort. Diese Integration hilft Ihnen, komplexe Systeme effektiver zu &uuml;berwachen, die Fehlerbehebung schneller durchzuf&uuml;hren und umsetzbare Erkenntnisse zur Leistungsoptimierung zu gewinnen.<\/p><p>In dieser Anleitung haben wir erl&auml;utert, wie Sie den LGTM-Stack auf einem VPS einrichten:<\/p><ol class=\"wp-block-list\">\n<li>Bereiten Sie Ihre Serverumgebung vor.<\/li>\n\n\n\n<li>Installieren und konfigurieren Sie Loki zur Erfassung von Protokollen.<\/li>\n\n\n\n<li>Richten Sie Mimir ein, um Metriken zu erfassen.<\/li>\n\n\n\n<li>Stellen Sie Tempo bereit, um verteilte Anfragen zu verfolgen.<\/li>\n\n\n\n<li>Integrieren Sie Grafana f&uuml;r eine zentralisierte Visualisierung.<\/li>\n\n\n\n<li>Definieren Sie Dienste mithilfe von Docker Compose.<\/li>\n\n\n\n<li>Melden Sie sich beim Grafana-Dashboard an.<\/li>\n\n\n\n<li>F&uuml;hren Sie Abfragen an Ihren Datenquellen durch.<\/li>\n\n\n\n<li>Erstellen Sie ein umfassendes Observability-Dashboard.<\/li>\n\n\n\n<li>Verbinden Sie Ihre Anwendungen &uuml;ber den OpenTelemetry Collector.<\/li>\n<\/ol><p>Um Ihre Observability-Konfiguration aufzustocken, k&ouml;nnen Sie LogQL, TraceQL und PromQL f&uuml;r erweiterte Abfragen nutzen. Sie k&ouml;nnen Ihrem Dashboard au&szlig;erdem Warnregeln hinzuf&uuml;gen, um Benachrichtigungen zu erhalten, wenn Leistungskennzahlen oder Protokolle kritische Schwellenwerte erreichen.<\/p><h2 class='wp-block-heading \\\"wp-block-heading\\\"' id='\\\"h-lgtm-stack-faq\\\"'>H&auml;ufig gestellte Fragen (FAQ) zum LGTM-Stack<\/h2><div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1783916462265\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Warum sollte ich den LGTM-Stack f&uuml;r die Observability nutzen?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Mit dem LGTM-Stack k&ouml;nnen Sie Metriken, Protokolle und Traces auf einer einzigen Plattform visualisieren. Er vereinfacht die &Uuml;berwachung, beschleunigt die Fehlerbehebung und liefert tiefere Einblicke, mit denen Sie die System- und Anwendungsleistung effizient optimieren k&ouml;nnen.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1783916463924\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Ist der LGTM-Stack Open Source?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Ja. Der LGTM-Stack ist vollst&auml;ndig Open Source. Seine Komponenten &ndash; Loki, Grafana, Tempo und Mimir &ndash; werden von Grafana Labs und der Entwickler-Community gepflegt, was die kostenlose Nutzung, Anpassung und Mitwirkung erm&ouml;glicht.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1783916464512\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Kann ich den LGTM-Stack in andere Tools integrieren?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Ja. Sie k&ouml;nnen den LGTM-Stack &uuml;ber Standardprotokolle und Exporter in verschiedene Observability- und &Uuml;berwachungstools wie den OpenTelemetry Collector integrieren. Dies erm&ouml;glicht eine flexible Datenerfassung und -visualisierung parallel zu Ihren bestehenden Systemen.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Richten Sie den LGTM-Stack mit Loki, Grafana, Tempo und Mimir ein und verbessern Sie die Observability Ihrer Systeme. [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/de\/tutorials\/lgtm-stack-einrichten\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":612,"featured_media":13266,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"LGTM-Stack einrichten f\u00fcr vollst\u00e4ndige Observability","rank_math_description":"Richten Sie den LGTM-Stack mit Loki, Grafana, Tempo und Mimir ein und verbessern Sie die Observability Ihrer Systeme.","rank_math_focus_keyword":"lgtm stack einrichten","footnotes":""},"categories":[25],"tags":[],"class_list":["post-13289","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps"],"hreflangs":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts\/13289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/users\/612"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/comments?post=13289"}],"version-history":[{"count":8,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts\/13289\/revisions"}],"predecessor-version":[{"id":13374,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/posts\/13289\/revisions\/13374"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/media\/13266"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/media?parent=13289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/categories?post=13289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/de\/tutorials\/wp-json\/wp\/v2\/tags?post=13289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}