Featured image of post Prometheus Docker Container installieren

Prometheus Docker Container installieren

Immer mehr Hardware, Nextcloud, Home Assistant, Syncthing, VMs, LXCs und gemietete Server. All diese Systeme sollten im Auge behalten werden.

Immer mehr Hardware, Nextcloud, Home Assistant, Syncthing, VMs, LXCs und gemietete Server. All diese Systeme sollten im Auge behalten werden. Natürlich ist es möglich sich immer wieder einzuloggen und zu schauen, ob alles passt, allerdings gibt es auch die Möglichkeit Daten zu sammeln, speichern und organisiert auf einem oder mehreren Dashboards anzuzeigen.

Prometheus ist dazu ein erster Schritt. Prometheus holt die Daten die unsere System freigeben und speichert diese ab. Nach einem definierten Zeitraum löscht Prometheus diese Daten auch wieder - 15 Tage behält es die Datem im Standard.

Installation

Auf dem Server mit dem Benutzer einloggen, der für Docker verwendet wird

Falls noch kein Docker auf dem Server installiert ist haben wir eine Anleitung dafür.

Verzeichnis für Docker erstellen und die docker-compose.yml anlegen

1
2
3
mkdir prometheus
cd prometheus
nano docker-compose.yml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
version: '3.2'

services:
  prometheus:
    container_name: prometheus
    hostname: prometheus
    image: prom/prometheus
    restart: unless-stopped
    ports:
      - "9090:9090"
    volumes:
      - ./data:/etc/prometheus
      - prometheus-data:/prometheus

volumes:
  prometheus-data:
    name: prometheus-data

Speichern und schließen mit Win: STRG+O, ENTER, STRG+X Mac: CONTROL+O, ENTER, CONTROL+X

“data”-Verzeichnis und Prometheus Konfigurationsdatei anlegen

1
2
3
sudo mkdir data
cd data
sudo nano prometheus.yml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
global:
  scrape_interval:     10s
  evaluation_interval: 10s

rule_files:
  # - "first.rules"
  # - "second.rules"

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']

Speichern und schließen mit Win: STRG+O, ENTER, STRG+X Mac: CONTROL+O, ENTER, CONTROL+X

Mit dieser Konfiguration bekommen wir Daten von unserem Prometheus Container.

Weitere Informationen zur Konfiguration gibt es auf prometheus.io oder unter dem Tag Prometheus.

Erreichbar ist die Prometheus Web Oberfläche über die Server-IP und den Port 9090, zum Beispiel 10.10.10.10:9090. Mit einem Klick auf Status -> Targets ist prometheus jetzt sichtbar und verbunden.

Prometheus Web-Interface - Ein Endpoint online

Die nächsten Schritte: Um Daten von weiteren Systemen zu sammeln, wird der node_exporter benötigt. Wie man den installiert, erfährst du in unserer Folgeanleitung.

Einige Systeme wie zum Beispiel Home Assistant oder OPNSense bieten Plugins an, um Daten für Prometheus bereitzustellen, auch darüber kannst du über den Tag Prometheus lesen.

Bei Anmerkungen oder Fragen kommt gerne auf unseren Discord.

Erstellt mit Hugo
Theme Stack gestaltet von Jimmy