<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Prometheus – teqqy</title><link>https://www.teqqy.de/tags/prometheus/</link><description>Ein Blog über Technik und mehr</description><language>de</language><managingEditor>teqqy</managingEditor><lastBuildDate>Fri, 31 Jul 2026 22:33:33 +0000</lastBuildDate><generator>Hugo 0.164.0</generator><atom:link href="https://www.teqqy.de/tags/prometheus/index.xml" rel="self" type="application/rss+xml"/><item><title>Docker Monitoring mit Prometheus und Grafana</title><link>https://www.teqqy.de/docker-monitoring-mit-prometheus-und-grafana/</link><pubDate>Thu, 20 Jun 2019 18:10:53 +0200</pubDate><lastBuildDate>Thu, 20 Jun 2019 18:10:53 +0200</lastBuildDate><guid isPermaLink="true">https://www.teqqy.de/docker-monitoring-mit-prometheus-und-grafana/</guid><description>Um das Docker Monitoring sollte man sich nicht drücken, denn es ist wichtig zu sehen, welche Auslastung die einzelnen Container verursachen. Zum einen um etwaige Probleme festzustellen und zum anderen um die Leistung des Docker Hosts evtl. anpassen zu können.
In meinem docker-homelab (externer Link) Repository auf Github (externer Link) habe ich vor kurzem ein Docker Compose Stack hinzugefügt, welche genau dies macht. Über die Monitoring Tools Prometheus (externer Link) , Node Exporter (externer Link) und cAdvisor (externer Link) werden die Daten erfasst und mittels Grafana (externer Link) ansprechend dargestellt.</description><content:encoded>&lt;![CDATA[<p>Um das Docker Monitoring sollte man sich nicht drücken, denn es ist wichtig zu sehen, welche Auslastung die einzelnen Container verursachen. Zum einen um etwaige Probleme festzustellen und zum anderen um die Leistung des Docker Hosts evtl. anpassen zu können.</p><p>In meinem<a href="https://github.com/cbirkenbeul/docker-homelab" target="_blank" rel="noopener noreferrer">docker-homelab<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Repository auf<a href="https://www.github.com/cbirkenbeul" target="_blank" rel="noopener noreferrer">Github<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
habe ich vor kurzem ein Docker Compose Stack hinzugefügt, welche genau dies macht. Über die Monitoring Tools<a href="https://prometheus.io" target="_blank" rel="noopener noreferrer">Prometheus<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
,<a href="https://github.com/prometheus/node_exporter" target="_blank" rel="noopener noreferrer">Node Exporter<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
und<a href="https://github.com/google/cadvisor" target="_blank" rel="noopener noreferrer">cAdvisor<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
werden die Daten erfasst und mittels<a href="https://grafana.com" target="_blank" rel="noopener noreferrer">Grafana<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
ansprechend dargestellt.</p><h2 id="docker-monitoring-einrichten">Docker Monitoring einrichten<a href="#docker-monitoring-einrichten" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Um das ganze wie im oben gezeigten Dashboard zu realisieren kann man sich meiner<a href="https://github.com/cbirkenbeul/docker-homelab/blob/master/monitoring/docker-compose.yaml" target="_blank" rel="noopener noreferrer">docker-compose.yaml<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Datei bedienen. Am einfachsten ist es natürlich man verwendet das komplette Repository, weil dort auch alle anderen Dateien für das Docker Monitoring vorhanden sind.</p><p>Grundsätzlich reicht es dann mit einem einfachen</p><div class="code-block"><div class="code-block-header"><span class="code-lang-label">bash</span><button class="code-copy-btn" type="button" aria-label="Code kopieren" data-umami-event="Code Copy" data-umami-event-lang="bash"><svg class="icon-copy" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg><svg class="icon-check" xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="20 6 9 17 4 12"/></svg></button></div><div class="highlight"><pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:2;-o-tab-size:2;tab-size:2;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>docker-compose up -d</span></span></code></pre></div></div><p>den kompletten Monitoring Stack zu starten. Solltest du kein<a href="/reverse-proxy-mit-traefik-unter-docker/">Traefik</a>
als Reverse Proxy nutzen kannst du in der docker-compose.yaml Datei auch den Bereich der Labels sowie die Netzwerkdefinition weg lassen.</p><p>Anschließend verbindet man sich über den gewünschten Browser mit dem Grafana Dashboard und loggt sich mit<em><strong>admin/admin</strong></em> dort ein.</p><p>Im ersten Schritt muss man nun die Datenquelle hinzufügen. Im Dashboard bedarf es hier nur ein klick. Als Datenquelle verwenden wir entsprechend Prometheus.</p><p>Es müssen dann nur die Felder Name und URL gefüllt werden. Sollte das vordefinierte Dashboard aus dem Repository verwendet werden, sollte die Datenquelle den Namen „Prometheus“ tragen. Als URL wird<strong>http://mon_prometheus:9090</strong></p><p>eingetragen. Es sollte bei dir dann analog zu diesem Screenshot aussehen:</p><p>Sobald man auf<em><strong>Save &amp; Test</strong></em> geklickt hat, sollte ein grüner Balken erscheinen der die erfolgreiche Verbindung bestätigt.</p><h2 id="grafana-dashboard-importieren">Grafana Dashboard importieren<a href="#grafana-dashboard-importieren" class="heading-anchor" aria-label="Diesen Abschnitt verlinken"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg></a></h2><p>Nun müssen wir nur noch das Grafana Dashboard importieren um das Docker Monitoring zu vervollständigen.</p><p>Hierfür klickt man links auf<em><strong>Dashboard</strong></em> und anschließend auf<em><strong>manage</strong></em>.</p><p>Über den Button importieren kann man nun die<a href="https://github.com/cbirkenbeul/docker-homelab/blob/master/monitoring/grafana/dashboard.json" target="_blank" rel="noopener noreferrer">dashboard.json<svg class="link-external-icon" aria-hidden="true" focusable="false" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg><span class="visually-hidden"> (externer Link)</span></a>
Datei hinzufügen. Es muss dann nur noch die korrekte Datenquelle angegeben werden und schon sollte das Dashboard entsprechend Werte anzeigen.</p>
]]></content:encoded><category>selfhosted</category><category>docker</category><category>monitoring</category><category>prometheus</category><category>grafana</category></item></channel></rss>