Netdata ist ein Open-Source-Tool, das darauf abzielt, die Komplexität der IT-Überwachung zu reduzieren und gleichzeitig hochauflösende Daten und Echtzeitvisualisierungen bereitzustellen. Netdata sammelt und visualisiert Daten in Sekundentakt, was es ideal für die schnelle Erkennung von Anomalien und Leistungsproblemen macht. Mit einem integrierten Web-Dashboard bietet Netdata eine intuitive Benutzeroberfläche, die es ermöglicht, Daten von über 300 verschiedenen Diensten und Geräten zu überwachen.
Diese Anleitung wurde von Peter per E-Mail eingereicht. Vielen Dank dafür.
Datum | Änderungen |
---|---|
27.09.2024 | Erstellung dieser Anleitung. |
1. Grundvoraussetzung
- Docker & Docker Compose v2 (Debian / Ubuntu)
- TRAEFIK V2 + 3 – REVERSE-PROXY MIT CROWDSEC IM STACK EINRICHTEN
2. Verzeichnis erstellen
Dazu gebt ihr folgenden Befehl ein:
mkdir -p /opt/containers/netdata
3. Docker Compose erstellen
Nun erstellen wir uns eine neue Docker Compose Datei.
nano /opt/containers/netdata/docker-compose.yml
Kopiert nun folgenden Inhalt:
services: netdata: image: netdata/netdata container_name: netdata pid: host volumes: - "./netdataconfig:/etc/netdata" - "./netdatalib:/var/lib/netdata" - "./netdatacache:/var/cache/netdata" - "/etc/passwd:/host/etc/passwd:ro" - "/etc/group:/host/etc/group:ro" - "/proc:/host/proc:ro" - "/sys:/host/sys:ro" - "/etc/os-release:/host/etc/os-release:ro" labels: - "traefik.enable=true" - "traefik.http.routers.netdata.entrypoints=websecure" - "traefik.http.routers.netdata.rule=(Host(`netdata.euredomain.de`))" - "traefik.http.routers.netdata.tls=true" - "traefik.http.routers.netdata.tls.certresolver=http_resolver" - "traefik.http.routers.netdata.service=netdata" - "traefik.http.services.netdata.loadbalancer.server.port=19999" - "traefik.docker.network=proxy" - "traefik.http.routers.netdata.middlewares=default@file,traefikAuth@file" restart: unless-stopped cap_add: - SYS_PTRACE - SYS_ADMIN security_opt: - apparmor:unconfined networks: - proxy volumes: netdataconfig: netdatalib: netdatacache: networks: proxy: external: true
Noch anzupassen:
- eure Domain bei Traefik (netdata.euredomain.de)
4. Authentifizierung
Standardmäßig stellt Netdata keine Authenfizierung zur Verfügung, wodurch jeder Zugriff auf das Dashboard bekommt. Netdata hat hier eine Liste mit Möglichkeiten zum Schutz veröffentlicht. Aktuell wird die Authentifizierung von Traefik genutzt:
- "traefik.http.routers.netdata.middlewares=default@file,traefikAuth@file"
Diese könnt ihr leicht abschalten indem ihr den Code so abändert:
- "traefik.http.routers.netdata.middlewares=default@file"
5. CrowdSec Whitelist erstellen
Beim Test wurde ich einige Male gebannt. Daher erstellen wir uns noch eine Whitelist.
nano /opt/containers/traefik-crowdsec-stack/crowdsec/config/parsers/s02-enrich/whitelist-netdata.yaml
Inhalt:
name: whitelist-netdata description: "Whitelist for netdata" whitelist: reason: "Exclude URL to solve http-probing errors" expression: - evt.Meta.http_path contains '/api/v2/data'
Nun starten wir CrowdSec neu, damit die Einstellungen übernommen werden.
docker compose -f /opt/containers/traefik-crowdsec-stack/docker-compose.yml up -d --force-recreate
6. Netdata starten
Zum Starten gebt ihr folgendes ein:
docker compose -f /opt/containers/netdata/docker-compose.yml up -d
Nun wartet ihr eine Minute und dann geht ihr auf eure Homepage und solltet folgendes sehen.